Creación de una máquina virtual Debian 13 Trixie en modo texto
En el caso de Debian, podemos instalar a través de red sin necesidad de descargar la ISO.
Obtenemos el valor más adecuado para --os-variant del comando osinfo-query os | grep debian (en este caso debian13, pero puede variar dependiendo de la versión del sistema anfitrión).
Ejecutaremos:
virt-install --name debianvm \
--os-variant debian13 \
--vcpus 1 \
--ram 2048 \
--cpu host-passthrough \
--disk size=20 \
--network model=virtio \
--graphics none \
--extra-args console=ttyS0,115200n8 \
--location https://deb.debian.org/debian/dists/trixie/main/installer-amd64/
Las opciones suministradas son:
--name debianvm: Nombre de la VM.--os-variant debian13: Variante de OS para el que se está creando la máquina virtual.--vcpus 1: Número de vCPUs asignados a la máquina virtual.--ram 2048: Cantidad de memoria RAM en MiB.--cpu host-passthrough: Pasar el modelo de CPU “real” a la VM.--disk size=20: Tamaño de disco en GB.--network model=virtio: Configuración de red,virt-installeligirá el tipo de redbridgepor defecto. Si no hemos configurado ningún Bridge o queremos utilizar NAT, cambiaremos el valor anetwork=default,model=virtio.--graphics none: No se asigna ninguna interfaz gráfica a la máquina virtual.--extra-args console=ttyS0,115200n8: Argumentos adicionales para el kernel.--location https://deb.debian.org/debian/dists/trixie/main/installer-amd64/: Especificamos que descargue de red el kernel y el archivo initrd.
Importante: El instalador de Debian no configura la consola serie, así que tenemos que hacerlo al final de la instalación como indico más abajo.

En primer lugar, se nos solicita indicar el idioma de instalación. Solamente hay dos opciones, “C” (inglés ASCII) o “English” (inglés UTF-8). Nótese que el instalador no acepta caracteres no ASCII en las entradas, acentos por ejemplo, aunque seleccionemos la segunda opción.

Después seleccionamos el país o región donde está situada nuestra máquina virtual. En mi caso, “España”; para llegar a allí, tendremos que seleccionar “other” → “Europe” → “Spain”. Esta elección determina qué zonas horarias se nos ofrecerán más adelante.

A continuación, se nos solicita indicar la configuración regional, que viene condicionada por el idioma de instalación. En este caso, como hemos seleccionado “English”, seleccionaremos la opción por defecto, “United States - en_US.UTF-8” (Estados Unidos, UTF-8).

Ahora indicaremos la distribución de teclado. Como conectamos por consola serie, el valor es indiferente, pero yo prefiero configurar “Spanish” por si, más adelante, se agrega consola gráfica a la máquina virtual.

Introducimos el nombre de máquina.

Y también el nombre de dominio.

Se nos solicita elegir el país desde el que seleccionar el mirror de descarga.

Finalmente, se nos pide indicar el servidor mirror. La opción por defecto, deb.debian.org, suele ser correcta.

A continuación, se nos solicita configurar un proxy si es necesario. En mi caso, no lo necesito.

El sistema descarga e instala en sistema de ficheros RAM los paquetes del instalador.

Después se nos solicita establecer la contraseña del usuario root. Si la dejamos en blanco, se instalará sudo y se configurará el usuario que se crea después para que pueda ejecutar comandos como superusuario. Hay otra pantalla de confirmación de la contraseña de root que omito.

Introducimos el nombre completo del usuario. Nótese que no podemos utilizar tildes o cualquier otro carácter no ASCII.

Confirmamos o modificamos el nombre de usuario (login).

Como ocurrió con root, tenemos que introducir dos veces la contraseña del usuario normal. En este caso, no podemos dejarla vacía. Y, también como entonces, hay una segunda pantalla de confirmación.

Se nos da a elegir entre las zonas horarias del país que seleccionamos en la segunda pantalla.

Tras unos segundos, se nos pregunta cómo queremos particionar el disco:
- “Guided - use entire disk”: Sistemas de ficheros y swap en particiones.
- “Guided - use entire disk and set up LVM”: Configurar LVM con una partición para
/boot, y Logical Volumes para el resto de sistemas de ficheros y la swap. - “Guided - use entire disk and set up encrypted LVM”: Lo mismo, pero cifrando el Volume Group.
- “Manual”: Realizar el particionado a mano.
Por comodidad, en este caso elijo “Guided - use entire disk”.

Si hemos seleccionado cualquiera de las primeras tres opciones, se nos pedirá seleccionar sobre qué disco queremos que se instale el sistema. En este caso, solamente hay uno.

Ahora escogemos en cuántas particiones (o Logical Volumes) queremos que se divida el disco:
- Todo en la raíz, más swap.
- Sistema de ficheros
/homeseparado. - Sistemas de ficheros
/home,/var, y/tmpseparados. - Sistemas de ficheros
/vary/srvseparados y swap pequeña. - Esquema para discos de menos de 10 GB.
Lo más cómodo es dejar todo en la raíz, más swap, sobre todo si estamos haciendo una prueba. Si tenemos en mente futuras necesidades de crecimiento, podemos elegir otra opción. En ese caso, recomiendo haber elegido antes LVM.

Se nos muestra qué va a hacer el instalador respecto a los sistemas de ficheros y se nos pide confirmación.

Y se nos vuelve a solicitar confirmar los cambios antes de escribir en el disco.

Tras crear los sistemas de ficheros, el instalador empieza a instalar los paquetes básicos del sistema operativo en estos. Esto tarda un par de minutos.

Se nos ofrece la opción de activar el paquete popularity-contest, que recopila información sobre qué paquetes se instalan en el sistema para estadísticas.

A continuación, escogemos qué grupos de paquetes queremos instalar. Como este es un sistema headless, no nos interesa instalar el sistema de escritorio, pero sí el servidor SSH, que no viene seleccionado por defecto, y las utilidades básicas de administración.

Se instalan los paquetes seleccionados en la anterior pantalla, lo que tarda cerca de un minuto (si hemos dejado marcados únicamente “SSH server” y “standard system utilities”).

Tenemos que confirmar si queremos que se instale GRUB en la MBR del disco. Normalmente, querremos.

Y después seleccionamos en qué dispositivo instarlo. La única opción, en nuestro caso, es el disco principal /dev/vda.

El instalador hace los últimos retoques de configuración. Entre otras cosas, es ahora cuando crea el usuario de sistema.

Ahora nos pide confirmación para reiniciar. No debemos reiniciar todavía. Tenemos que configurar el arranque en GRUB para que Linux utilice la consola serie.
Para ello, pulsamos en secuencia Control-A y 2, lo que nos lleva a una sesión de shell:

Aquí ejecutaremos el comando chroot /target para cambiar el directorio raíz al sistema instalado. Luego, editamos el archivo /etc/default/grub con el editor nano o vi y cambiamos
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
por
GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,115200n8 quiet"
Salimos del editor y ejecutamos update-grub para actualizar la configuración de GRUB. Después de esto, pulsamos Control-D (o ejecutamos exit) para salir de la sesión de chroot.
Ahora ya podemos volver al instalador con Control-A y luego 1 y reiniciar el sistema.
Aquí dejo una grabación con el proceso completo:
Anterior Siguiente