[devel-distro] Q: virt-install vs vm/builder qcow2

Антон Мидюков midyukov-anton at ya.ru
Mon Dec 6 01:40:31 MSK 2021


05.12.2021 21:33, Konstantin Lepikhov пишет:
> Hi Антон!
> 
> On 12/05/2021, at 05:41:20 PM you wrote:
> 
>>>> Он получается с gfxterm. Что мне кажется неправильным.
>>> ? gfxterm подключается только если выставлена переменная GRUB_UI:
>>>
>>> ifdef GRUB_UI
>>> GRUB_CFG := $(GRUB_CFG) gfxterm
>>> endif
>>>
>>
>> Этот код не имеет отношение к целям vm/, только для distro/, т.е. iso.
> Да, поэтому я его и умянул, что на результат он не влияет.
> 
>>
>> Я посмотрел в grub вывод команды:
>> terminal_output
>> gfxterm
>>
>> Дело в том, что в собираемом образе в /etc/sysconfig/grub2 прописан
>> GRUB_TERMINAL_OUTPUT='gfxterm'
> Потому что это прилетает с grub2-common. Собственно, GRUB_TERMINAL это
> поведение и меняет. В общем, может быть стоит сделать use/grub/<console|terminal> для
> каждого случая в отдельности, а не менять use/tty.
> 

Я думаю, что можно сделать поведение зависимым от наличия темы grub.
Нет темы grub, значит и gfxterm не нужен, использовать console.
В iso образах с grub сейчас такая логика.

Но этого недостаточно для того, чтобы работала virsh console.
Нужно настраивать serial.

Одновременная настройка console и serial приводит к артефактам,
также как одновременная настройка console и gfxterm.
Так что одновременная их настройка не кажется хорошей идеей.

Из всего могу сделать вывод, что нужен внешний инструмент для
донастройки образов. Так как всем не угодишь.
Кто-то этот образ будет с графикой запускать, а кто-то без.

Патч для включения console предлагаю такой:

commit d0f4dfb7e15a9ae291dacf49a0030348c87258a4 (HEAD -> next)
Author: Anton Midyukov <antohami �� altlinux.org>
Date:   Mon Dec 6 04:30:31 2021 +0700

    build-vm: add 20-grub-terminal script for setup terminal_output
    
    By default, GRUB_TERMINAL_OUTPUT='gfxterm' is configured.
    This creates problems for virtual machines and single-board computers,
    since they need output to console.

diff --git a/features.in/build-vm/image-scripts.d/20-grub-terminal b/features.in/build-vm/image-scripts.d/20-grub-terminal
new file mode 100755
index 0000000000..c898df7b06
--- /dev/null
+++ b/features.in/build-vm/image-scripts.d/20-grub-terminal
@@ -0,0 +1,14 @@
+#!/bin/sh -efu
+
+GRUB_CFG=/etc/sysconfig/grub2
+
+[ -s "$GRUB_CFG" ] || exit 0
+
+GRUBTHEME="$(cat "$GRUB_CFG" |grep '^GRUB_THEME=.*' |tail -n 1)"
+GRUBTHEME="${GRUBTHEME%/*}"
+GRUBTHEME="${GRUBTHEME##*/}"
+
+[ -z "$GRUBTHEME" ] || exit 0
+
+sed '/^GRUB_TERMINAL_OUTPUT=.*/d' -i "$GRUB_CFG"
+echo 'GRUB_TERMINAL_OUTPUT="console"' >> "$GRUB_CFG"


-- 
С уважением, Антон Мидюков <antohami �� altlinux.org>


More information about the devel-distro mailing list