💾 Archived View for moribundo.flounder.online › blog › obsd › obsd007.gmi captured on 2023-01-29 at 02:47:51. Gemini links have been rewritten to link to archived content
-=-=-=-=-=-=-
Si, es que me gusta rizar el rizo y complicarme la vida. Tengo un equipo de sobremesa con la siguiente configuración MBR:
— Disco 1: 1 TB —
— Disco 2: 500 Gb —
Como en el Disco 1 ya están las 4 particiones primarias a las que está limitado MBR, y OpenBSD no admite instalación en partición extendida, la idea fue meterlo en el Disco 2... y empezaron los problemas.
OpenBSD, realmente, particiona una partición, también llamadas Particiones del Sistema de Archivos (las particiones fdisk se conocen como Particiones MBR). En FreeBSD se llaman "slices", pero OpenBSD las llama históricamente "particiones" a ambas, y eso es confuso y lleva a errores de comprensión de la documentación.
OpenBSD básicamente no se preocupa por el MBR o GPT. El particionado de disco está definido por la etiqueta BSD y lo demás se la suda. El MBR o GPT solo se consulta al arrancar o cuando no existe etiqueta BSD. Incluso si creas más de una partición MBR de OpenBSD podrás hacerlas, pero no servirá de nada porque OpenBSD solo hará caso a una etiqueta.
OpenBSD no ve otros sistemas y no hace demasiado caso a nada que no sea su zona BSD, ¿por qué?, pues porque sus desarrolladores entienden que OpenBSD se va a usar como sistema único y no dan mucha importancia a la interacción con otros sistemas, aunque últimamente tienen un debate al respecto.
Si se añade una partición no-BSD no se reconocerá automáticamente, ya que a OpenBSD solo le importa SU partición, por lo que el núcleo ignorará la partición adicional.
Esto da problemas cuando particionas desde GNU/Linux con Gparted para dejar el disco preparado. OpenBSD va a ignorar ese espacio, asà que hay que tirar de fdisk y disklabel.
He de decir que he conseguido una instalación exitosa a base de prueba/error. Por suerte OpenBSD se instala en poquÃsimo tiempo; donde realmente he perdido más tiempo ha sido buscando información en foros y leyendo la documentación oficial, ya sabes, RTFM.
OpenBSD es muy suyo debido al objetivo al que está destinado: la seguridad, asà que todos los pasos de particionado que ya sabemos de GNU/Linux no nos van a servir aquÃ.
Hay que tirar de 2 herramientas básicas: fdisk y disklabel, asà que ya estás tardando en empollar fdisk (porque disklabel es sumamente fácil de usar) y algo de geometrÃa de un disco.
NOTA: No sirven los comandos FDISK de GNU/Linux en OpenBSD, son diferentes, toca repasar FDISK para OpenBSD sà o sÃ, aunque el programa es el mismo y si sabes usarlo en GNU/Linux sabrás usarlo en OpenBSD.
El manual oficial dice que hay que pasar el comando "fdisk -iy disco" para escribir el MBR y pueda ser arrancable, pero en este caso no lo haré porque elimina el particionado, dejando todo el disco como etiqueta para OpenBSD (asà perdà yo los datos, suerte de los backups).
Asà pues, cargado con 3 tilas, 6 folios llenos de notas a reventar y mis escasas neuronas, después de haber fracasado con particionados desde GNU/Linux, me pongo con FDISK.
Arranco con el CD y a la primera pregunta le digo que me abra una Shell y activo el disco:
cd /dev && sh MAKEDEV sd1
La partición MBR en OpenBSD por defecto se aloja en el espacio 3 con un ID 06, quedando los espacios 0, 1 y 2 con las opciones a 0 (cero) y con la etiqueta "unused". Si haces una partición nueva para almacenaje (como es mi caso), la alojará en el primer espacio, que es el 0 (cero) y la tendremos liada, porque OpenBSD espera ser la primera partición, y el resto ir detrás, pero por geometrÃa del disco es imposible, no hay nada más allá del tercer espacio.
Hay que editar la tercera partición y quitarla:
fdisk -e sd1 sd1: > e 3 Partition id ('0' to disable) [01 - FF]: (? for help):
En esa pregunta que nos hace hemos de poner 00 para que aplique la etiqueta "unused". Si pulsas "?" te saldrán todos los tipos de sistemas con su valor hexadecimal (es bueno que apuntes los que vayas a utilizar).
Ahora voy al espacio 0 y la edito para crear un sistema OpenBSD:
NOTA: Hacer la partición "bootable" con la opción "flag 0" es necesario si solo hay un sistema para que la BIOS entregue el control al sistema operativo en esa partición. Aquà no serÃa necesario, ya que yo le pasaré a GRUB2 el control, no al propio sistema. Hazlo si no usas GRUB2 y/o quieres iniciar desde BIOS.
sd1*: > e 0 Partition id ('0' to disable) [01 - FF]: (? for help): A6 Do you wish to edit in CHS mode? [n]: "Tecla Intro" Partition offset [0 - 1250263664]: [0] 64 Partition size: [1250263664] 623910912 sd1*: > flag 0 sd1*: >w sd1*: >q
NOTA: Para calcular el espacio en sectores, usé la siguiente web de conversión a gigas:
Como ves, he puesto A6 que es el sistema de archivos OpenBSD, el offset lo he dejado en 64, ya que el espacio hasta esos 64 es donde irá alojado el MBR de arranque, y el tamaño de la partición es la mitad del disco, y flag es para hacer la partición activa. W y Q para guardar y salir.
Bien, aquà vemos como cuando se crea la partición aparece el siguiente mensaje:
wq - writing MBR at offset 0
Esto significa que escribirá el sector MBR de arranque desde el 0 hasta el 64, y que no será necesario pasar el comando "fdisk -iy sd1" que, como dije antes, liquida toda partición que haya en el disco.
Ahora toca hacer lo mismo con la segunda partición. Aquà me comà la cabeza con el offset:
fdisk -e sd1 sd1*: > e 1 Partition id ('0' to disable) [01 - FF]: (? for help): 0B Do you wish to edit in CHS mode? [n]: "Tecla Intro" Partition offset [0 - 1250263664]: [0] 623910976 Partition size: [1250263664] 626350080 sd1*: >w sd1*: >q
Aquà la etiqueta que elegà es W95-Fat32 que corresponde al número hexadecimal 0B. El offset ha de empezar donde finalizó la primera partición. El resultado es coger el "tamaño" (size) de la partición anterior y sumarle 64. El espacio es lo que resta de disco. W y Q para guardar y salir.
Ya está la primera parte, a por la segunda.
Ahora inicio disklabel. Este programa se usa para particionar la partición BSD, es decir, crear las "clasificaciones" (disklabels) dentro del espacio OpenBSD, y aquà tuve problemas.
Cuando quise hacer las clasificaciones, se quejó de que no habÃa espacio OpenBSD, lo que es raro porque acababa de crearlo con FDISK y aparecÃa listado, pero no era accesible. El esquema que me mostró era el siguiente en cuanto a id, size y offset:
disklabel -E sd1 sd1: > p c: 1250263664 0 unused i: 623910912 64 OpenBSD j: 626350080 623910976 W95-Fat32
Vaya, ya veo donde está el error. La partición para OpenBSD debe estar en el espacio a:, y en cambio, todo empieza en la unidad i: (recordar que c: no se puede tocar, solo hace referencia a todo el disco).
Decidà eliminar la partición i: y volverla a crear pero desde disklabel. Puedes consultar el paso 2 del artÃculo "Particionado" en el siguiente enlace:
Paso 2. Crear la partición principal
sd1: > d i sd1*: > w sd1: > a a offset: [64] size: 623910912 FS type: [4.2BSD] RAID sd1*> p a: 623910912 64 OpenBSD c: 1250263664 0 unused j: 626350080 623910976 W95-Fat32 sd1*> w sd1> q
Voilá, ahora sà veo correctamente el orden (me fallaste FDISK).
Obviamos, como he dicho, la parte de la instalación donde nos dice que tecleemos "fdisk -iy sd1" y procedo con el fulldisk encryption mediante bioctl (ver artÃculo sobre particionado):
Particionado y cifrado de disco
NOTA: Ten en cuenta que los dispositivos de ese artÃculo eran de mi portátil, ahora han cambiado de nombre, el disco es sd1 y el volumen cifrado pasa a llamarse sd2
NOTA 2: Es importantÃsimo que apliques el comando dd para liberar el primer mega, o te aparecerá un bonito mensaje "Installboot: No OpenBSD partition, failed to install bootblocks" al acabar la instalación y tendrás que volver a empezar.
Ahora tecleo "exit" y me devuelve al inicio, donde ahora le digo que instale.
OpenBSD es raaaaaro, raaaaaro, raaaaro, pero luego, después del ostión que te das, ya en frÃo y habiendo descansado la mente, te das cuenta de lo lógico que es todo, y que el hecho de desconocer el funcionamiento del sistema aumenta la dificultad, pero en cuanto lo entiendes, ya no necesitas volver a mirar guÃas.
Como tengo Archlinux en el primer disco con GRUB2, voy a meter una entrada para iniciar OpenBSD desde ahÃ:
1. Ya en GNU/Linux, editar /etc/grub.d/40_custom
menuentry "OpenBSD 7.1" { set root=(hd1,0) chainloader +1 }
NOTA: GRUB sigue llamando hdx,y a los discos, siendo 0 el primer disco,partición
2. Ejecutar como root:
update-grub
grub-mkconfig -o /boot/grub/grub.cfg
Ya se puede iniciar OpenBSD desde GRUB2
OpenBSD no se lleva bien con sistemas FAT32 ni tampoco NTFS, y se lleva algo mejor con ext4, aunque a veces se queja porque le gusta más ext2. Si quieres montar una partición NTFS olvÃdate de usar mount, porque la monta de solo lectura, asà que hay que instalar ntfs-3g como en GNU/Linux, que opera en modo fuser y permite el uso completo de la partición NTFS.
Y para montar las particiones, hay que añadir una i al final del disco, implementación de montaje virtual. Los dispositivos extraÃbles se montan igual:
mount /dev/sd3i /mnt/pendrive mount /dev/sd1i /mnt/storage
Para mi sorpresa, me dio un error al montar la partición FAT32: "Device not configured"
Resulta que aunque ya tenÃa definida mi partición W95-FAT32, no estaba disponible. FDISK solo te crea la tabla, pero no el sistema de archivos, asà que hay que hacerlo (igual que en GNU/Linux):
newfs -t msdos /dev/rsd1i
En poco menos de un minuto finalizó el proceso. Ahora sà pude montar la partición, aunque caà en la cuenta de que mis backups ocupan más de 4 Gb de lÃmite que soporta FAT32, asà que reformateé la partición en NTFS aprovechando que estaba en GNU/Linux, con Gparted, y uso ntfs-3g para su montaje en OpenBSD:
ntfs-3g /dev/sd1i /mnt/storage
NOTA: Si necesitas mantener los permisos de archivos de tus copias en una partición NTFS/FAT32 has de saber que estos sistemas no los respetan. O los tareas con el comando tar o crea una partición ext4.
Espero que este tocho de guÃa sirva para aclarar dudas si decidÃs instalar OpenBSD.
Tags #openbsd