Назад | Перейти на главную страницу

Установщик Ubuntu через PXE не видит сетевых адаптеров => не может загрузить preseed

Я загружаю одну виртуальную машину виртуального бокса из другой виртуальной машины (с помощью 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