[Dnsmasq-discuss] PXE booting a Raspberry Pi 3B
Carl Karsten
carl at nextdayvideo.com
Thu Jan 12 03:35:58 UTC 2023
I have heard the pi's net boot stack does not follow the spec, and
ignoring nextserver is one of the things
also, I just learned this:
cat .../boot/config.txt
...
enable_uart=1
uart_2ndstage=1
hook a serial thing to the pi and you will get a bunch of boot
messages from bootcode.bin and friends.
Here is all my pi boot code and a ton of other stuff, it is a bit of a
mess, but maybe you can find something of value.
https://github.com/CarlFK/pici
On Wed, Jan 11, 2023 at 5:04 PM ygator--- via Dnsmasq-discuss
<dnsmasq-discuss at lists.thekelleys.org.uk> wrote:
>
> I'm trying to pxe boot a Raspberry Pi 3B (not 3B+) with dnsmasq configured with a tftp server on a different host. In all cases I've tried it always uses dnsmasq as the tftp server. Btw, I have Raspberry Pi 4 that does work.
>
> Doing some tests with my own pxe server I was able to get the Raspberry Pi 3B to use the proper tftp server only when I sent option 66 last or possibly after option 43 as both are true.
>
> Is there a way to configure dnsmasq for this to work?
>
> The Raspberry Pi 3B does request the tftp server parameter last, however the RFC says it is not required for the server to comply though it does say it MUST try.
>
> FROM RFC2132
>
>
> 9.8. Parameter Request List
>
>
> This option is used by a DHCP client to request values for specified
> configuration parameters. The list of requested parameters is
> specified as n octets, where each octet is a valid DHCP option code
> as defined in this document.
>
>
> The client MAY list the options in order of preference. The DHCP
> server is not required to return the options in the requested order,
> but MUST try to insert the requested options in the order requested
> by the client.
>
>
>
>
> Thanks
>
>
>
>
> Details below
>
>
> Network Devices
> ===============
> 192.168.0.1 = router
> 192.168.0.4 = dnsmasq server
> 192.168.0.5 = ntp server
> 192.168.0.6 = rpi3b computer
> 192.168.0.7 = tftp server
>
>
> dnsmasq configuration
> =====================
> dhcp-range=192.168.0.0,192.168.0.255,255.255.255.0,12h
> dhcp-reply-delay=tag:rpi3b,2
> dhcp-ignore=tag:!known
> dhcp-option=3,192.168.0.1
> dhcp-option=6,192.168.0.4
> dhcp-option=42,192.168.0.5
> dhcp-boot="bootcode.bin","192.168.0.7",192.168.0.7
> pxe-service=0,Raspberry Pi Boot
> enable-tftp
> tftp-root=/home/pi/network/tftpboot
> log-dhcp
> domain-needed
> bogus-priv
> no-hosts
> addn-hosts=/home/pi/network/hosts
> dhcp-host=aa:bb:cc:dd:ee:ff,rpi3,192.168.0.6,infinite,set:rpi3b
>
>
> /home/pi/network/hosts/hosts
> ============================
> 192.168.0.6 rpi3.example.com
>
>
> dnsmasq output
> ==============
> dnsmasq-dhcp[48831]: 653460281 available DHCP range: 192.168.0.0 -- 192.168.0.255
> dnsmasq-dhcp[48831]: 653460281 vendor class: PXEClient:Arch:00000:UNDI:002001
> dnsmasq-dhcp[48831]: 653460281 DHCPDISCOVER(wlan0) aa:bb:cc:dd:ee:ff
> dnsmasq-dhcp[48831]: 653460281 tags: rpi3b, known, wlan0
> dnsmasq-dhcp[48831]: 653460281 reply delay: 2
> dnsmasq-dhcp[48831]: 653460281 DHCPOFFER(wlan0) 192.168.0.6 aa:bb:cc:dd:ee:ff
> dnsmasq-dhcp[48831]: 653460281 requested options: 43:vendor-encap, 60:vendor-class, 67:bootfile-name,
> dnsmasq-dhcp[48831]: 653460281 requested options: 128, 129, 130, 131, 132, 133, 134, 135, 66:tftp-server
> dnsmasq-dhcp[48831]: 653460281 next server: 192.168.0.7
> dnsmasq-dhcp[48831]: 653460281 sent size: 1 option: 53 message-type 2
> dnsmasq-dhcp[48831]: 653460281 sent size: 4 option: 54 server-identifier 192.168.0.4
> dnsmasq-dhcp[48831]: 653460281 sent size: 4 option: 51 lease-time infinite
> dnsmasq-dhcp[48831]: 653460281 sent size: 12 option: 66 tftp-server 192.168.0.7
> dnsmasq-dhcp[48831]: 653460281 sent size: 13 option: 67 bootfile-name bootcode.bin
> dnsmasq-dhcp[48831]: 653460281 sent size: 4 option: 1 netmask 255.255.255.0
> dnsmasq-dhcp[48831]: 653460281 sent size: 4 option: 28 broadcast 192.168.0.255
> dnsmasq-dhcp[48831]: 653460281 sent size: 9 option: 60 vendor-class 50:58:45:43:6c:69:65:6e:74
> dnsmasq-dhcp[48831]: 653460281 sent size: 17 option: 97 client-machine-id 00:44:44:44:44:44:44:44:44:44:44:44:44:44...
> dnsmasq-dhcp[48831]: 653460281 sent size: 32 option: 43 vendor-encap 06:01:03:0a:04:00:50:58:45:09:14:00:00:11...
> dnsmasq-tftp[48831]: sent /home/pi/network/tftpboot/bootcode.bin to 192.168.0.6
> dnsmasq-tftp[48831]: file /home/pi/network/tftpboot/bootsig.bin not found
>
>
>
>
> _______________________________________________
> Dnsmasq-discuss mailing list
> Dnsmasq-discuss at lists.thekelleys.org.uk
> https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss
--
Carl K
More information about the Dnsmasq-discuss
mailing list