Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: RPI4 (8GB) + UEFI -> bricked?



> On Aug 21, 2021, at 12:07 PM, Jason Thorpe <thorpej%me.com@localhost> wrote:
> 
>> 
>> On Aug 21, 2021, at 11:11 AM, Tobias Nygren <tnn%netbsd.org@localhost> wrote:
>> 
>> On Sat, 21 Aug 2021 10:52:06 -0700
>> Jason Thorpe <thorpej%me.com@localhost> wrote:
>> 
>>> The first stage loader (presumably in mask ROM) is able to load the second stage loader (i.e. "VIC-20 mode" :-) from SPI just fine.  If I remove start4.elf from the ESP then I can watch the second stage loader cycle through the boot order:
>>> 
>>> 	https://share.icloud.com/photos/07VV-jR8vYTJSBgkUJx5WI5KQ
>>> 
>>> So it seems that it's the code in start4.elf that's going off the rails, and I'm just using the one that came with the UEFI bundle.
>> 
>> You should not see that screen at all.
> 
> Yes, I know. I forced it by removing start4.elf to demonstrate that the second stage loader was being fetched from the SPI EEPROM correctly.

Ok, fresh image from nycdn ... trying the basic arm64mbr image first (no GPT).  The firmware we're distributing with these images is no longer compatible with the latest RPI 4 secondary loader:

	https://share.icloud.com/photos/0dcu-M2X63UfHdBte0SVQ7DFA

In any case, it's clearly able to read the files from the FAT partition.

If I replace them with the start4.elf and fixup4.dat files from the UEFI bundle, no rainbow square, and I assume it has loaded our kernel, but I'm treated to a blank screen on the HDMI.

So, I removed all of the contents and replaced with the UEFI bundle, and it booted into UEFI, so that's progress.  I waited for the timeout to pass and it started our boot loader and stared loading the kernel.

At this point, I interrupted it so I could go change the "3GB limit" setting.  After doing that, however, now it seems to not load our boot loader.

I'm going to re-image the SD card and try again.

> 
>> After it has loaded UEFI
>> firmware, it will instead show a full screen Raspberry PI logo with the
>> prompt below on both the HDMI ports and serial console.
> 
> Right, the problem is that it (start4.elf, I guess, since that's what supposed to be driving the boot process after the secondary loader) is not loading the UEFI firmware.
> 
>> ESC (setup), F1 (shell), ENTER (boot)...
>> 
>> I think your RPI has trouble reading the FAT partition itself.
>> I'm not sure how the prebuilt NetBSD images are laid out.
>> What I have on my SD card is ...
>> 
>> 0: Primary DOS with 32 bit FAT - LBA (sysid 12)
>>   start 64, size 524224 (256 MB, Cyls 0-32/162/2)
>> 
>> ... onto which I did newfs_msdos(8), unzipped the UEFI firmware,
>> installed /efi/boot/bootaa64.efi and nothing else.
> 
> Here's what mine is... (again, from Jared's Generic-64 image):
> 
> dhcp-178:thorpej$ sudo fdisk /dev/rdisk4
> Disk: /dev/rdisk4	geometry: 3891/255/63 [62521344 sectors]
> Signature: 0xAA55
>         Starting       Ending
> #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
> ------------------------------------------------------------------------
> *1: 0C    2  10   9 -   12  60  48 [     32768 -     163840] Win95 FAT32L
> 2: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
> 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
> 4: EE    0   0   2 -    2  10   8 [         1 -      32767] <Unknown ID>
> dhcp-178:thorpej$ 
> 
> This should be exactly the one that's produced by the NetBSD daily builds (i.e. there's no u-boot injected into this one).  But I'll fetch one from the NetBSD dailies and see if that makes any difference.
> 
> -- thorpej

-- thorpej



Home | Main Index | Thread Index | Old Index