Receta para pasar de ext2 a xfs

TÍTULO:			Receta para pasar de ext2 a xfs
VERSIÓN LFS:	3.1+
AUTOR:			Carsten Menke <bootsy52@gmx.net>
TRADUCTOR:	Proyecto LFS-ES

SINOPSIS:	Cómo pasar de ext2 a xfs tras instalar LFS.
	
RECETA:
receta ext2 a xfs
Jan 13th 2002 Ver. 1.0b

Introducción
------------

Todo el mundo habla hoy en día de los sistemas de ficheros con diario
(Nota del traductor: journaling filesystems... mantendremos los términos 
"journal", "journaling" y algún otro similar sin traducir, pues no tengo 
nada claro que sea buena idea hacerlo... los pondremos entre comillas para 
indicar, si es que todavía hace falta, que están en su idioma original...
si no estás de acuerdo, no te prives de poner verde al traductor por tomarse
estas libertades... ya que estamos, algún otro término interesante de conocer
en su lengua vernácula se pondrá entre paréntesis a continuación de su 
traducción... puedes seguir quejándote amárgamente de tanta arbitrariedad). 
Este documento describe cómo hacer que tu LFS trabaje con uno de ellos. He 
elegido xfs ya que lo encuentro fiable y estable. 

Requisitos
----------

Necesitas tu instalación base de Linux, la misma que has empleado para realizar 
tu instalación de LFS.

Necesitas el parche (patch) del núcleo (kernel) que se corresponda con la versión 
del núcleo que estés utilizando, es decir, si has seguido el libro en la versión 
3.1  necesitas xfs-2.4.16-all-i386.bz2 (suponiendo que tienes instalado el núcleo
que se indica en él y tu ordenador tiene arquitectura i386). Asegúrate de que 
descargas el paquete denominado xfs-versióndelnúcleo-all-arquitectura.bz2 y NO
los que corresponden a trozos del mismo. 

Puedes descargar los parches del núcleo desde:

ftp://oss.sgi.com/projects/xfs/download/patches/

o, para un núcleo 2.5 
ftp://oss.sgi.com/projects/xfs/download/patches-2.5

Te harán falta además las herramientas para xfs, que puedes descargar desde:

ftp://oss.sgi.com/projects/xfs/download/cmd_tars

Abreviaturas
------------

A lo largo de este documento, utilizaré las siguientes abreviaturas, que
explico a continuación:

$LFS = El punto de montaje de tu instalación LFS (ej. /mnt/LFS )
$MNT = El directorio de montaje (ej. /mnt )
$K-VERSION = La versión de tu núcleo
$XFS-PATCH = El parche que descargaste para la versión de tu núcleo (ej.
             xfs-2.4.16-all-i386.bz2)
$HOST-DISTRO = La distribución base, desde donde puedes modificar tu LFS (ej.
               Mandrake,SuSE,Redhat o cualquier otra)
$LFS-DEVICE = El dispositivo en que se encuentra tu partición LFS (ej. 
              /dev/hda8)
$HOST-DEVICE = El dispositivo en que se encuentra tu distribución base (ej.
               /dev/hda1)

Descripción
-----------
1.	 Arranca la $HOST-DISTRO de tu sistema.

Monta tu partición LFS 

2.	mount -t ext2 $LFS-DEVICE $LFS

----------------------------------------------------------
3. 	!! Indica el área chroot según dice el libro!!
-----------------------------------------------------------

4. 	Descarga los paquetes necesarios.

Tras descargar todos los paquetes, copia $XFS-PATCH al directorio en que se
encuentren las fuentes de tu núcleo (ej. /usr/src/linux ). Al contrario de lo
que sucede con otros parches, debes copiarlo en el directorio de las fuentes
del núcleo y no en el directorio raíz de las fuentes del núcleo. 

5. 	Parchea tu núcleo haciendo:
  	bzip2 -dc $XFS-PATCH | patch -p1

