Bug#598872: grub-pc: Uses 0.0.0.0 as default PXE server address

Sam Morris sam at robots.org.uk
Sat Oct 2 17:28:00 UTC 2010


Package: grub-pc
Version: 1.98+20100804-5
Severity: minor

When configured with a prefix of '(pxe)', and without specifying a
'next-server' option in dhcpd.conf, grub hangs at boot after making the
following TFTP requests.

$ tshark -i eth0 -R tftp
Capturing on eth0
  2.081427    10.0.1.64 -> 10.0.0.1     TFTP Read Request, File: grub/grub.pxe\000, Transfer type: octet\000, tsize\000=0\000
  2.081981     10.0.0.1 -> 10.0.1.64    TFTP Option Acknowledgement, tsize\000=22157\000
  2.082979    10.0.1.64 -> 10.0.0.1     TFTP Error Code, Code: Not defined, Message: TFTP Aborted\000
  2.085091    10.0.1.64 -> 10.0.0.1     TFTP Read Request, File: grub/grub.pxe\000, Transfer type: octet\000, blksize\000=1456\000
  2.085533     10.0.0.1 -> 10.0.1.64    TFTP Option Acknowledgement, blksize\000=1456\000
  2.085957    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 0
  2.086069     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 1
  2.086811    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 1
  2.086899     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 2
  2.087535    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 2
  2.087621     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 3
  2.088324    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 3
  2.088363     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 4
  2.089079    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 4
  2.089166     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 5
  2.089857    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 5
  2.089945     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 6
  2.090661    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 6
  2.090749     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 7
  2.091461    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 7
  2.091549     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 8
  2.092160    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 8
  2.092255     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 9
  2.092975    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 9
  2.093062     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 10
  2.093738    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 10
  2.093826     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 11
  2.094438    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 11
  2.094539     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 12
  2.095211    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 12
  2.095290     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 13
  2.096018    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 13
  2.096159     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 14
  2.097527    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 14
  2.097616     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 15
  2.098294    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 15
  2.098382     10.0.0.1 -> 10.0.1.64    TFTP Data Packet, Block: 16 (last)
  2.099063    10.0.1.64 -> 10.0.0.1     TFTP Acknowledgement, Block: 16
  2.168052    10.0.1.64 -> 0.0.0.0      TFTP Read Request, File: /grub/normal.mod\000, Transfer type: octet\000, tsize\000=0\000

Note the destination IP address of the final request: 0.0.0.0.

If I either change the prefix to '(pxe:10.0.0.1)', or specify 'next-server 10.0.0.1;' in dhcpd.conf, grub boots correctly.

I'm not sure if any standard specifies what to do here, but pxelinux from
syslinux 1:3.71+dfsg-5 did not require this additional piece of configuration:
it happily defaulted to the IP address of the DHCP server.

-- System Information:
Debian Release: squeeze/sid
  APT prefers stable
  APT policy: (550, 'stable'), (530, 'testing'), (520, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-bpo.5-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages grub-pc depends on:
ii  debconf [debconf-2.0]    1.5.24          Debian configuration management sy
ii  grub-common              1.98+20100804-5 GRand Unified Bootloader, version 
ii  libc6                    2.11.2-6        Embedded GNU C Library: Shared lib
ii  libdevmapper1.02.1       2:1.02.48-3     The Linux Kernel Device Mapper use
ii  ucf                      3.0016          Update Configuration File: preserv

grub-pc recommends no packages.

Versions of packages grub-pc suggests:
pn  desktop-base                  <none>     (no description available)





More information about the Pkg-grub-devel mailing list