У меня проблема с использованием файла preseed.cfg при установке Debian с помощью PXE.
Моя сетевая карта требует, чтобы пакет firmware-bnx2 учитывался ядром debian.
Во время процесса загрузки PXE производитель позволяет системе настроить свой сетевой интерфейс и обратиться к initrd и ядру, после чего начнется установка. В этом initrd я учел файл press.cfg. Но установка не может быть выполнена автоматически, пока я не установлю этот пакет bnx2.
Я понятия не имею, как установить пакет bnx2 во время этого процесса загрузки. Думаю это возможно через инструкцию
d-i hw-detect/load_firmware boolean true
В документации говорится
# If non-free firmware is needed for the network or other hardware, you can
# configure the installer to always try to load it, without prompting. Or
# change to false to disable asking.
Но я не знаю, где установить этот пакет и как его установить.
Кто-нибудь может мне помочь?
Большое спасибо!
Возможно, вы захотите добавить недостающую прошивку в файловую систему debian-installer. Вот как действовать.
Сначала немного контекста: допустим, у нас есть PXE, настроенный на использование / tftpboot в качестве корня TFTP, и использование следующего «меню» вместо значения по умолчанию в pxelinux.cfg:
default install label install menu label ^Install menu default kernel debian-installer/amd64/linux append vga=788 initrd=debian-installer/amd64/initrd.gz auto=true interface=auto priority=critical url=http://192.0.2.5 preseed/url=http://192.0.2.5/my-custom-preseed.cfg console=ttyS1,115200n8
Итак, оттуда:
cd /tftpboot/debian-installer/amd64/ cp initrd.gz initrd.gz.orig mkdir -p tmp/initrd; cd tmp/initrd zcat ../../inirt.gz | cpio -iv
apt-get install --download-only firmware-bnx2 firmware-bnx2x cd /tftpboot/debian-installer/amd64/tmp/initrd dpkg-deb -x /var/cache/apt/archives/firmware-bnx2_*.deb ../ dpkg-deb -x /var/cache/apt/archives/firmware-bnx2x_*.deb ../ cp -a ../lib/firmware lib/firmware
cd /tftpboot/debian-installer/amd64/tmp/initrd find . -print0 | cpio -0 -H newc -ov | gzip -c > ../../initrd.gz
Готово, попробуйте.
Это может быть немного не по проторенному пути, но мне повезло с цепочкой iPXE в качестве фактического загрузчика. Среди других плюсов есть механизм загрузки модуля ядра вместе с вашим initrd. Проверять, выписываться http://ipxe.org/cmd/imgfetch?redirect=1 для примера.