Я настраиваю установщик, используя как PXE, так и USB, и он работает хорошо, однако мне нужно добавить несколько разных параметров в меню загрузки, чтобы использовать разные файлы preseed. Это для разных ситуаций, например, нужно ли настраивать программный рейд, сколько дисков и т. Д.
Итак, в идеале я хотел бы создать один образ initrd, содержащий несколько файлов preseed, и указать, какой из них использовать с аргументом ядра, как подробно описано в руководство. Однако это не работает. Кажется, что как бы я ни указывал preseed / file =, установщик будет искать только /preseed.cfg.
Вот пример моего файла pxelinux.cfg / default (очень похожая конфигурация существует и для syslinux):
DISPLAY boot.txt
DEFAULT install_raid_1disk
LABEL install_raid_1disk
kernel installer/2b/linux
append vga=normal initrd=/installer/2b/initrd.gz preseed/file=/preseed-net-raid-1disk.cfg --
LABEL install_raid_2disks
kernel installer/2b/linux
append vga=normal initrd=/installer/2b/initrd.gz preseed/file=/preseed-net-raid-2disks.cfg --
LABEL install_noraid
kernel installer/2b/linux
append vga=normal initrd=/installer/2b/initrd.gz preseed/file=/preseed-net-noraid.cfg --
PROMPT 1
TIMEOUT 20
Предложение Zoredache очень интересно. Я бы сначала попробовал. Если это не сработает, я бы предложил создать по одному initrd для каждого пресида. Поместите файл preseed в корень initrd.
извлечь файлы из initrd:
$ mkdir / tmp / 1; cd / tmp / 1; кот /boot/initrd.gz | gzip -d | cpio -i
скопируйте файл preseed в корень initrd:
$ cp preseed.cfg.
Повторно создайте initrd:
$ find | cpio -o --format = newc | gzip -9c> ../initrd-custom1.gz
Повторите шаги для каждого файла предварительной загрузки ...
Вы можете использовать несколько файлов initrd, если все они являются файлами cpio. Это работает (в зависимости от загрузчика): у вас есть стандартный файл initrd установщика, который представляет собой cpio, и второй initrd, состоящий только из сжатого файла, хранящегося в initrd в стиле cpio. Загрузите оба файла initrd во время загрузки. это позволяет вам независимо обновлять стандартные initrd и preseed initrd и иметь несколько версий каждой, выбираемых из меню загрузчика.