Re: rpi4 network boot

Matthew Grooms <[email protected]>
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On 2/6/2021 8:32 PM, Klaus Küchemann wrote:
>> Am 06.02.2021 um 21:27 schrieb Matthew Grooms <[email protected]>:
>>
>>   I need to netboot without the help of local storage or human intervention.
>>
> this would be possible by flashing&configuring  the eeprom to pxe-boot- capability (which isn’t the default afaik) .
>
Yup. I should have mentioned that I've done that, and now I'm trying to 
perform a PXE boot. However, it doesn't seem like a conventional PXE 
boot. It looks for a ton of other files it requires from tftp path 
before requesting the file given in the bootp config ...

21:32:09.373985 IP X.X.X.26.11164 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/start4.elf" octet tsize 0 blksize 1024
21:32:09.378879 IP X.X.X.26.11165 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/config.txt" octet tsize 0 blksize 1024
21:32:09.383521 IP X.X.X.26.11166 > rpi4.shrew.lab.tftp:  57 RRQ 
"dc-a6-32-a8-54-13/vl805.sig" octet tsize 0 blksize 1024
21:32:09.387000 IP X.X.X.26.11167 > rpi4.shrew.lab.tftp:  60 RRQ 
"dc-a6-32-a8-54-13/pieeprom.sig" octet tsize 0 blksize 1024
21:32:09.390842 IP X.X.X.26.11168 > rpi4.shrew.lab.tftp:  60 RRQ 
"dc-a6-32-a8-54-13/recover4.elf" octet tsize 0 blksize 1024
21:32:09.394382 IP X.X.X.26.11169 > rpi4.shrew.lab.tftp:  60 RRQ 
"dc-a6-32-a8-54-13/recovery.elf" octet tsize 0 blksize 1024
21:32:09.397826 IP X.X.X.26.11170 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/start4.elf" octet tsize 0 blksize 1024
21:32:11.408961 IP X.X.X.26.11171 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/fixup4.dat" octet tsize 0 blksize 1024
21:32:12.039748 IP X.X.X.26.49153 > rpi4.shrew.lab.tftp:  60 RRQ 
"dc-a6-32-a8-54-13/recovery.elf" octet tsize 0 blksize 1024
21:32:12.048114 IP X.X.X.26.49154 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/config.txt" octet tsize 0 blksize 1024
21:32:12.052450 IP X.X.X.26.49155 > rpi4.shrew.lab.tftp:  59 RRQ 
"dc-a6-32-a8-54-13/dt-blob.bin" octet tsize 0 blksize 1024
21:32:12.147153 IP X.X.X.26.49156 > rpi4.shrew.lab.tftp:  60 RRQ 
"dc-a6-32-a8-54-13/recovery.elf" octet tsize 0 blksize 1024
21:32:12.151446 IP X.X.X.26.49157 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/config.txt" octet tsize 0 blksize 1024
21:32:12.620270 IP X.X.X.26.49158 > rpi4.shrew.lab.tftp:  59 RRQ 
"dc-a6-32-a8-54-13/bootcfg.txt" octet tsize 0 blksize 1024
21:32:12.670046 IP X.X.X.26.49159 > rpi4.shrew.lab.tftp:  67 RRQ 
"dc-a6-32-a8-54-13/bcm2711-rpi-4-b.dtb" octet tsize 0 blksize 1024
21:32:12.695246 IP X.X.X.26.49160 > rpi4.shrew.lab.tftp:  72 RRQ 
"dc-a6-32-a8-54-13/overlays/overlay_map.dtb" octet tsize 0 blksize 1024
21:32:12.761171 IP X.X.X.26.49161 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/config.txt" octet tsize 0 blksize 1024
21:32:12.791778 IP X.X.X.26.49162 > rpi4.shrew.lab.tftp:  65 RRQ 
"dc-a6-32-a8-54-13/overlays/mmc.dtbo" octet tsize 0 blksize 1024
21:32:12.838557 IP X.X.X.26.49163 > rpi4.shrew.lab.tftp:  72 RRQ 
"dc-a6-32-a8-54-13/overlays/disable-bt.dtbo" octet tsize 0 blksize 1024
21:32:12.964086 IP X.X.X.26.49164 > rpi4.shrew.lab.tftp:  59 RRQ 
"dc-a6-32-a8-54-13/cmdline.txt" octet tsize 0 blksize 1024
21:32:14.251055 IP X.X.X.26.49165 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/u-boot.bin" octet tsize 0 blksize 1024
21:32:14.256130 IP X.X.X.26.49166 > rpi4.shrew.lab.tftp:  64 RRQ 
"dc-a6-32-a8-54-13/armstub8-gic.bin" octet tsize 0 blksize 1024
21:32:14.261086 IP X.X.X.26.49167 > rpi4.shrew.lab.tftp:  64 RRQ 
"dc-a6-32-a8-54-13/armstub8-gic.bin" octet tsize 0 blksize 1024
21:32:14.267182 IP X.X.X.26.49168 > rpi4.shrew.lab.tftp:  58 RRQ 
"dc-a6-32-a8-54-13/u-boot.bin" octet tsize 0 blksize 1024
21:32:20.489363 IP X.X.X.26.4036 > rpi4.shrew.lab.tftp:  63 RRQ 
"freebsd/boot/loader.efi" octet timeout 5 tsize 0 blksize 1468
21:32:20.776221 IP X.X.X.26.1250 > rpi4.shrew.lab.tftp:  86 RRQ 
"freebsd/boot/pxelinux.cfg/01-dc-a6-32-a8-54-13" octet timeout 5 tsize 0 
blksize 1468
21:32:20.934994 IP X.X.X.26.1409 > rpi4.shrew.lab.tftp:  74 RRQ 
"freebsd/boot/pxelinux.cfg/0A16C81A" octet timeout 5 tsize 0 blksize 1468
21:32:21.094962 IP X.X.X.26.1569 > rpi4.shrew.lab.tftp:  73 RRQ 
"freebsd/boot/pxelinux.cfg/0A16C81" octet timeout 5 tsize 0 blksize 1468
21:32:21.255120 IP X.X.X.26.1729 > rpi4.shrew.lab.tftp:  72 RRQ 
"freebsd/boot/pxelinux.cfg/0A16C8" octet timeout 5 tsize 0 blksize 1468
21:32:21.420668 IP X.X.X.26.1895 > rpi4.shrew.lab.tftp:  71 RRQ 
"freebsd/boot/pxelinux.cfg/0A16C" octet timeout 5 tsize 0 blksize 1468
21:32:21.581301 IP X.X.X.26.2056 > rpi4.shrew.lab.tftp:  70 RRQ 
"freebsd/boot/pxelinux.cfg/0A16" octet timeout 5 tsize 0 blksize 1468
21:32:21.734829 IP X.X.X.26.2209 > rpi4.shrew.lab.tftp:  69 RRQ 
"freebsd/boot/pxelinux.cfg/0A1" octet timeout 5 tsize 0 blksize 1468
21:32:21.894906 IP X.X.X.26.2369 > rpi4.shrew.lab.tftp:  68 RRQ 
"freebsd/boot/pxelinux.cfg/0A" octet timeout 5 tsize 0 blksize 1468
21:32:22.054759 IP X.X.X.26.2529 > rpi4.shrew.lab.tftp:  67 RRQ 
"freebsd/boot/pxelinux.cfg/0" octet timeout 5 tsize 0 blksize 1468
21:32:22.222466 IP X.X.X.26.2697 > rpi4.shrew.lab.tftp:  89 RRQ 
"freebsd/boot/pxelinux.cfg/default-arm-bcm283x-rpi" octet timeout 5 
tsize 0 blksize 1468
21:32:22.382954 IP X.X.X.26.2857 > rpi4.shrew.lab.tftp:  85 RRQ 
"freebsd/boot/pxelinux.cfg/default-arm-bcm283x" octet timeout 5 tsize 0 
blksize 1468
21:32:22.543756 IP X.X.X.26.3018 > rpi4.shrew.lab.tftp:  77 RRQ 
"freebsd/boot/pxelinux.cfg/default-arm" octet timeout 5 tsize 0 blksize 1468
21:32:22.703276 IP X.X.X.26.3178 > rpi4.shrew.lab.tftp:  73 RRQ 
"freebsd/boot/pxelinux.cfg/default" octet timeout 5 tsize 0 blksize 1468
21:32:22.908488 IP X.X.X.26.3383 > rpi4.shrew.lab.tftp:  53 RRQ 
"boot.scr.uimg" octet timeout 5 tsize 0 blksize 1468
21:32:23.075725 IP X.X.X.26.3550 > rpi4.shrew.lab.tftp:  63 RRQ 
"freebsd/boot/loader.efi" octet timeout 5 tsize 0 blksize 1468
21:32:23.356875 IP X.X.X.26.3831 > rpi4.shrew.lab.tftp:  72 RRQ 
"dtb/broadcom/bcm2711-rpi-4-b.dtb" octet timeout 5 tsize 0 blksize 1468

