Date: Sat, 6 Feb 2021 22:00:02 -0600 From: Matthew Grooms <mgrooms@shrew.net> To: =?UTF-8?Q?Klaus_K=c3=bcchemann?= <maciphone2@googlemail.com>, freebsd-arm@freebsd.org Subject: Re: rpi4 network boot Message-ID: <d02ac38c-ac8e-fc84-ba65-1c49e9b73bbf@shrew.net> In-Reply-To: <C6845ECB-23BE-48DB-BD78-A56814FCB39C@googlemail.com> References: <d385f2b3-87e0-1bd5-d0f8-76ba1eb99816@shrew.net> <3a1acba5-8662-55cb-c5c4-98ec7873f78f@shrew.net> <e324f942-43ac-d2ab-3e7f-47ca91e40bee@shrew.net> <082BC0B9-2538-43D5-9D5E-C18B4DEE9ECB@googlemail.com> <de86ca7c-dd8a-511a-6063-ada6eb451488@shrew.net> <C6845ECB-23BE-48DB-BD78-A56814FCB39C@googlemail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2/6/2021 8:32 PM, Klaus Küchemann wrote: >> Am 06.02.2021 um 21:27 schrieb Matthew Grooms <mgrooms@shrew.net>: >> >> 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 <mgrooms@shrew.net>: >> >> >> /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 <mgrooms@shrew.net>: >> /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 <mgrooms@shrew.net>: >>> >>> 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 <mgrooms@shrew.net>: >> …… >> . >> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?d02ac38c-ac8e-fc84-ba65-1c49e9b73bbf>