pftf / RPi3

Raspberry Pi 3 UEFI Firmware Images
Other
273 stars 30 forks source link

SD card-less booting #25

Open arrdem opened 3 years ago

arrdem commented 3 years ago

Hey folks,

Based on this comment I understand that the EFI firmware environment does support some degree of TFTP.

However when testing this boot asset set from a TFTP root I see that it gets wedged after RPI_EFI.fd loads from the TFTP server. The Pi's firmware and its FS abstraction layer happily pull down all the assets to boot into the EFI environment and I'm able to use the menu etc. but the EFI environment doesn't re-DHCP to get the TFTP root and doesn't seem to honor the firmware's previously configured TFTP root so the /efi/boot/bootaa64.efi on the TFTP server doesn't get picked up.

This produces a BdsDxe: No bootable option or device was found. error and the system boots through to the EFI console which shows only the console and a local SD card as bootable options.

The same exact TFTP /boot tree if appropriately applied to an SD card works a treat and happily chainloads the /boot/efi/boot/bootaa64.efi.

FS tree -

.
|-- RPI_EFI.fd
|-- Readme.md
|-- bcm2710-rpi-3-b-plus.dtb
|-- bcm2710-rpi-3-b.dtb
|-- bootcode.bin
|-- config.txt
|-- efi
|   `-- boot
|       `-- bootaa64.efi
|-- firmware
|   |-- LICENCE_bin+clm_blob.txt
|   |-- LICENSE_txt.txt
|   |-- Readme.txt
|   |-- brcmfmac43430-sdio.bin
|   |-- brcmfmac43430-sdio.clm_blob
|   |-- brcmfmac43430-sdio.txt
|   |-- brcmfmac43455-sdio.bin
|   |-- brcmfmac43455-sdio.clm_blob
|   `-- brcmfmac43455-sdio.txt
|-- fixup.dat
`-- start.elf

Should fetching bootaa64.efi from a TFTP root be working? Or am I off the reservation here.

arrdem commented 3 years ago

https://github.com/tianocore/edk2-platforms/tree/master/Platform/RaspberryPi/RPi3#missing-functionality Ah. I take it this just isn't expected to work at this time.