Как загрузить и установить образ сервера Ubuntu на QEMU -nographic без графического интерфейса?
Как запустить Ubuntu 16.04 Desktop на QEMU? Я подробно описал, как загрузить и установить образ рабочего стола Ubuntu в QEMU.
Теперь я хотел сделать аналогичную настройку для образа сервера, чтобы попытаться сделать вещи более минимальными:
wget http://releases.ubuntu.com/18.04/ubuntu-18.04.1.0-live-server-amd64.iso
Я установил образ сервера с графическим интерфейсом ранее, и кажется, что установка основана на тексте, поэтому я подумал, что он может работать.
Но тогда, если я просто добавлю обычное:
-nographic -serial mon:stdio
как в:
qemu-system-x86_64 -cdrom ubuntu-18.04.1.0-live-server-amd64.iso \
-drive file=ubuntu-18.04.1.0-live-server-amd64.img.qcow2,format=qcow2 \
-enable-kvm -m 2G -smp 2 -vga virtio -nographic -serial mon:stdio
Я просто никогда ничего не получаю на серийном терминале.
Я также попытался смонтировать образ, чтобы увидеть, что было внутри:
mkdir mydir
sudo mount ubuntu-18.04.1.0-live-server-amd64.iso mydir
чтобы увидеть, что было внутри, и:
cat mydir/boot/grub/grub.cfg
указывает на то, что нет console=ttyS0
опция в командной строке, которая может объяснить, почему терминал пуст.
Однако я не могу отредактировать файл ISO, не войдя в сессию с графическим интерфейсом, так как он монтируется только для чтения.
Я уже использовал образ Облака ранее, и это здорово: есть ли в сети заранее готовый образ QEMU Ubuntu (32bit)? но я не могу использовать его в этот раз, потому что мне нужен GRUB для чего-то (edit: nevermind, в облачном образе есть GRUB, просто он скрыт по умолчанию, см.: Как войти в меню GRUB во время загрузки с помощью последовательной консоли?)
Связанный: Как добраться до меню GRUB во время загрузки, используя последовательную консоль? Мне удалось заставить GRUB отображаться на терминале после изменения конфигурации GRUB с графическим интерфейсом, как показано в этой теме.
Протестировано на хосте Ubuntu 16.04.
1 ответ
Есть такой вариант, который вы можете дать qemu:
-display curses
Display video output via curses. For graphics device models which support a text mode, QEMU can display this output using a curses/ncurses interface.Nothing is displayed when the graphics device is in graphical mode or if the graphics device does not support a text mode. Generally only the VGA device models support text mode.
источник: https://www.qemu.org/docs/master/system/invocation.html?highlight=curses
Но я предполагаю, что это не решит проблему или станет решением вашей или чужой проблемы.