rpi4b main-n245392-8423f5d4c12 won't boot due to microsd timeout (13.0-RC2 not good for RPi* firmware)

Mark Millard marklmi at yahoo.com
Sat Mar 13 01:03:42 UTC 2021



On 2021-Mar-12, at 16:29, Mark Millard <marklmi at yahoo.com> wrote:

> On 2021-Mar-12, at 15:36, tech-lists <tech-lists at zyxst.net> wrote:
> 
>> On Fri, Mar 12, 2021 at 10:59:09AM -0800, Mark Millard wrote:
>>> 
>>> FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20210311-15565e0a217-257277.img.xz
>> 
>> I saved the working kernel.old image and wrote
>> FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20210311-15565e0a217-257277.img
>> to the microsd, added latest start4.elf and fixup4.dat and u-boot and
>> confirm this won't boot with usb stuff attached, which I think is a
>> different issue?
> 
> Different issue and a commit of the intended fix has
> been made for the USB storage device handling problem
> in the FreeBSD kernel.
> 
>> Consoles: EFI console      Reading loader env vars from /efi/freebsd/loader.env
>>   Setting currdev to disk0p1:
>>   FreeBSD/arm64 EFI loader, Revision 1.1
>>   (Thu Mar 11 07:29:18 UTC 2021 root at releng1.nyi.freebsd.org)
>> 
>>      Command line arguments: loader.efi
>>      Image base: 0x39df7000
>>      EFI version: 2.80
>>      EFI Firmware: Das U-Boot (rev 8224.4096)
>>      Console: comconsole (0)
>> 
>> root at generic:/boot/msdos # strings start4.elf | grep VC_BUILD_ID_
>> VC_BUILD_ID_USER: dom
>> VC_BUILD_ID_TIME: 12:10:40
>> VC_BUILD_ID_VARIANT: start
>> VC_BUILD_ID_TIME: Feb 25 2021
>> VC_BUILD_ID_BRANCH: bcm2711_2
>> VC_BUILD_ID_HOSTNAME: buildbot
>> VC_BUILD_ID_PLATFORM: raspberrypi_linux
>> VC_BUILD_ID_VERSION: 564e5f9b852b23a330b1764bcf0b2d022a20afd0 (clean)
>> 
>> I'm going to try building a no-debug kernel next
> 
> You could potentially build code with the intended
> fix in it -- either debug or non-debug.
> 
>> thanks for your help. I'll close the bugzilla ticket.
> 
> You are welcome.
> 
> The Continuous Integration builds involving the
> committed fix for the USB storage device panic by
> the debug kernels have started (first builds for
> each platform might be done). For aarch64:
> 
> https://artifact.ci.freebsd.org/snapshot/main/7381bbee29df959e88ec59866cf2878263e7f3b2/arm64/aarch64/
> 
> has such materials already, including kernel.txz and
> kernel-dbg.txz . I mounted the ufs file system on the
> microsd card that was previously initialized from:
> 
> FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20210311-15565e0a217-257277.img.xz
> 
> I mounted that as /mnt and updated the media via:
> 
> # tar -xpf kernel.txz -C /mnt/
> # tar -xpf kernel-dbg.txt -C /mnt/
> 
> I then dismounted. So I now have microsd card media
> with a debug main kernel that handles USB storage
> media again on the RPi4B 8 GiByte and such --until
> the next normal snapshot that happens to be in
> working order from which I could update that media
> again.
> 
> One property of:
> 
> https://artifact.ci.freebsd.org/snapshot/
> 
> materials is that they stick around for about a year.
> Another is that for any specific platform, only some
> commits are built. Which commits are built can vary
> by platform.
> 
> (I do not normally use debug builds. But I'm updating
> the non-debug ones to be based on a commit that spans
> the fix as well.)


Unfortunately, FreeBSD-13.0-RC2-arm64-aarch64-RPI.img
still has older RPi* firmware that does not work:

After initalizing a microsd card from:

FreeBSD-13.0-RC2-arm64-aarch64-RPI.img

and mounting it on /mnt , I see:

# strings /mnt/start4.elf | grep VC_BUILD_ID_
VC_BUILD_ID_USER: dom
VC_BUILD_ID_TIME: 22:19:57
VC_BUILD_ID_VARIANT: start
VC_BUILD_ID_TIME: Jan 27 2021
VC_BUILD_ID_BRANCH: bcm2711_2
VC_BUILD_ID_HOSTNAME: buildbot
VC_BUILD_ID_PLATFORM: raspberrypi_linux
VC_BUILD_ID_VERSION: 99d9a48302e4553cff3688692bb7e9ac760a03fa (clean)


By contrast doing similarly with:

FreeBSD-14.0-CURRENT-arm64-aarch64-RPI-20210311-15565e0a217-257277.img

and looking a the /mnt , I see:

# strings /mnt/start4.elf | grep VC_BUILD_ID_
VC_BUILD_ID_USER: dom
VC_BUILD_ID_TIME: 12:10:40
VC_BUILD_ID_VARIANT: start
VC_BUILD_ID_TIME: Feb 25 2021
VC_BUILD_ID_BRANCH: bcm2711_2
VC_BUILD_ID_HOSTNAME: buildbot
VC_BUILD_ID_PLATFORM: raspberrypi_linux
VC_BUILD_ID_VERSION: 564e5f9b852b23a330b1764bcf0b2d022a20afd0 (clean)


The Feb 25 2021 firmware works on various RPI4B's
and the Jan 27 2021 does not, for example.

This means that 13.0-RC2 is not an appropriate
basis for the msdos file system content.

(I've not checked u-boot .)

Replacing the older with a copy of the newer would
be an option.



===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list