Fri 10 Oct 2014 07:54:05 AM UTC, original submission:
Hello,
I tried to setup a DHCP/TFTP boot with Grub2 from Debian 2.02~beta2-14 and git master.
I used the following command to create the grub net directory:
roo@tftp:~# grub-mknetdir -v --net-directory=/var/lib/tftpboot --subdir grub
[...]
grub-mknetdir: info: grub-mkimage --directory '/usr/lib/grub/i386-pc' --prefix '/grub' --output '/var/lib/tftpboot/grub/i386-pc/core.0' --format 'i386-pc-pxe' --compression 'auto' 'tftp' 'pxe'
.
grub-mknetdir: info: the total module size is 0xf5cc.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/kernel.img.
grub-mknetdir: info: locating the section .text at 0x0.
grub-mknetdir: info: locating the section .rodata at 0x54d4.
grub-mknetdir: info: locating the section .data at 0x6480.
grub-mknetdir: info: locating the section .bss at 0x6c08.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/bufio.mod.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/datetime.mod.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/boot.mod.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/priority_queue.mod.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/net.mod.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/tftp.mod.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/pxe.mod.
grub-mknetdir: info: kernel_img=0x144cdb0, kernel_size=0x6c08.
grub-mknetdir: info: the core size is 0x9b1b.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/lzma_decompress.img.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/pxeboot.img.
grub-mknetdir: info: writing 0x400 bytes.
grub-mknetdir: info: reading /usr/lib/grub/i386-pc/diskboot.img.
grub-mknetdir: info: writing 0x200 bytes.
grub-mknetdir: info: writing 0xa65b bytes.
Netboot directory for i386-pc created. Configure your DHCP server to point to /var/lib/tftpboot/grub/i386-pc/core.0
grub-mknetdir: info: Looking for `/usr/lib/grub/i386-efi'.
grub-mknetdir: info: Looking for `/usr/lib/grub/i386-ieee1275'.
grub-mknetdir: info: Looking for `/usr/lib/grub/x86_64-efi'.
grub-mknetdir: info: Looking for `/usr/lib/grub/sparc64-ieee1275'.
grub-mknetdir: info: Looking for `/usr/lib/grub/powerpc-ieee1275'.
grub-mknetdir: info: Looking for `/usr/lib/grub/ia64-efi'.
grub-mknetdir: info: Looking for `/usr/lib/grub/arm-efi'.
My DHCP server is configured to serve “/grub/i386-pc/core.0”.
I boot a little zotac box using:
06:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 06)
It get an IP address from the DHCP server, then it download core.0 from my tftp server:
Oct 10 09:22:23 tftp in.tftpd[29516]: RRQ from ::ffff:192.168.230.199 filename /grub/i386-pc/core.0
Oct 10 09:22:23 tftp in.tftpd[29516]: tftp: client does not accept options
Oct 10 09:22:23 tftp in.tftpd[29517]: RRQ from ::ffff:192.168.230.199 filename /grub/i386-pc/core.0
The zotac hangs for several seconds and then it display:
error: time out opening '/grub/i386-pc/normal.mod'.
Entering rescue mode...
grub rescue>
Running tcpdump on the TFTP server I see the download of core.0 but no packet to get normal.mod.
Grub environment has the following variables:
grub rescue> set
cmdpath=(tftp,192.168.230.2)/grub/i386-pc
net_default_interface=pxe
net_default_ip=192.168.230.199
net_default_mac=00:01:2e:3a:XX:XX
net_default_server=192.168.230.2
net_pxe_boot_file=/grub/i386-pc/core.0
net_pxe_domain=example.net
net_pxe_ip=192.168.230.199
net_pxe_mac=00:01:2e:3a:XX:XX
prefix=(tftp,192.168.230.2)/grub
pxe_default_server=192.168.230.2
root=tftp,192.168.230.2
The ls command returns nothing:
grub rescue> ls
grub rescue>
The same apply with another machines using:
01:00.1 Ethernet controller [0200]: Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet [14e4:163b] (rev 20)
and
04:00.0 Ethernet controller [0200]: Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express [14e4:1659] (rev 11)
|