>> Am 07.02.2021 um 02:41 schrieb Matthew Grooms <[email protected]>:
>>
>>
>> /etc/exports:
>> /var/rpi4/netboot -ro -alldirs -maproot=root
> why '-ro‘ ??

It's intended to be read only. That's also what the freebsd diskless 
boot handbook article suggests to do ...

https://docs.freebsd.org/en/books/handbook/advanced-networking/#network-diskless

>> Am 07.02.2021 um 02:41 schrieb Matthew Grooms <[email protected]>:
>> /usr/local/etc/dhcpd.conf….. option root-path „X.X.X.25:/var/rpi4/netboot/freebsd“ ;……
> while it seems to boot in your case "/var/rpi4/netboot/freebsd/“ is not the same as the above "/var/rpi4/netboot“
>
It's extremely difficult to know what the 'right' way is actually 
supposed to be. AFAICT, no one has actually been able to do a full 
FreeBSD PXE boot on a RPI4 before. All the PXE related info on the 
internet is for Linux. I'm trying to stitch bits and pieces together 
from lots of sources to get PXE, u-boot and freebsd to dance together. 
I'm hoping I can get help figuring this out, then I'm happy to post a 
howto for other users to follow. There's already a few others in the 
forum looking to do the same.

It sounds like maybe you haven't actually tried to do a full PXE boot 
with your RPI4 system. If you were to try, how do you suggest that it be 
done correctly? I'd love to hear your input.

