Не удалось автоматизировать установку Linux OS на KVM

Вопрос или проблема

Я не могу автоматизировать установку Rocky9 Linux на KVM. Я использую Kickstart для автоматизации установки. Вместо автоматической установки на экране появляется экран установки, если я вхожу в консоль ВМ.

Вот скрипт Kickstart:

# Сгенерировано Anaconda 34.25.4.9
# Сгенерировано pykickstart v3.32
#version=RHEL9
# Использовать текстовый режим установки
text
repo --name="minimal" --baseurl=file:///run/install/sources/mount-0000-cdrom/minimal

%addon com_redhat_kdump --enable --reserve-mb='auto'

%end

# Язык системы
lang en_US.UTF-8

# Использовать установочные носители CDROM
cdrom

%packages
@^minimal-environment

%end

# Запустить Агент Настройки при первом запуске
firstboot --enable
# Не настраивать X Window System
skipx

# Сгенерировано с использованием Blivet версии 3.6.0
ignoredisk --only-use=vda
# Конфигурация загрузчика системы
bootloader --append="crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M" --location=mbr --boot-drive=vda
autopart
# Информация о очистке разделов
clearpart --all --initlabel --drives=vda

# Часовой пояс системы
timezone America/New_York --utc

# Пароль root
rootpw 1234567890

Вот как я создаю ВМ:

$ sudo virt-install \
--virt-type kvm \
--name kvm6 \
--ram 2048 \
--vcpus 2 \
--disk size=20 \
--os-variant rocky9 \
--network network=bridged-network \
--graphics none \
--location /tmp/Rocky-9.4-x86_64-minimal.iso \
--check all=off \
--initrd-inject inst.ks \
--extra-args="ks=file:/inst.ks console=tty0 console=ttyS0,115200" \
--noautoconsole


Начало установки...
Получение 'vmlinuz'                                                                                   |  13 MB  00:00:00
Получение 'initrd.img'                                                                                | 102 MB  00:00:00
Распределение 'kvm6.qcow2'                                                                            |  20 GB  00:00:00
ПРЕДУПРЕЖДЕНИЕ  Переопределение памяти на 3072 MiB, необходимых для сетевой установки rocky9.
Создание домена...                                                                                     |         00:00:00

Домен все еще работает. Установка может быть в процессе.
Вы можете переподключиться к консоли, чтобы завершить процесс установки.
$

Если я войду в консоль, я вижу экран установки по умолчанию, а также следующее вверху:

Запуск установщика, подождите...
15:04:13 Обнаружен аргумент загрузки ядра 'ks'. Вы хотели использовать 'inst.ks' для установщика вместо этого?
15:04:13 Все аргументы загрузки ядра Anaconda теперь требуют использования префикса 'inst.'!
15:04:13
############## Ошибки установщика, возникшие во время загрузки ##############
'ks' устарел и был удален.
Все случаи использования аргументов загрузки Anaconda без префикса 'inst.' были удалены. Пожалуйста, используйте inst.ks вместо этого.

Проблема заключалась в том, что мне нужно было добавить inst. к ks в том, что я передавал в --extra-args. Сообщение об ошибке в моем вопросе указало мне на решение.

sudo virt-install \
--virt-type kvm \
--name kvm6 \
--ram 2048 \
--vcpus 2 \
--disk size=20 \
--os-variant rocky9 \
--network network=bridged-network \
--graphics none \
--location /tmp/Rocky-9.4-x86_64-minimal.iso \
--check all=off \
--initrd-inject inst.ks \
--extra-args="inst.ks=file:/inst.ks console=tty0 console=ttyS0,115200" \
#             ^^^^^ Это нужно было добавить
--noautoconsole

Имя файла не имеет значения.

Ответ или решение

Для автоматизации установки Rocky9 Linux на KVM с использованием Kickstart, вам необходимо внести некоторые изменения в команду virt-install, которую вы используете. Проблема, с которой вы столкнулись, связана с использованием устаревшего синтаксиса для загрузочных аргументов.

На основе вашей команды и сообщения об ошибке следует изменить параметр --extra-args, добавив префикс inst. к имени файла Kickstart. Правильное использование будет следующим:

sudo virt-install \
--virt-type kvm \
--name kvm6 \
--ram 2048 \
--vcpus 2 \
--disk size=20 \
--os-variant rocky9 \
--network network=bridged-network \
--graphics none \
--location /tmp/Rocky-9.4-x86_64-minimal.iso \
--check all=off \
--initrd-inject inst.ks \
--extra-args="inst.ks=file:/inst.ks console=tty0 console=ttyS0,115200" \
--noautoconsole

Здесь вы видите исправленное использование inst.ks вместо просто ks. Это изменение обязательно, так как в новых версиях Anaconda (которые используются для установки) требуется применять префикс inst. для всех аргументов.

После внесения этого изменения, ваш Kickstart-скрипт будет правильно интерпретироваться инсталлятором, и установка должна пройти в автоматическом режиме без показа экранов установки при доступе к консоли VM.

Дополнительно убедитесь, что файл inst.ks действительно доступен в ожидаемом месте. Вы можете проверить его на наличие ошибок, и убедиться, что он соответствует требованиям для автоматизированной установки.

Если у вас возникнут другие вопросы или потребуется помощь с настройкой сети или конфигурацией, не стесняйтесь задавать дополнительные вопросы.

Оцените материал
Добавить комментарий

Капча загружается...