Linux Buildroot Errors/Warnings #1361
Replies: 10 comments 14 replies
-
|
Hi Piet. I would really like to resolve your issues with the Wally's FPGA boot. I have more available time now. If we cannot resolve this over text, I can meet over video chat. After you built using just 'Make' what command did you use to flash the sd card? I get the same cpio error, but I successfully boot into Linux. The cpio error will have to a separate investigation. Here are the exact commands I'm running to boot the Arty A7. I ran on the latest version of the repo. Can you confirm any differences? Plug in the Arty A7. |
Beta Was this translation helpful? Give feedback.
-
|
I can't see why any of that would cause an issue. We can certainly enable OpenSBI debug mode. Since you didn't use OpenSBI at Tensilica, what did you use for the firmware? One thing which will probably be useful to add is the in-circuit logic analyzer (ILA) debugger with probes in the UART device so we can see the characters transmitted to the serial console in the hardware. There is already a debugger script, but we'll need a to add a few signals to it, fpga/constraints/small-debug-uart.xdc. You'll need to change fpga/generator/wally.tcl line 101 to source this file. I'll update the xdc and marked_debug file. You'll need to resynthesize the fpga after to have these in the ILA. Rose |
Beta Was this translation helpful? Give feedback.
-
|
Wondering what you meant by "I'll update the xdc and marked_debug file". What is the XDC? |
Beta Was this translation helpful? Give feedback.
-
|
I looked over your debug changes. Maybe a git branch with these changes and an example of before and after screen I've used git branches for experimentation. I don't see any precedent in your git branches for debug hacks. |
Beta Was this translation helpful? Give feedback.
-
|
Rose: I could pull from your Git repo on github and use a debug branch with your uart changes for debugging. https://github.com/rosethompson/cvw Curious why debugging OpenSBI requires changes like this. I pulled a copy of OpenSBI and took a look. The device tree was started after the 2.69 kernel I worked on at Tensilica . Buildroot just had to put it in memory and it was a stand alone program; debuggable with gdb. I use to use jtag and gdb on the buildroot code and then switch objects just as buildroot was jumping to the linux kernel. -piet |
Beta Was this translation helpful? Give feedback.
-
|
Wally does not implement the RISC-V debug (D) extension yet. This is how we would extract data through JTAG. A about a year ago a grad student was working on the D extension but he graduated and the work was unfinished. Dr. James Stine is hoping to continue this with another student this summer. Presently we use the ILA (in-circuit logic analyzer) to debug FPGA issues. It is similar to a bench top logic analyzer were you would connect probes into the circuit, except this is built into the FPGA itself. You then set triggers to capture the internal probes. The xdc defines which signals (Wally buses, registers, etc) are captured by the ILA. We aren't modifying OpenSBI, just the FPGA implementation. By adding specific UART registers, such as the transmit buffer register, the status and control registers we can see what is happening when the UART scrambles the messages.
This makes the ILA functional for the Arty A7, the frequency has to be less than 50% of the main clock (20MHz). You're idea of a branch on my repo is a good one, https://github.com/rosethompson/cvw/tree/uart-discussion-1361. Using the ILA is bit convoluted. We need to set the trigger to a write to the UART's transmit buffer, write to physical address 0x1000_0000. Set the trigger condition to be IEUAdrM = 10000000 and MemRWM = 1, InstrValidM = 1. Then press the single arrow ">" to set the trigger while OpenSBI is outputting the mangled messages. Beyond this, I would love to have a HIFI Wally. Let's see if we can get past the current issue. |
Beta Was this translation helpful? Give feedback.
-
|
Buildroot stopped after an error timing out on a WGET. Sigh. |
Beta Was this translation helpful? Give feedback.
-
|
Good News Rose, you repo builds Linux and boots fine. I didn't try the: +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ minicomWelcome to minicom 2.9 OPTIONS: I18n Press CTRL-A Z for help on special keys ** Avnet/Digilent Arty Evaluation Board ** ** █▀█ █▀█ █▀█ █▀▀ █ █ \ \ / / / \ | | | | \ \ / / [0.05343] Initializing SPI Controller. OpenSBI v1.6 / __ \ / | _ _ | Platform Name : wally-virt,qemu Domain0 Name : root Boot HART ID : 0 init started: BusyBox v1.36.1 (2025-04-18 21:53:45 PDT) BusyBox v1.36.1 (2025-04-18 21:53:45 PDT) built-in shell (ash) Hello this ~/.profile is meant to demonstrate running some basic commands on Wa. BusyBox v1.36.1 (2025-04-18 21:53:45 PDT) built-in shell (ash) psPID USER VSZ STAT COMMAND [ 199.206106] random: crng init done++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
Beta Was this translation helpful? Give feedback.
-
|
Wonder why your repo boots fine but the std repo isn't or wasnt. I looked over the ILA documentation on line a bit. Looks like a usefull tool, though JTAG and GDB seem like a more likely matched took as the processor was running fine. I'll give your ILA debug suggestion a try now. Thanks. |
Beta Was this translation helpful? Give feedback.
-
|
Piet, I am very pleased you got it working. I think @JacobPease might know why the standard repo won't work, but our custom one does. I know there are configuration options which are specific to Wally, but I thought everything was set by the device tree. Sounds like there is more to it. Again, we currently don't support JTAG because Wally does not currently implement the Debug extension. This is something we wish to add in the future. Your struggles highlight just how important the D extension will be for software developers. In the meantime you have a great deal more experience with Linux and the software environment than any of the hardware developers on our team. You've mentioned a few changes including JTAG, not using OpenSBI, and something with init ramfs (I can't recall what it was). Other than the D extension (JTAG), could you briefly summarize what you think should be changed and why? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
I still don't have Wally Booting after it jumps into OpenSBI mechanism.
I tried building Linux with just "Make' and wonder why there are so many warnings
When I maintained linux, BuoldRoot and BusyBox for Tensilica's Xtensa FPGA builds
I don't recall allowing any weird stuff in the build process.
Example:
cpio -id -D buildroot/output/images/disassembly/rootfs -F buildroot/output/images/rootfs.cpio
cpio: dev/console: Cannot mknod: Operation not permitted
cpio: buildroot/output/images/disassembly/rootfs: Cannot change mode to rwxrwxr-x: No such file or directory
143364 blocks
make: [Makefile:95: buildroot/output/images/disassembly/rootfs] Error 2 (ignored)_
Beta Was this translation helpful? Give feedback.
All reactions