Установщик 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
Другие вопросы по тегам