I've been having trouble with recent Ubuntu live CDs trying to boot off of them via PXE. My ultimate goal is to rebuild an old Ubuntu 9.04 diskless box using the newer Ubuntu 12.04.4 build.
When trying to boot what I believe is a good configuration, I'm getting output similar to the following:
Loading .../vmlinuz......
// --- lotsa good boot-up stuff ---
Begin: Running /scripts/init-premount ... done.
Begin: Mounting root file system ... Begin: Running /scripts/casper-premount ...
[ 6.336295] pcnet32 0000:02:01.0: eth0: link up
done.
done.
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 2 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 3 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 4 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 6 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 9 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 16 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 25 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 36 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
IP-Config: no response after 64 secs - giving up
IP-Config: eth0 hardware address xx:xx:xx:xx:xx:xx mtu 1500 DHCP RARP
I originally followed the steps here. I currently have the following:
- A router running Tomato 1.21 (yes, I know it's old)
- A box containing the TFTP server and the files from the live CD (IP address 192.168.x.y)
The router has a Dnsmasq custom configuration containing the following lines shown below:
dhcp-no-override
dhcp-boot=pxelinux.0,,192.168.x.y
With these set up, when I want to add something new to my PXE collection, I put some files in certain places, add lines to certain config files, and then I'm ready to boot my target box.
I've done this in the past for several boot situations including:
- Backtrack 4r2 i386
- Debian Lenny, Squeeze, and Wheezy
- Damn Small Linux
- Fedora 18
- Several older Ubuntu live CDs
- Several older Ubuntu installations
My current process to add a new Ubuntu live CD into the mix is as follows:
- Mount the live CD as an ISO image.
- Copy all files out of the ISO image onto the hard drive.
- Copy the vmlinuz and initrd.lz files from the ISO contents to area accessible by the TFTP server.
- Rebuild the initrd.lz to support PXE booting by modifying
initramfs.conf
and then runningupdate-initramfs
inside chroot:- MODULES=netboot
- BOOT=nfs
- NFSROOT=192.168.x.y:/path/to/extracted/iso/contents
- DEVICE=eth0 // didn't do this before, trying now as described here due to trouble but still no dice; only have single NIC anyway
- Add item to boot.txt in TFTP server.
- Add lines to file under pxelinux.cfg directory.
Once I do these, I can reboot. To try it out, I've been using a basic VMware Player virtual machine with no hard drive, no CD-ROM drive, and no floppy drive. All it does is boot from PXE.
In the past, this has worked wonderfully, and then I can power it down and boot my desired physical box via PXE the same way.
I haven't been able to boot the last couple Ubuntu live CDs this way because I get the message as shown above:
no response after xx secs - giving up` message
Finally, I mounted the ISO directly under my VMware VM and installed Ubuntu directly onto a VM. Once I had that, I made it a diskless image by mounting the hard drive and copying the contents out similar to Steps 1 and 2 above, and then trying to PXE-boot from there.
This has worked before; however, when I try to do this with my 12.04 installation, I see the same symptom as my 12.04 live CD:
no response after xx secs - giving up
I tried this; it didn't work. Here are my old and new pxelinux.cfg/default lines:
label ubuntu_12.04.4-desktop-i386
kernel /ubuntu/12.04.4-desktop-i386/vmlinuz nosplash
# append boot=casper netboot=nfs nfsroot=192.168.0.99:/path/to/ubuntu-12.04.4-desktop-i386 initrd=/ubuntu/12.04.4-desktop-i386/initrd.lz
append boot=nfs root=/dev/nfs nfsroot=192.168.0.99:/path/to/ubuntu-12.04.4-desktop-i386 initrd=/ubuntu/12.04.4-desktop-i386/initrd.lz
I would appreciate any insight anyone has.
Thanks.