preseeding debian netinstall не получает файл preseed через http
Я пытаюсь выполнить предварительную настройку netinstall для Debian 6, используя preseeding. Я настроил tftp сервер, который обслуживает ядро и initrd, однако параметры, указывающие шов файла preseed, не работают. Вот часть моего pxelinux.cfg:
LABEL mydebian6_amd64_install
menu label ^Install Debian 6 amd64
kernel install/mydebian/linux
append vga=normal initrd=install/mydebian/initrd.gz auto=true url=http://10.0.3.20/preseeds/debian6-preseed.cfg --
Ядро и initrd.gz загружаются, однако, debian6-preseed.cfg никогда не извлекается из моего веб-сервера. Указанный выше URL действителен, я могу получить его с помощью wget в той же сети, и запрос отображается в журнале apache. Однако загрузка по сети останавливается с вопросами о маршруте по умолчанию, и журналы apache не показывают никаких следов извлечения файла preseed.
Конфигурация сети, кажется, в порядке, автоконфигурация с помощью dhcp прошла успешно. Затем установщик спрашивает меня о погоде, которую я хочу продолжить без маршрута по умолчанию. Я надеялся, что смогу настроить это в файле preseed, но так как я не дошел до этого, он не будет работать:/. Теперь я попытался добавить
netcfg/get_gateway=10.0.3.20
до добавления строки, но это не помогло.
tftp, dhcp и apache работают на одном сервере, который является сервером Ubuntu 12.04. Все в виртуальной сети virtualbox.
Есть намеки?
4 ответа
Оказывается, моя конфигурация dhcp не была завершена... после того, как я добавил
option routers 10.0.3.20;
в мой /etc/dhcp/dhcpd.conf файл preseed был получен.
Похоже, ваша сеть еще не подключилась, пока не попыталась получить файл конфигурации preseed. Попробуйте добавить следующие команды:
priority=critical interface=auto netcfg/dhcp_timeout=120 console-setup/layoutcode=us
Команда
interface=auto
будет использовать первый ethernet, который он найдет автоматически.Команда
netcfg/dhcp_timeout=120
позволит клиенту dhcp попытаться найти IP-адрес и т. д. в течение более длительного времени, чем время по умолчанию, поскольку часто время по умолчанию недостаточно велико.Команды
priority=critical
а такжеconsole-setup/layoutcode=us
Я использую, чтобы запретить процессу установки запрашивать какой-либо пользовательский ввод.
Хотя это, похоже, не относится к вашей ситуации, но еще одна причина, по которой не работает сеть, заключается в том, что необходимый драйвер Ethernet является частью несвободного репозитория, который не включается при установке. В этом случае попробуйте использовать USB-интерфейс Ethernet, например, только для процесса установки. Затем включите несвободный репозиторий и установите необходимые пакеты прошивки для вашей карты Ethernet.
Хех. у меня похожая проблема. мой обходной путь использовал ftp. Как я теперь знаю, просто поместите preseed/url вместо url: preseed/url = http://10.0.3.20/preseeds/debian6-preseed.cfg
Спецификация в конфигурации DHCP переопределит файл предварительной конфигурации, указанный в строке загрузки.
Если вы используетеfilename
Чтобы указать файл конфигурации pxeboot, установщик Debian попытается загрузить этот файл как файл предварительной конфигурации.
см. в приложении B.2 к Debian, раздел B.2.6.Подробности
При использовании isc-dhcp-server пример, приведенный по ссылке, можно преобразовать в
if substring (option vendor-class-identifier, 0, 3) != "d-i" {
filename "http://host/preseed.cfg";
}
чтобы защитить параметр имени файла от использования установщиком.