Загрузите установку 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"
Две точки
- Может ли ваша виртуальная машина загружаться без KVM, указывающей ядро?
- Я не уверен, но если использовать KVM для указания ядра, вы пытались использовать путь, относящийся к корню виртуальной машины, вместо того, чтобы использовать путь, находящийся вне виртуальной машины?