Передать файл кикстарта в xml-файл виртуального менеджера

Мне нужно передать файл кикстарта в xml для создания виртуального устройства с помощью virt-install.

<os>
    <type arch="x86_64" machine="pc-i440fx-xenial">hvm</type>
    <loader>/usr/lib/xen/boot/hvmloader</loader>
    <kernal>/boot/vmlinuz-3.10.0-327.el7.x86_64</kernal>
    <initrd>/boot/initrd.img-4.4.0-59-generic</initrd>
    <cmdline>ks=http://ipaddr/try.cfg ip=ip netmask=255.255.255.0</cmdline>
    <bootmenu enable="yes" />
</os>

Это правильный путь? Я выполнил шаги, описанные в этом руководстве. Но я получаю следующую ошибку:

Файл "/usr/lib64/python2.7/site-packages/libvirt.py", строка 1029, при создании

if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirt.libvirtError: unable to stat:

/boot/vmlinuz-3.10.0-327.el7.x86_64: Нет такого файла или каталога


person supraja    schedule 13.01.2017    source источник


Ответы (1)


Общий синтаксис, который вы использовали, верен, но в предоставленных вами данных есть некоторые ошибки. В частности, вы предоставили образ ядра для параметра ‹initrd›, который должен указывать на образ initrd. Кроме того, вы, как правило, вообще не захотите использовать ядро ​​+ initrd из каталога /boot вашей хост-ОС. Скорее вы захотите получить ядро ​​+ initrd для установщика ОС. Если бы вы пытались установить Fedora в своей гостевой системе, вы бы взяли файлы из

http://dl.fedoraproject.org/pub/fedora/linux/releases/25/Server/x86_64/os/images/pxeboot/

и поместите их в /var/lib/libvirt/images/ и укажите на них свой XML.

person DanielB    schedule 13.01.2017
comment
Спасибо @DanielB да, сэр, это была опечатка. Я сейчас отредактировал. Но мне не очень понятно, какие данные ставить для элементов: ядро ​​и initrd. Детали: ОС - centos-7 linux. Можете ли вы объяснить мне подробно? Спасибо. - person supraja; 23.01.2017
comment
Просто скачайте файлы initrd.img и vmlinuz из каталога pxeboot/ соответствующей ОС и сохраните их в /var/lib/libvirt/images. Для XML просто нужно ‹kernel›/var/lib/libvirt/images/{имя файла vmlinuz}‹/kernel› ‹initrd›/var/lib/libvirt/images/{имя файла initrd.img}‹/initrd› - person DanielB; 23.01.2017
comment
да сэр. Я понял. Спасибо. И это единственный способ передать файл кикстарта через xml? - person supraja; 23.01.2017
comment
Да, использование элементов kernel+initrd+cmdline — единственный явный способ запустить кикстарт через XML. В качестве альтернативы можно взять образ boot.iso, распаковать его, добавить файл кикстарта, а затем создать новый образ ISO из содержимого. Это значительно сложнее, чем просто напрямую использовать kernel+initrd. Или настройте загрузочный сервер PXE где-нибудь с файлами - person DanielB; 26.01.2017