CTF: UEFI HTTP boot support

Miguel C miguelmclara at gmail.com
Tue Jun 16 22:10:12 UTC 2020


On Tue, Jun 16, 2020 at 10:37 PM Miguel C <miguelmclara at gmail.com> wrote:

>
>
> On Tue, Jun 16, 2020 at 10:35 PM Miguel C <miguelmclara at gmail.com> wrote:
>
>>
>> On Tue, Jun 16, 2020 at 7:25 PM Rebecca Cran <rebecca at bsdio.com> wrote:
>>
>>> On 6/16/20 5:17 AM, Miguel C wrote:
>>>
>>> > I've been trying out FreeBSD with raspberry Pi4 (4GB) and wanted to see
>>> > what the state of HTTP BOOT is in FreeBSD, so I bumped into this!
>>> >
>>> > I'm curious if it should be possible to point to a img/iso directly (I
>>> > tried to use the img.xz unpacked it and make it available on a local
>>> web
>>> > server and that didn't seem to work for me)  but maybe thats cause
>>> those
>>> > images miss something, so arm64 aside does that work for amd64? I.E.
>>> using
>>> > the bootonly.iso?
>>>
>>> Unfortunately HTTP boot only works as far as the kernel: UEFI fetches
>>> loader.efi, the loader fetches and runs the kernel over HTTP -- and then
>>> you need to use NFS to mount the filesystem (or have a local root
>>> filesystem).
>>>
>>>
>> Thanks for the reply , I can work with that for a live system still
>> better than tftp, http+nfs should be that hard.
>>
>>
>>> UEFI also has RamDisk support, but I don't think that's for remote
>>> ISO/disk files, just local files.
>>>
>>> As for the ISO it does seem to work for remote ISO files, the bhyve con
>> presentantion suggests the same and I was able to boot the ubuntu arm64
>> install iso using the direct link as a  HTTP BOOT entry,.
>>
>> �>Start HTTP Boot over IPv4....
>>>   Station IP address is 172.16.50.62
>>>
>>>   URI: http:/?172.16.50.106/uarm64.iso
>>>   File Size: 916357120 Bytes
>>>   Downloading...26%
>>>
>>
>> But we also don't seem to have iso images for the raspberry pi, so it
>> might not work there, this does sugget just a link to the .efi file would
>> work: https://github.com/jljusten/tianocore/wiki/HTTP-Boot but I tired
>> that with no succes
>>
>
> Actually that was bad interpertation on my side for a ramdisk to be used
> it needs o be iso/img format.
>
>
>> In any case from what you're saying... for a live system I need http +
>> nfs for rootfs.
>>
>> But I'm still clueless how to set that up for FreeBSD, the guide
>> mentioned here is linux centric, what need to live on the http server side?
>>
>>
Update so I was trying the ubuntu boot again and noticed it required a few
tries (literary choose that boot entry ... fail... try again... 3 times and
it worked ) Could be a bug in   rpi4-uefi.dev though but it proves it works.

I then tried openbsd miniroot img (just case its smaller honestly :D ) and
it also booted the img file, but not FreeBSD (using 12.1 )

I noticed the openbsd image includes startup.nsh inside ef/boot/  alongside
bootaa64.efi, unsure if that's what FreeBSD would need.




>>> --
>>> Rebecca Cran
>>>
>>>
>>>


More information about the freebsd-current mailing list