Re: U-boot for Raspberry PI
Hello, thank you for prompt replies!
I used the default U-boot, however now I am stuck in the next phase of
booting - specifically loading and booting the sel4 test image.
Following the instructions in the docs (
https://docs.sel4.systems/Hardware/Rpi4.html) I do:
*U-Boot> fatload mmc 0 0x10000000 sel4test-driver-image-arm-bcm2711**
Reading file would overwrite reserved memory **Failed to load
'sel4test-driver-image-arm-bcm2711*
Which is odd. Perhaps the memory map on Rpi has changed recently?
Picking another memory location gets me further (although it is unclear
that it is a correct location):
*U-Boot> fatload mmc 0 0x00008000 sel4test-driver-image-arm-bcm27115164988
bytes read in 235 ms (21 MiB/s)U-Boot> bootefi 0x00008000*
Now, the image gets loaded but the boot fails with an seL4 assertion fail:
*U-Boot> bootefi 0x00008000Card did not respond to voltage select! : -110No
EFI system partitionBooting /sel4test-driver-image-arm-bcm2711ELF-loader
started on CPU: ARM Ltd. Cortex-A72 r0p3
paddr=[6603000..ffffffffffffffff] dtb=6af2000Looking for DTB in CPIO
archive...found at 674d958.Loaded DTB from 674d958.
paddr=[123f000..1245fff]ELF-loading image 'kernel' to 1000000
paddr=[1000000..123efff] vaddr=[ffffff8001000000..ffffff800123efff]
virt_entry=ffffff8001000000ELF-loading image 'sel4test-driver' to 1246000
paddr=[1246000..164bfff] vaddr=[400000..805fff] virt_entry=40ef20Enabling
MMU and pagingJumping to kernel-image entry point...Bootstrapping
kernelavailable phys memory regions: 3 [1000000..3b400000]
[40000000..fc000000] [100000000..200000000]reserved virt address space
regions: 3 [ffffff8001000000..ffffff800123f000]
[ffffff800123f000..ffffff800124556b]
[ffffff8001246000..ffffff800164c000]Booting all finished, dropped to user
spaceseL4 failed assertion 'isSchedulable(candidate)' at
/tmp/kernel/src/kernel/thread.c:371 in function schedulehalting...Kernel
entry via Interrupt, irq 0*
Any suggestions what am I missing?
Regards
Michal
On Thu, Jan 19, 2023 at 5:53 PM Sudvarg, Marion
I have a version of U-boot that works. I would have to go back through piles of notes to see what I did to make it work, but I can share the file with you if it's helpful.
I also had to change config.txt to set the GPU and coprocessor frequency to a fixed value; I had issues with boot (which is handled by the GPU) and UART without that.
Happy to help with the process if you like.
Marion Sudvarg Washington University in St. Louis
-----Original Message----- From: mpodhradsky@galois.com
Sent: Thursday, January 19, 2023 7:02 PM To: devel@sel4.systems Subject: [seL4] U-boot for Raspberry PI Hello!
The instructions for building seL4 for Raspberry Pi 3 and 4 mention ask for a custom compiled U-boot. The note mentions that an automatic revert of the specified commit no longer works. Is this patched U-boot still necessary, or will a vanilla version work? If the customization is still needed, do you have a modified version available? It is not clear how to modify the recent U-boot, since it has changed significantly.
Regards Michal _______________________________________________ Devel mailing list -- devel@sel4.systems To unsubscribe send an email to devel-leave@sel4.systems
Hello! The instructions for building seL4 for Raspberry Pi 3 and 4 mention ask for a custom compiled U-boot. The note mentions that an automatic revert of the specified commit no longer works. Is this patched U-boot still necessary, or will a vanilla version work? If the customization is still needed, do you have a modified version available? It is not clear how to modify the recent U-boot, since it has changed significantly. Regards Michal
Hello
I have found that a mainline U-Boot works for both Rapsberry Pi 3 and 4. I don't think it is necessary to revert the commit anymore. It's on my to-do list to update the documentation.
Ivan
________________________________
From: mpodhradsky@galois.com
On 1/19/23 7:01 PM, mpodhradsky@galois.com wrote:
The note mentions that an automatic revert of the specified commit no longer works.
The automatic revert fails because the default renameLimit is too low in git. If you run: git config merge.renameLimit 999999 git revert 995eab8b5b580b67394312b1621c60a71042cd18 the revert and subsequent build of u-boot succeeds. -- Edward Sandberg Research Engineer Galois, Inc
I compiled and booted using the reverted u-boot and I am seeing similar behavior to what you are seeing with the newest u-boot. I've gotten this working in the past so either something has changed or I am forgetting a required step. The specified memory location fails to load the image. Shifting the location works but fails to boot: U-Boot> fatload mmc 0 0x10000000 sel4test-driver-image-arm-bcm2711 ** Reading file would overwrite reserved memory ** Failed to load 'sel4test-driver-image-arm-bcm2711' U-Boot> fatload mmc 0 0x1000800 sel4test-driver-image-arm-bcm2711 5193660 bytes read in 251 ms (19.7 MiB/s) U-Boot> bootefi 0x1000800 Card did not respond to voltage select! : -110 No EFI system partition No EFI system partition Failed to persist EFI variables Booting /sel4test-driver-image-arm-bcm2711 That is as much output as I get. Here is my config.txt, perhaps I am missing a setting here: enable_uart=1 kernel=u-boot.bin arm_64bit=1 dtoverlay=disable-bt core_freq=250 dtparam=spi=on On 1/20/23 18:07, Michal Podhradsky wrote:
Hello, thank you for prompt replies! I used the default U-boot, however now I am stuck in the next phase of booting - specifically loading and booting the sel4 test image.
Following the instructions in the docs ( https://docs.sel4.systems/Hardware/Rpi4.html) I do:
*U-Boot> fatload mmc 0 0x10000000 sel4test-driver-image-arm-bcm2711** Reading file would overwrite reserved memory **Failed to load 'sel4test-driver-image-arm-bcm2711*
Which is odd. Perhaps the memory map on Rpi has changed recently?
Picking another memory location gets me further (although it is unclear that it is a correct location):
*U-Boot> fatload mmc 0 0x00008000 sel4test-driver-image-arm-bcm27115164988 bytes read in 235 ms (21 MiB/s)U-Boot> bootefi 0x00008000*
Now, the image gets loaded but the boot fails with an seL4 assertion fail:
*U-Boot> bootefi 0x00008000Card did not respond to voltage select! : -110No EFI system partitionBooting /sel4test-driver-image-arm-bcm2711ELF-loader started on CPU: ARM Ltd. Cortex-A72 r0p3 paddr=[6603000..ffffffffffffffff] dtb=6af2000Looking for DTB in CPIO archive...found at 674d958.Loaded DTB from 674d958. paddr=[123f000..1245fff]ELF-loading image 'kernel' to 1000000 paddr=[1000000..123efff] vaddr=[ffffff8001000000..ffffff800123efff] virt_entry=ffffff8001000000ELF-loading image 'sel4test-driver' to 1246000 paddr=[1246000..164bfff] vaddr=[400000..805fff] virt_entry=40ef20Enabling MMU and pagingJumping to kernel-image entry point...Bootstrapping kernelavailable phys memory regions: 3 [1000000..3b400000] [40000000..fc000000] [100000000..200000000]reserved virt address space regions: 3 [ffffff8001000000..ffffff800123f000] [ffffff800123f000..ffffff800124556b] [ffffff8001246000..ffffff800164c000]Booting all finished, dropped to user spaceseL4 failed assertion 'isSchedulable(candidate)' at /tmp/kernel/src/kernel/thread.c:371 in function schedulehalting...Kernel entry via Interrupt, irq 0*
Any suggestions what am I missing?
Regards Michal
On Thu, Jan 19, 2023 at 5:53 PM Sudvarg, Marion
wrote: I have a version of U-boot that works. I would have to go back through piles of notes to see what I did to make it work, but I can share the file with you if it's helpful.
I also had to change config.txt to set the GPU and coprocessor frequency to a fixed value; I had issues with boot (which is handled by the GPU) and UART without that.
Happy to help with the process if you like.
Marion Sudvarg Washington University in St. Louis
-----Original Message----- From: mpodhradsky@galois.com
Sent: Thursday, January 19, 2023 7:02 PM To: devel@sel4.systems Subject: [seL4] U-boot for Raspberry PI Hello!
The instructions for building seL4 for Raspberry Pi 3 and 4 mention ask for a custom compiled U-boot. The note mentions that an automatic revert of the specified commit no longer works. Is this patched U-boot still necessary, or will a vanilla version work? If the customization is still needed, do you have a modified version available? It is not clear how to modify the recent U-boot, since it has changed significantly.
Regards Michal _______________________________________________ Devel mailing list -- devel@sel4.systems To unsubscribe send an email to devel-leave@sel4.systems
_______________________________________________ Devel mailing list -- devel@sel4.systems To unsubscribe send an email to devel-leave@sel4.systems
FYI I tried the same script on a different RPi 4 B+ and it works as expected, so it must have been some faulty hardware. Thank you all for help!
participants (4)
-
ed sandberg
-
Ivan Velickovic
-
Michal Podhradsky
-
mpodhradsky@galois.com