Bug 220041 - Raspberry Pi Zero 0 W does not boot (halts at U-Boot prompt)
Summary: Raspberry Pi Zero 0 W does not boot (halts at U-Boot prompt)
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: arm (show other bugs)
Version: CURRENT
Hardware: arm Any
: --- Affects Many People
Assignee: freebsd-arm mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-16 10:06 UTC by Benedict Reuschling
Modified: 2019-12-28 15:58 UTC (History)
4 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Benedict Reuschling freebsd_committer 2017-06-16 10:06:05 UTC
The Raspberry Pi 0 W does not boot with the latest ARMv6 RPI-B SD-card image. The same image works successfully on the Raspberry Pi 0 (Camera and no camera edition) and boots to a login prompt. The W version does not seem to go beyond the U-Boot prompt, as reported here:

https://www.raspberrypi.org/forums/viewtopic.php?t=179244&p=1143307

On the RPI0 without WiFi/Bluetooth, the next kernel message after the U-Boot prompt is "starting USB", so maybe there is something wrong or different in the RPI0-W? Unfortunately, I can't enter anything at the U-Boot prompt, so it is difficult to enter any diagnostic messages.

I can test images/patches and report back my findings. I can also bring the device to BSDCam or other conferences for hands-on tests.

Thanks!
Comment 1 Helge Oldach 2017-12-03 10:04:50 UTC
I suggest to add 

device_tree=rpi.dtb
device_tree_address=0x100

to the config.txt file in the MSDOS partition.
Comment 2 Benedict Reuschling freebsd_committer 2017-12-03 11:14:42 UTC
Thanks for the tip, Helge. Did you try that yourself or did you read it somewhere?
Ilya, can you confirm that this works on the RPI 0 W?
Comment 3 Helge Oldach 2017-12-03 13:36:00 UTC
(In reply to Benedict Reuschling from comment #2)
I found this is needed for my RPI-B (which is based on the same BCM2835 as the Zero and Zero W). Without explicit device tree, my RPI-B throws the same error. Note that both settings are indeed needed.

These two lines are in the config.txt of the 11.1-RELEASE images for RPI-B (originating from the sysutils/rpi-firmware port) but for some reason had been removed recently.
Comment 4 Helge Oldach 2017-12-18 20:47:55 UTC
I suspect this is related to bug #218344 which should be fixed by base r322694 in CURRENT and base r326951 in 11-STABLE.
Comment 5 Martin FIlla 2019-12-28 15:57:15 UTC
(In reply to Helge Oldach from comment #4)
I have this same issue with model rpi zero. 
Here is log: 

�!MMC:   mmc@7e300000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
Bus usb@7e980000: scanning bus usb@7e980000 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0 
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found EFI removable media binary efi/boot/bootarm.efi
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Scanning disk mmc@7e300000.blk...
Found 3 disks
BootOrder not defined
EFI boot manager: Cannot load any image
664768 bytes read in 66 ms (9.6 MiB/s)
libfdt fdt_check_header(): FDT_ERR_BADMAGIC
Consoles: EFI console  
    Reading loader env vars from /efi/freebsd/loader.env
Setting currdev to disk0p1:
FreeBSD/arm EFI loader, Revision 1.1
(Thu Dec 26 08:31:23 UTC 2019 root@releng1.nyi.freebsd.org)

   Command line arguments: l
   Image base: 0x1aa90000
   EFI version: 2.80
   EFI Firmware: Das U-Boot (rev 8217.4096)
   Console: efi (0x1000)
   Load Path: /efi\boot\bootarm.efi
   Load Device: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x42f,0x18fa8)
Trying ESP: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(1,0x01,0,0x42f,0x18fa8)
Setting currdev to disk0p1:
Trying: /VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/SD(0)/SD(0)/HD(2,0x01,0,0x193d7,0x3b58c29)
Setting currdev to disk0p2:
Loading /boot/defaults/loader.conf
Loading /boot/device.hints
Loading /boot/loader.conf
Loading /boot/loader.conf.local
Loading kernel...
/boot/kernel/kernel text=0x6c720c data=0x869f8 data=0x0+0x254000 syms=[0x4+0xd5ae0+0x4+0xd6bc9]
Loading configured modules...
/boot/entropy size=0x1000
/boot/kernel/umodem.ko text=0x1be0 text=0x1340 data=0x2b8+0x8 syms=[0x4+0x1090+0x4+0xbd9]
loading required module 'ucom'
/boot/kernel/ucom.ko text=0x1f54 text=0x2f70 data=0x4c8+0x83c syms=[0x4+0x14f0+0x4+0xc5d]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...               
Using DTB provided by EFI at 0x7ef6000.
Kernel entry at 0x14c00180...
Kernel args: (null)
\
Comment 6 Martin FIlla 2019-12-28 15:58:59 UTC
(In reply to Helge Oldach from comment #4)
I have issue also version FreeBSD 12.1, 13-Current