qemu: ACCEL/CPU parametrizables, con caída automática a TCG

El script clavaba '-accel kvm -cpu host'. En una máquina sin /dev/kvm —un vServer
sin virtualización anidada, por ejemplo— eso aborta, y '-cpu host' tampoco existe
fuera de KVM. Ahora ACCEL/CPU son variables y, si no hay /dev/kvm escribible, cae
solo a 'tcg'+'max' avisando que va lento. Sin cambio de comportamiento donde hay KVM.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0164nrZWZc78Mr2srrsnoM8U
This commit is contained in:
Sergio
2026-09-03 20:17:02 +00:00
co-authored by Claude Opus 5
parent 099e84703f
commit 698ca1da5f
+7 -1
View File
@@ -33,8 +33,14 @@ esac
# serial nuevo cada corrida (el diagnóstico depende de que no se mezcle con boots viejos) # serial nuevo cada corrida (el diagnóstico depende de que no se mezcle con boots viejos)
: > "$SERIAL" : > "$SERIAL"
# ACCEL/CPU parametrizables: sin /dev/kvm (p.ej. un vServer sin virtualizacion anidada) hay que
# caer a TCG, y ahi `-cpu host` no existe. ACCEL=tcg CPU=max para emulacion pura.
ACCEL="${ACCEL:-kvm}"; CPU="${CPU:-host}"
if [ ! -w /dev/kvm ] && [ "$ACCEL" = kvm ]; then
echo "sin /dev/kvm: cayendo a TCG (emulacion pura, lento)" >&2; ACCEL=tcg; CPU=max
fi
QEMU_ARGS=( QEMU_ARGS=(
-machine q35 -accel kvm -cpu host -machine q35 -accel "$ACCEL" -cpu "$CPU"
-m "$MEM" -smp "$SMP" -m "$MEM" -smp "$SMP"
-vga none # virtio-gpu-pci (abajo) es el ÚNICO display: sin esto QEMU añade una VGA estándar por -vga none # virtio-gpu-pci (abajo) es el ÚNICO display: sin esto QEMU añade una VGA estándar por
# defecto y OVMF pinta el GOP ahí ⇒ simpledrm (card1) muestra el framebuffer EFI y kwin # defecto y OVMF pinta el GOP ahí ⇒ simpledrm (card1) muestra el framebuffer EFI y kwin