Загрузите установку OpenSuSE в QEmu-KVM, используя QEmu-KVM в качестве загрузчика

Я пытаюсь передать параметры ядра в виртуальную установку OpenSuSE без ввода их в приглашении к загрузке, используя возможность KVM для прямой загрузки ядра.

Сначала я монтирую установочный DVD следующим образом (чтобы загрузочные файлы были доступны на хосте):

fuseiso openSUSE-12.3-NET-x86_64.iso ~/mnt/cdrom

затем я порождаю виртуальную машину вот так (есть больше опций, но я не думаю, что они здесь уместны):

kvm \
 -drive file=./openSUSE-12.3-NET-x86_64.iso,index=1,media=cdrom \
 -kernel ~/mnt/cdrom/boot/x86_64/vmlinuz-xen \
 -initrd ~/mnt/cdrom/boot/x86_64/initrd-xen

Это приводит к сообщению об ошибке:

Direct floppy boot is not supported. Use a boot loader program instead.
Remove disk and press any key to reboot ...

это то же самое сообщение, которое я получил бы, если бы начальный виртуальный диск (initrd) был недействительным. Использование аналогичной установки с установщиком CentOS 6.3 работает нормально. Я использую QEmu-KVM версии 1.0 (с Ubuntu Precise 12.04 в качестве хоста).

Кто-нибудь заставил это работать, и какой initrd вы использовали в этом случае?

2 ответа

Решение

Мне удалось (случайно) понять это самостоятельно; ядро и начальный RAM-диск находятся в loader/ подкаталог. Таким образом, команда для запуска должна быть:

kvm \
 -drive file=./openSUSE-12.3-NET-x86_64.iso,index=1,media=cdrom \
 -nographic -vga none \
 -kernel ~/mnt/cdrom/boot/x86_64/loader/linux \
 -initrd ~/mnt/cdrom/boot/x86_64/loader/initrd \
 -append "serial console=ttyS0"

Две точки

  1. Может ли ваша виртуальная машина загружаться без KVM, указывающей ядро?
  2. Я не уверен, но если использовать KVM для указания ядра, вы пытались использовать путь, относящийся к корню виртуальной машины, вместо того, чтобы использовать путь, находящийся вне виртуальной машины?
Другие вопросы по тегам