I'm booting one virtualbox VM from another virtualbox VM (with cobbler) over PXE. Both machines have 2 adapters: 1) external network and 2) host-only network.
The "client" VM successfully boots into the installer over PXE (using the host-only network adapter), but then the installer doesn't even try to download the preseed file (according to server logs) or get an IP address (again according to server logs - which do show the TFTP requests before).
I drop into a shell and see that:
- "ip a" shows only the loopback adapter
- Reading dmesg shows that apparently no adapters have been found
- lsmod seems to show no signs of network adapter modules either
- lspci does show both network controllers.
- There are essentially no drivers in /lib/modules/...../kernel/drivers/net (probably this is the reason?)
How do I make the installer see my network adapters, or at least how do I find the cause of this problem?
Here's the PXE menu entry:
default linux
prompt 0
timeout 1
label linux
kernel /images/ubuntu-10.04-server-x86_64/vmlinuz
ipappend 2
append initrd=/images/ubuntu-10.04-server-x86_64/initrd.gz locale= interface=auto text root=/dev/sda1 priority=critical auto url=http://192.168.56.101/cblr/svc/op/ks/system/pierrot hostname=pierrot domain=local.lan suite=lucid
OK, I figured it out.
Turns out that there are two initrd images in the Ubuntu ISO that I was using:
The first one of these does not include network drivers. The second one does. Cobbler picked the first one (due to this), so of course without network drivers it couldn't find the NICs and download the preseed.
Now I have to figure out a way to make Cobbler use the proper initrd...
I got cobbler to use the correct initrd by editing the distro to point to the correct initrd, which in my case lived at /var/www/cobbler/ks_mirror/ubuntu-12.04.1-server-amd64-x86_64/install/netboot/ubuntu-installer/amd64/initrd.gz