Como instalar OpenBSD desde Linux
Por el 31 de Octubre de 2023
Con este método es posible instalar OpenBSD en proveedores que sólo ofrezcan imágenes Linux. Hay dos formas de hacerlo:
- Copiando directamente el archivo miniroot al disco
- Usando kopenbsd en la configuración de grub2
Lo primero de todo es descargar el instalador de OpenBSD y comprobar su integridad.
Preparar el archivo de instalación
Desde OpenBSD descargo y verifico con signify(1) la integridad del archivo de arranque que voy a usar, en este caso bsd.rd:
$ ftp https://cdn.openbsd.org/pub/OpenBSD/7.4/amd64/bsd.rd
$ ftp https://cdn.openbsd.org/pub/OpenBSD/7.4/amd64/SHA256.sig
$ signify -C -p /etc/signify/openbsd-74-base.pub -x SHA256.sig bsd.rd
Signature Verified
bsd.rd: OK
La copio al servidor:
$ scp bsd.rd debian@203.0.113.1:~
Desde el servidor compruebo que coincida el checksum SHA256 con sha256sum.
Arrancar el instalador copiando minirootxx.img en el disco
Este método lo encontré aquí y consiste en grabar el archivo miniroot directamente al disco:
# cat miniroot74.img > /dev/vda
Aunque es la forma más sencilla y directa no funciona en algunos proveedores.
Arrancar el instalador usando kopenbsd en grub2
Parto de un sistema Debian 12 "Bookworm". Tal y como explican aquí descargo el archivo bsd.rd de OpenBSD en /, con la diferencia de que en lugar de añadir la opción al menú voy a configurar OpenBSD como el arranque por defecto. Si no lo hago así al arrancar no da tiempo a acceder al menú de grub por muy rápido que se pulse la tecla 'c'.
Como root edito el archivo /boot/grub/grub.cfg para modificar la entrada de menú 'Debian GNU/Linux', cambiando las líneas:
- linux /boot/vmlinuz-6.1.0-13-cloud-amd64 root=....
- initrd /boot/initrd.img-6.1.0-13-cloud-amd64
Por estas:
- kopenbsd /bsd.rd
- boot
Desde Debian copio bsd.rd el archivo a / y compruebo que coincide el checksum SHA256 o SHA512 y tras reiniciar con reboot arrancará el instalador de OpenBSD en la consola.