Si has descargado el parche correcto, todo debería estar bien.

Ahora, recompila tu núcleo ejecutando:

6.	make mrproper &&
	make menuconfig &&
	make bzImage &&
	make modules &&
	make modules_install
	cp System.map /boot &&
	cp arch/i386/boot/bzImage /boot/lfs-kernel

**Nota: mrproper borra tus opciones de configuración, o sea que asegúrate de
  que las has guardado en algún sitio, make menuconfig va a comprobar que se 
  haya seleccionado SGI xfs en el menú <Sistemas de ficheros> (<File-Systems>)**

Para evitarte algunas complicaciones NO compilamos el sistema de ficheros xfs como
módulo, sino directamente en el núcleo. Eres libre de cambiarlo.

El siguiente paso consiste en crear el paquete xfsprogs package, para lo que deberás 
desempaquetarlo en algún sitio con:

7.	tar xvfj xfsprogs-version.tar.bz2 

y compilar xfsprogs con:

8.	make configure &&
	./configure --prefix=/usr --exec-prefix=/ --localstatedir=/var \
	--mandir=/usr/share/man &&
	make &&
	make install &&
	make distclean

That's it for the first.
------------------------------------------- 
9.	!!Sal de la zona chroot con exit !!
-------------------------------------------

Ahora tienes dos opciones, o bien copias tu núcleo a tu $HOST-DISTRO, o bien
parcheas y recompilas el núcleo de tu $HOST-DISTRO igual que has hecho antes.

Supondré que querrás copiarlo desde tu distribución LFS. Para hacerlo:

10. cp $LFS/boot/lfs-kernel /boot

modifica el /etc/lilo.conf de tu $HOST-DISTRO de modo que puedas arrancar tu 
$HOST-DISTRO con tu núcleo lfs.

11.	image = /boot/lfs-kernel
   	label = LFS
  	root = $HOST-DEVICE
  	read-only
   
y luego ejecuta /sbin/lilo

Ahora, repite el paso 8 y compila de nuevo el paquete xfsprogs.

Cuando hayas llegado hasta aquí, deberás estar bien despierto y haber bebido
el café suficiente, pues lo que sigue es la parte peligrosa.

Empaqueta tu partición completa y guárdala en algún lado en que tengas sitio 
para la PARTICIÓN LFS COMPLETA. Comprueba la cantidad de espacio en disco 
disponible que emplea LFS haciendo:

12.	df -h 

La mía tenía ya 1.2 GB. Pero afortunadamente bzip2 es notablemente eficaz
comprimiendo, por lo que lo dejó 227 MB.

Para empaquetas definitivamente tu partición, haz:

13.	tar cfj /path/to/enough-Room/LFS.tar.bz2 $LFS/*

Le llevará un rato

Cuando acabe, vuelve a arrancar tu equipo con el núcleo lfs.

14. reboot

Crea el sistema de ficheros xfs en tu partición LFS haciendo:

15.	/sbin/mkfs.xfs -f /dev/$LFS-DEVICE

Monta el sistema de ficheros que acabas de crear con:

16.	mount -t xfs /dev/$LFS-DEVICE $LFS

Cambia al directorio de montaje:

17.	cd $MNT

desempaqueta tu partición en el sistema de ficheros que acabas de crear:

18.	tar xvfj /path/to/LFS.tar.bz2

¡Ánimo! Casi has terminado...
modifica el fichero fstab de tu LFS:

19.	edit $LFS/etc/fstab

y cambia ext2 por xfs en el punto de montaje del directorio / .

Cambia el fichero lilo.conf de tu $HOST-DISTRO de nuevo de modo que apunte
otra vez al $LFS-DEVICE de tu partición LFS:

20.	image = /boot/lfs-kernel
   	label = LFS
   	root = $LFS-DEVICE
   	read-only
   
ejecuta /sbin/lilo


21. reboot

BIENVENIDO al LFS con "journal" :-)