gentoo linux, java, software libre y otras hierbas
ene, 01 2010 - 1:03 am

Montar particiones/slices de *BSD en Linux

A veces es necesario trabajar con el sistema de archivos UFS (el que viene por defecto en FreeBSD, OpenBSD, NetBSD, etc.) desde Linux. En este pequeño artículo explicaré cómo configurar el kernel de tal manera que quede habilitado el soporte de lectura y escritura de UFS. Me enfocaré en FreeBSD, que es donde hice las pruebas.

Tengamos en cuenta además que el esquema de particiones de FreeBSD es distinto al de Linux. Este solo necesita una ‘partición’ primaria (llamadas slices en BSD) para administrar las particiones que utilizará el sistema, y cada una de esas particiones tiene un esquema de nombres en particular. Puesto que dicho esquema algunas veces no es soportado por nuestro kernel, activaremos también esta opción (de lo contrario solo podremos montar la raiz del sistema FreeBSD mas no sus particiones).

0. Preparando el kernel

Tal vez ya tengas soporte para UFS, pero para esta entrada asumiré que no es así.

Así que, vamos a la configuración del kernel (en este momento estoy usando Linux kernel 2.6.32):

cd /usr/src/linux
make menuconfig

Ahora, vamos a activar estas opciones:

-> File systems
-> Miscellaneous filesystems
<*> UFS file system support (read only)
[*] UFS file system write support

Verás algo como esto:

linux-kernel-menuconfig-ufs

Importante: el soporte para escritura en UFS2 está en desarrollo y puede ser peligroso. Úsalo bajo tu propio riesgo ;)

Ahora, habilitaremos el soporte para FreeBSD disklabel:

-> File systems
-> Partition Types
[*] Advanced partition selection
[*] PC BIOS (MSDOS partition tables) support
[*]    BSD disklabel (FreeBSD partition tables)

Verás algo como esto:

linux-kernel-menuconfig-ufs

Bien, con estas opciones habilitadas solo nos queda compilar e instalar el kernel:

make && cp arch/x86_64/boot/bzImage /boot/kernel-2.6.32
Nota: Estoy asumiendo que ya te desenvuelves perfectamente con el kernel, es decir, que tienes experiencia compilando y configurándolo. Si no es el caso, deberías aprender: es divertido.

1. Buscando los nombres de las particiones

Cuando estamos trabajando con FreeBSD, los nombres que se asignan a las particiones son del tipo: /dev/ad0s3a. Pero, como estamos trabajando con Linux, en realidad seguiremos usando nombres del tipo /dev/sda* o /dev/hda*. Así que, gracias al soporte para FreeBSD Disklabel que hemos habilitado, podemos trabajar con los nombres convencionales:

cat /proc/partitions

Verás algo como esto:

major minor #blocks name
8 0 244198584 sda
8 1 41624383 sda1
8 2 158497290 sda2
8 3 39076695 sda3
8 4 5000184 sda4
8 5 524288 sda5
8 6 4194304 sda6
8 7 5223424 sda7
8 8 524288 sda8
8 9 28610391 sda9

2. Montando las particiones UFS

Para montar una partición UFS ejecutaremos el siguiente comando (supongamos que /dev/sda7 es una de las particiones *BSD):

mount -t ufs -o ufstype=ufs2 /dev/sda7 /media/freebsd

Por supuesto, podemos añadir una entrada al archivo /etc/fstab para que la partición se monte automáticamente al iniciar el sistema operativo:

/dev/sda7 /media/freebsd ufs ufstype=ufs2 0 0

¡Eso es todo! Si tienes algún problema o sugerencia no dudes en comentar.

8 Comentarios | deja el tuyo

3 enlaces entrantes

5 Comentarios en “Montar particiones/slices de *BSD en Linux”

  1. RT @_ksaver: Montar particiones/slices de *BSD en Linux → http://bit.ly/8bwpYP

  2. Montar particiones/slices de *BSD en Linux http://bit.ly/4RwAHi

  3. fermin dice:

    Hola gracias fue de mucha ayuda

    Saludos

  4. sAfOrAs dice:

    ufs2 mola bien verdad?

  5. Montar particiones/slices de *BSD en Linux http://dlvr.it/crSZ

¡Déjanos tu comentario!