> Am 05.01.2021 um 01:18 schrieb Matthew Grooms <[email protected]>:
>>>
>>> root@rpi4:/var/rpi4/netboot/firmware-master # ls -la
> and why did you split the folders under ../netboot/..?

To serve the raspberry pi 4 what it wants during boot. A more complete 
layout under my netboot directory looks like this ...

/var/rpi4/netboot/firmware
/var/rpi4/netboot/01-dc-a6-32-a8-54-13  -> /var/rpi4/netboot/firmware
/var/rpi4/netboot/freebsd
/var/rpi4/netboot/freebsd/boot/msdos -> /var/rpi4/netboot/firmware

>> Am 07.02.2021 um 02:41 schrieb Matthew Grooms <[email protected]>:
>> ……
>> .
>> starting USB…
>> No working controllers found
>> Hit any key to stop autoboot:  2  1  0
>> Card did not respond to voltage select!
>> starting USB...
>> No working controllers found
>> USB is stopped. Please issue 'usb start' first.
>> starting USB...
>> No working controllers found
> Would far be better if you had access to your keyboard from the 1st moment of boot(it`s possible!!)
> hint : https://sourceforge.net/projects/d26853-bcm2711-rpi-4-b-dtb/
>   I don`t want to discuss this no more here :-) Ha Ha ..
>
> What’s  your output of :
>
> root@matthew:~# sockstat -l4
>
> and
>
> root@matthew:~#  cat /etc/fstab

I don't follow. For the boot server or the RPI4 host? I don't see how 
the fstab of the boot server could be relevant. The RPI4 host doesn't 
have a local filesystem. It's trying to boot from the nfs export ...

/var/rpi4/netboot/freebsd

That has etc config info under the conf/base and /conf/default as 
described in the diskless man page. However, it's not getting to that 
part of the boot process so this is all probably moot.

Thanks,

-Matthew

_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-arm
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.