Установщик Ubuntu 18.04 — выберите начальный файл в зависимости от условия
У меня есть ISO-установка Ubuntu 18.04, в которой есть файл.
в
txt.cfg
имеет 4 параметра, и файл preseed выбирается на основе выбранного параметра:
label option1
menu option1
kernel /install/vmlinuz
append file=/cdrom/option1.seed vga=788 initrd=/install/initrd.gz ...
label option2
menu option2
kernel /install/vmlinuz
append file=/cdrom/option2.seed vga=788 initrd=/install/initrd.gz ...
каждый из исходных файлов (в этом примере
option1.seed
&
option2.seed
) устанавливает разделы по-разному, используя
d-i partman-auto/expert_recipe string
.
Вместо того, чтобы пользователю выбирать подходящий для него вариант разбиения, я написал bash-скрипт, который по разным параметрам машины (ЦП, ОЗУ и т.д.) может подсказать, какой вариант подходит.
Как я могу запустить скрипт bash как часть
.cfg
файл или где-то в
.seed
файл?
Я видел использование
d-i preseed/late_command
а также
d-i preseed/early_command
но не уверен, как их использовать.
1 ответ
я думаю
txt.cfg
это конфигурация для SYSLINUX/ISOLINUX. Я не думаю, что он способен на динамические параметры, которые вы ищете.
я предлагаю использовать
early_command
скопировать соответствующий рецепт на определенный путь, используемый preseed
expert_recipe_file
вариант. Один и тот же файл preseed используется для всех установок, но файл рецепта можно выбрать на основе любой желаемой логики.
Например, я буду использовать параметры, подобные этим, в моем предварительно заданном файле, чтобы выбрать рецепт на основе UEFI или BIOS.
d-i preseed/early_command string \
if [ -d /sys/firmware/efi/ -o -d /proc/efi ]; then \
cp /cdrom/recipe_efi /run/my_recipe ; \
else \
cp /cdrom/recipe_bios /run/my_recipe ; \
fi ;
d-i partman-auto/expert_recipe_file string /run/my_recipe