qemu, guix, haiku y otras yerbas I
Aprovechando que tengo máquina de sobra para virtualización y que
también hay ganas de probar algunas cosas sin poner en riesgo la
instalación, pues me he puesto a experimentar un poco con máquinas
virtuales. ¿Qué quiero probar? Sencillo: Guix, Haiku-os y veré si
en el futuro, también exwm
... ¿Con algún objetivo en mente o porque
sí? Bueno, Guix llevo con ganas de probar la distro desde el
momento que supe de ella y había probado en sus inicios, también
virtualmente, pero iba tan lenta que lo deseché. También he probado
antes Haiku, pero fue cuando estaba en versión alfa y no se podía
instalar en disco duro. Por último, exwm
, porque me gustan los
entornos de ventana teselantes y mi lado friki no puede evitar
pensar en tener el entorno de ventanas gestionado por Emacs. Quizás
sea mucho contenido para un solo artículo, así que lo partiré en
varios para no cansinar al pobre lector. En este veremos los
procesos de instalación de ambos sistemas operativos. En el siguiente
compararé el rendimiento de ambos y compararemos las características y
sensaciones.
Instalación de Guix
Descargar la imagen y hace la comprobación
wget https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso wget https://ftp.gnu.org/gnu/guix/guix-system-install-1.3.0.x86_64-linux.iso.sig gpg --verify guix-system-install-1.3.0.x86_64-linux.iso.sig
Crear un dispositivo con
qemu
:qemu-img create -f qcow2 guix-system.img 50G
~/qemu-vm $ ls -lah total 612M drwxr-xr-x 1 notxor notxor 240 2022-03-02 10:25 . drwx------ 1 notxor notxor 1.2k 2022-03-02 10:18 .. -rw-r--r-- 1 notxor notxor 612M 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso -rw-r--r-- 1 notxor notxor 833 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso.sig ~/qemu-vm $ qemu-img create -f qcow2 guix-system.img 50G Formatting 'guix-system.img', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=53687091200 lazy_refcounts=off refcount_bits=16 ~/qemu-vm $ ls -lah total 612M drwxr-xr-x 1 notxor notxor 270 2022-03-02 10:27 . drwx------ 1 notxor notxor 1.2k 2022-03-02 10:18 .. -rw-r--r-- 1 notxor notxor 612M 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso -rw-r--r-- 1 notxor notxor 833 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso.sig -rw-r--r-- 1 notxor notxor 193k 2022-03-02 10:27 guix-system.img ~/qemu-vm $
Ha creado el
guix-system.img
, aunque hemos dicho que el tamaño fuera 50Gb, el archivo creado es de 193Kb, luego irá creciendo según lo necesite hasta el máximo de 50Gb. Iniciamos la instalación, siguiendo la documentación de Guix:qemu-system-x86_64 -m 2048 -smp 1 -enable-kvm \ -nic user,model=virtio-net-pci -boot menu=on,order=d \ -drive file=guix-system.img \ -drive media=cdrom,file=guix-system-install-1.3.0.x86_64-linux.iso
Proceso de instalación
Por lo que tengo entendido, todo el proceso de instalación de Guix
lo que hace es generar un /script/de Guile scheme
que realizará
tanto la descarga como la configuración del sistema. Me llamó la
atención la simplicidad del mismo. Vamos a repasarlo, partiendo del
comando anterior:
-m 2048
: se reservan 2Gb de RAM para la máquina.-enable-kvm
: acelera la máquina virtual.-nic user,model=virtio-net-pci
: virtualizamos la red de la máquina como si fuera una conexión cableada, dándole a la máquina virtual la posibilidad de acceder a la Internet.-boot menu=on,order=d
: establece que se arranque con el menú degrub
activado y que en el orden de preferencia de dispositivos para el arranque se tome primero elcdrom
.-drive file=guix-system.img
: es el fichero de imagen que creamos en el apartado anterior y el que queremos usar como disco duro virtual.- ~-drive
media=cdrom,file=guix-system-install-1.3.0.x86_64-linux.iso~: es la
imagen de instalación que montamos como si fuera un cdrom
en qemu
para realizar la instalación desde ella.
Tras el menú de arranque nos pregunta qué idioma queremos utilizar durante el proceso de instalación.
Una vez que hemos seleccionado el idioma vemos que ya el país nos lo pregunta en español.
A continuación podemos seleccionar si queremos utilizar la instalación
interactiva gráfica (aunque sea dialog
de terminal) o queremos la
instalación de shell
. En mi caso seleccioné la interfaz gráfica.
A continuación nos pide la zona horaria. En mi caso «Europa/Madrid».
Después seleccionamos la distribución del teclado. En mi caso «Español de España».
A continuación nos pide un nombre para la máquina.
A continuación nos hace una pregunta un poco enrevesada, además en perfecto inglés. Por lo que he leído en la documentación, --puedo estar equivocado--, nos pregunta si permitir que Guix añada otros servidores que encuentre por la misma red para obtener paquetes de instalación. Esto acelera la instalación de Guix en varias máquinas de la misma red, pues la obtención de los paquetes se puede distribuir entre ellas.
A continuación nos pide una contraseña para el usuario root
. Por
supuesto, lo hará dos veces para evitar errores de tecleo.
Nos propondrá que creemos usuarios. Al menos se debe crear uno.
Una vez creado un usuario, nos pedirá la confirmación de su contraseña, de nuevo para evitar errores de tecleo.
A continuación nos permite seleccionar el escritorio que usará el usuario, por defecto.
También podemos activar algunos servicios de red básicos. En mi caso activé los tres propuestos.
Llega el momento de particionar el disco duro.
Seleccioné la opción «guiada» y lo primero que pide es seleccionar el
disco duro donde instalarse. Hay que recordar que a qemu
le dimos
dos unidades: el CD-ROM de instalación y un disco duro virtual de
50Gb, que es el primero que nos aparece en la lista.
A continuación tenemos que elegir el tipo de particiones que vamos a
utilizar. En nuestro caso gpt
.
Lo siguiente es decirle qué esquema de particiones queremos. Para no complicarme mucho seleccioné el «Todo en una partición».
El sistema de instalación propone un particionado que acepté sin modificar nada.
Una vez realizada esa parte, llega la delicada, que es dar formato al
disco. En este caso tampoco es muy delicada porque estoy utilizando un
disco duro virtual. Hasta ahora todo lo que se ha venido haciendo es
guardar opciones en un script
que hará la instalación. Pero este
paso realiza una escritura en disco. Por lo que es posible que se
pierdan datos, si estamos utilizando un disco físico y lo advierte.
Como he dicho, lo que hace el instalador es generar un script
que
realizará la instalación de manera automática con las opciones que le
hayamos dado. En el siguiente paso, nos muestra el código fuente del
mismo y nos da la oportunidad de modificarlo si queremos. Mi
recomendación es que no lo toquéis, pero cada uno es muy libre de
experimentar lo que quiera.
A continuación el instalador se pone a descargar los paquetes que necesita para configurar nuestro sistema operativo con los parámetros que le hemos dado.
Cuando termina de hacerlo nos muestra en el instalador la opción de reiniciar el equipo con nuestro nuevo sistema operativo.
Iniciando Guix
Es el momento de sacar el CD-ROM de la unidad y reiniciar el sistema. Si reiniciamos tal y como estamos, volverá a arrancar con la unidad de instalación. Tenemos que cancelar el proceso y arrancar con otra línea de comandos, eliminando la parte del CD-ROM.
qemu-system-x86_64 -m 1024 -smp 1 -enable-kvm \ -nic user,model=virtio-net-pci -boot menu=on \ -drive file=guix-system.img
Cambia, por ser más detallado, que he eliminada order=d
del arranque
y también ha desaparecido ese drive
de la línea de comandos. Primero
nos arrancará el menú grub
, porque se lo he pedido (también se puede
eliminar).
La ventana de entrada al sistema pidiendo qué usuario utilizar:
Nuestro XFCE4 funcionando a la perfección.
Después de la instalación, podemos comprobar cómo ha crecido el espacio del dispositivo.
~/qemu-vm $ ls -lah total 9.2G drwxr-xr-x 1 notxor notxor 206 2022-03-03 09:45 . drwxr-xr-x 1 notxor notxor 282 2022-03-03 09:43 .. -rw-r--r-- 1 notxor notxor 612M 2022-03-03 09:43 guix-system-install-1.3.0.x86_64-linux.iso -rw-r--r-- 1 notxor notxor 833 2022-03-03 09:44 guix-system-install-1.3.0.x86_64-linux.iso.sig -rw-r--r-- 1 notxor notxor 8.6G 2022-03-03 09:45 guix-system.img ~/qemu-vm $
Como podemos observar es un proceso sencillo y basta ir leyendo las preguntas que nos va haciendo preguntas claras y tampoco demasiado técnicas. Si lo estamos instalando en una máquina física, no deberíamos tener mayor problema si nuestro hardware es completamente compatible con GNU/Linux.
Creando una máquina virtual de Haiku-os
Otra de las cosas que quería probar, puesto que estamos de instalaciones virtuales, es Haiku. Ya lo probé hace años, también en una máquina virtual. Entonces estaba en una versión alfa y no había otra opción. La última versión, sin embargo, ya se puede instalar en una partición física si se quiere.
Para el que no lo conozca, aunque creo que a estas alturas ya lo conocerá todo el mundo, Haiku, además de un tipo de poesía de origen japonés, es un sistema operativo que intenta resucitar BeOS. Resucitar no sería la palabra, pues BeOS no murió a pesar del fracaso comercial de Be, sigue teniendo un pequeño, aunque muy fiel, grupo de seguidores.
El proceso de instalación es muy similar al que se ha hecho para instalar Guix, pero lo voy a repetir para compararlo. En este caso, cuando habla de instalación gráfica, se refiere a gráfica de verdad.
Antes de nada, lo primero será descargar la imagen del disco de instalación.
Vamos a la web de haiku-os y vemos un botón enorme de «descarga» en el centro de la página.
Pinchamos en ese botón gordo de downloads y descargamos la
iso
que nos vaya bien:Copiamos la
iso
donde queramos crear la máquina virtual. En mi caso la he puesto junto con la de Guix en el mismo directorio:~/qemu-vm $ ls -lah total 9.9G drwxr-xr-x 1 notxor notxor 270 2022-03-03 09:46 . drwx------ 1 notxor notxor 1.3k 2022-03-03 10:02 .. -rw-r--r-- 1 notxor notxor 612M 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso -rw-r--r-- 1 notxor notxor 833 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso.sig -rw-r--r-- 1 notxor notxor 8.6G 2022-03-03 09:51 guix-system.img -rw-r--r-- 1 notxor notxor 719M 2022-03-01 22:13 haiku-r1beta3-x86_64-anyboot.iso ~/qemu-vm $
Si queréis probarlo antes de instalarlo, el disco de Haiku también funciona, si la copiamos en un USB o la quemamos en un disco, como sistema de prueba. Arrancando desde esa unidad nos deja probarlo sin instalar nada.
Proceso de instalación de Haiku-os
En este caso, como lo voy a hacer en una máquina virtual, no me
preocupa tanto probarlo, lo haré desde qemu
, lo podré trastear,
configurar a mi gusto y comprobar su estabilidad con una instalación
más permanente.
Pero vamos ya con la instalación. Lo primero es crear el disco virtual para instalar Haiku-OS en él.
qemu-img create -f qcow2 haiku-os.img 50G
El resultado es un archivo haiku-os.img
de 193kb en el que haremos
la instalación.
~/qemu-vm $ ls -lah total 9.9G drwxr-xr-x 1 notxor notxor 294 2022-03-05 08:54 . drwx------ 1 notxor notxor 1.3k 2022-03-05 08:49 .. -rw-r--r-- 1 notxor notxor 612M 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso -rw-r--r-- 1 notxor notxor 833 2021-05-12 2021 guix-system-install-1.3.0.x86_64-linux.iso.sig -rw-r--r-- 1 notxor notxor 8.6G 2022-03-03 09:51 guix-system.img -rw-r--r-- 1 notxor notxor 193k 2022-03-05 08:54 haiku-os.img -rw-r--r-- 1 notxor notxor 719M 2022-03-01 22:13 haiku-r1beta3-x86_64-anyboot.iso ~/qemu-vm $
De manera similar a como se hizo la instalación de Guix, tenemos que
arrancar qemu
con el dispositivo montando la iso
al arrancar y el
img
preparado como disco duro donde meteremos la instalación. Por
tanto el comando es muy similar al utilizado anteriormente:
qemu-system-x86_64 -m 2048 -smp 1 -enable-kvm \ -nic user,model=virtio-net-pci -boot menu=on,order=d \ -drive file=haiku-os.img \ -drive media=cdrom,file=haiku-r1beta3-x86_64-anyboot.iso
Como ya expliqué cada parte de este comando al instalar Guix no volveré a repetiré el significado de cada uno, os remito a la explicación más arriba.
Arrancamos el sistema desde línea de comandos:
Tras arrancar nos pregunta el idioma en el que queremos trabajar y nos permite seleccionar también la distribución del teclado. A continuación, podemos seleccionar si queremos instalarlo o simplemente probarlo, como dije antes.
En mi caso, quiero instalar Haiku, por ello seleccioné el botón correspondiente. Tras pulsarlo, nos aparece una ventana de información importante, especialmente si quieres instalar Haiku en un dispositivo físico en lugar de en uno virtual. Dándonos la oportunidad de seguir adelante o salir de la instalación.
Como he decidido continuar, me pregunta en qué dispositivo quiero instalarlo.
Aunque tenemos preparada un dispositivo virtual para instalarlo, Haiku no lo detecta. Tenemos que formatearlo con el sistema de particiones de BeOS.
Para ello, particionamos el disco duro que nos aparece el primero en la lista, de tamaño 50Gb que tenemos preparado.
Debemos seleccionarlo en la lista y darle a la partición el formato Be File System.
Después de haberlo hecho, ya nos aparece en la lista de dispositivos destino nuestro disco duro.
El proceso de instalación es rapidísimo... tanto que no dio tiempo a tomar un pantallazo durante el tiempo de espera. En unos segundos pidió ya el reiniciar con el sistema operativo ya instalado.
Igual que antes, para reiniciar, hay que extraer la unidad de instalación. Cuando es física, simplemente la sacamos de su localización y reiniciamos. Pero al ser virtual, lo tenemos que hacer desde la línea de comandos, eliminando las partes no deseadas, como antes.
Por último, el software que provee el disco de instalación puede tener ya algo de tiempo y es conveniente actualizarlo. Para ello, entre las aplicaciones que vienen instaladas está el «actualizador de software»
También puedes instalar muchas más aplicaciones para Haiku, con la
aplicación HaikuDepot
:
Adivinad, cuál ha sido la primera que he instalado, no lo digo, os lo enseño:
Conclusiones
La virtualización me va a permitir probar cosas sin ensuciar el sistema operativo instalado en mi máquina. Aún poniendo atención, cuando probamos cosas, no siempre nos deshacemos de la «basura» que va quedando, esas librerías y dependencias que instala el sistema y que cuando lo desinstalamos, se quedan huérfanas en el disco.
De momento, y por comprobar, ambos sistemas operativos que quería probar están funcionando correctamente. Incluso me han permitido utilizar toda la pantalla del portátil y trabajar en modo pantalla completa es posible.
Me ha sorprendido la ligereza y rapidez de Haiku-os, no lo recordaba tan fluido, quizá también porque cuando lo probé, hace unos años había bastante menos máquina.
La demo de la tetera me funciona a 1.102 fps, ocupa poco espacio con lo básico instalado:
~/qemu-vm $ ls -lh total 9.4G -rw-r--r-- 1 notxor notxor 8.6G 2022-03-03 09:51 guix-system.img -rw-r--r-- 1 notxor notxor 822M 2022-03-05 10:17 haiku-os.img ~/qemu-vm $
No llega al giga y trae todo el sistema gráfico integrado, herramientas de programación, las habituales de todo sistema operativo:
- Gestor de ficheros
- Lanzador de aplicaciones
- Editor de textos básico (trae también un UI para programación con debugger incluido)
- Visor de procesos y recursos del sistema
- Terminal
- Navegador web gráfico
- ...
Haiku promete ser frugal con los recursos y puede ser una buena
alternativa para máquinas antiguas. Habría que comprobar cómo llevan
el tema de los drivers, las compatibilidades con el hardware y el
tema de la seguridad. De momento es un sistema operativo que aún no es
multiusuario, no hay usuario root
o similar. Aunque ya mantiene
separados dos apartados /system
y /home
. Hay que recordar, que
Haiku como BeOS, no es Unix. Aunque sí cumple el estándar
posix. No hay que dejarse engañar porque en su terminal utilice
bash
o porque su lista de aplicaciones sea muy similar a cualquier
lista de paquetes de una distro GNU/Linux... no. No es el objetivo
de Haiku convertirse en un núcleo para GNU, sino el hacer un
sistema operativo usable, agradable, rápido y multitarea. Mi primera
impresión es que lo están consiguiendo.
De Guix hablo menos, porque es una distro GNU/Linux y por tanto es todo muy parecido lo que ya conocemos. Me ha llamado la atención la sencillez del instalador.
Por último, para trabajar con los sistemas virtualizados, me he creado
dos comandos para lanzarlos que he situado en mi ~/opt/bin
para
llamarlos como un comando o aplicación más:
Para Guix con nombre
guix-os
:#! /usr/bin/bash cd ~/qemu-vm qemu-system-x86_64 -m 2048 -smp 1 -enable-kvm \ -nic user,model=virtio-net-pci -boot menu=on \ -drive file=guix-system.img
Para Haiku con nombre
haiku-os
:#! /usr/bin/bash cd ~/qemu-vm qemu-system-x86_64 -m 2048 -smp 1 -enable-kvm \ -nic user,model=virtio-net-pci \ -drive file=haiku-os.img
En el siguiente capítulo, quiero comparar el gasto de recursos y rendimiento entre ambos sistemas e improvisar un pequeño banco de pruebas para ello. Aunque es complicado, pues la mayor diferencia es la sensación que transmiten al usarse y lo perdido que vas con el SO al que menos acostumbrado estás.
Comentarios