Я загружаю одну виртуальную машину виртуального бокса из другой виртуальной машины (с помощью cobbler) через PXE. Обе машины имеют 2 адаптера: 1) внешнюю сеть и 2) сеть только для хоста.
«Клиентская» виртуальная машина успешно загружается в установщик через PXE (с использованием сетевого адаптера только для хоста), но тогда установщик даже не пытается загрузить файл preseed (согласно журналам сервера) или получить IP-адрес (опять же согласно в журналы сервера - которые делать показать запросы TFTP раньше).
Я падаю в оболочку и вижу, что:
Как мне заставить программу установки видеть мои сетевые адаптеры или, по крайней мере, как мне найти причину этой проблемы?
Вот запись в меню PXE:
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
Хорошо, я разобрался.
Оказалось, что в ISO-образе Ubuntu есть два образа initrd, которые я использовал:
[jkff@localhost tmp]$ find /mnt/ubuntu-server/ -name 'initrd.gz'
/mnt/ubuntu-server/install/initrd.gz
/mnt/ubuntu-server/install/netboot/ubuntu-installer/amd64/initrd.gz
Первый из них не включает сетевые драйверы. Второй делает. Сапожник выбрал первый (из-за этот), поэтому, конечно же, без сетевых драйверов он не смог бы найти сетевые адаптеры и загрузить пресид.
Теперь мне нужно найти способ заставить Cobbler использовать правильный initrd ...
Я попросил cobbler использовать правильный initrd, отредактировав дистрибутив так, чтобы он указывал на правильный initrd, который в моем случае находился по адресу /var/www/cobbler/ks_mirror/ubuntu-12.04.1-server-amd64-x86_64/install/netboot/ ubuntu-установщик / amd64 / initrd.gz