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";
}

чтобы защитить параметр имени файла от использования установщиком.

Другие вопросы по тегам