From owner-freebsd-arm@freebsd.org Sun Feb 7 04:00:06 2021 Return-Path: Delivered-To: freebsd-arm@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id C5CAD54671A for ; Sun, 7 Feb 2021 04:00:06 +0000 (UTC) (envelope-from mgrooms@shrew.net) Received: from mx1.shrew.net (mx1.shrew.net [38.97.5.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DYFmP4nQwz3N3c for ; Sun, 7 Feb 2021 04:00:05 +0000 (UTC) (envelope-from mgrooms@shrew.net) Received: from mail.shrew.net (mail.shrew.prv [10.24.10.20]) by mx1.shrew.net (8.15.2/8.15.2) with ESMTP id 117403A0055185; Sat, 6 Feb 2021 22:00:03 -0600 (CST) (envelope-from mgrooms@shrew.net) Received: from [10.22.200.30] (unknown [136.49.68.36]) by mail.shrew.net (Postfix) with ESMTPSA id 72B14199F85; Sat, 6 Feb 2021 21:59:58 -0600 (CST) Subject: Re: rpi4 network boot To: =?UTF-8?Q?Klaus_K=c3=bcchemann?= , freebsd-arm@freebsd.org References: <3a1acba5-8662-55cb-c5c4-98ec7873f78f@shrew.net> <082BC0B9-2538-43D5-9D5E-C18B4DEE9ECB@googlemail.com> From: Matthew Grooms Message-ID: Date: Sat, 6 Feb 2021 22:00:02 -0600 User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.6.2 (mx1.shrew.net [10.24.10.10]); Sat, 06 Feb 2021 22:00:03 -0600 (CST) X-Rspamd-Queue-Id: 4DYFmP4nQwz3N3c X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of mgrooms@shrew.net designates 38.97.5.131 as permitted sender) smtp.mailfrom=mgrooms@shrew.net X-Spamd-Result: default: False [-1.30 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; TO_DN_SOME(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[shrew.net]; RBL_DBL_DONT_QUERY_IPS(0.00)[38.97.5.131:from]; NEURAL_SPAM_SHORT(1.00)[0.999]; SPAMHAUS_ZRD(0.00)[38.97.5.131:from:127.0.2.255]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FREEMAIL_TO(0.00)[googlemail.com,freebsd.org]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; MIME_TRACE(0.00)[0:+]; ASN(0.00)[asn:174, ipnet:38.0.0.0/8, country:US]; RCVD_TLS_LAST(0.00)[]; MAILMAN_DEST(0.00)[freebsd-arm]; RECEIVED_SPAMHAUS_PBL(0.00)[136.49.68.36:received] X-BeenThere: freebsd-arm@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Porting FreeBSD to ARM processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 07 Feb 2021 04:00:06 -0000 On 2/6/2021 8:32 PM, Klaus Küchemann wrote: >> Am 06.02.2021 um 21:27 schrieb Matthew Grooms : >> >> 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 : >> >> >> /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 : >> /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 : >>> >>> 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 : >> …… >> . >> 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