Antes de que podamos montar nuestro nuevo sistema, necesitamos disponer de una partición vacía de Linux. Si ya tienes disponible una partición nativa de Linux puedes saltarte esta sección
Arranca el programa fdisk (o cfdisk si lo prefieres)
pasándole como parámetro el disco duro donde vayas a crear la partición (por ejemplo,
/dev/hda si vas a crear la nueva partción en el disco ID primario configurado como
maestro). Crea una partición nativa de Linux, guarda la tabla de particiones y
sal del programa. Si un mensaje te advierte que es necesario reiniciar el ordenador
para asegurar que se actualiza la nueva tabla de particiones, hazlo antes de continuar.
Cuando la partición esté preparada, tenemos que crear un sistema de ficheros ext2 nuevo en la misma. De aquí en adelante utilizaré en los ejemplos el término $LFS para referirme a esta nueva partición recién creada. Cuando veas $LFS en los ejemplos, sustitúyelo por el nombre de tu partición. Por ejemplo, si creaste la partición en /dev/hda4, la montaste en /mnt/hda4 y más adelante lees que copies un fichero a $LFS/usr/bin, lo que tendrías que hacer es copiar el fichero a /mnt/hda/usr/bin.
Usamos el comando mke2fs para crear sistemas de ficheros tipo ext2.
Pásale como único parámentro $LFS, y el sistema de ficheros será creado.
Para poder arrancar el sistema desde nuestra nueva partición necesitamos indicárselo
a Linux en el fichero /etc/lilo.conf. Añade las siguientes líneas al fichero:
image=<image> label=<label> root=$LFS read-only
Sustituye <image> por un fichero de imagen de kernel existente. De momento utiliza el kernel que has utilizado para arrancar tu sistema Linux. En <label> puedes poner lo que quieras. Yo he puesto "lfs", que será lo que tengas que encribir cuando LILO te pregunte que sistema arrancar.
Actualiza LILO con el comando lilo.
Crearemos un árbol de directorios mínimo en la partición $LFS. Monta la partición si no lo has hecho ya y ejecuta los siguientes comandos.
cd $LFS mkdir boot etc home lib mnt proc root tmp var mkdir -p bin sbin usr/bin usr/sbin usr/src usr/man cd usr/man mkdir man1 man2 man3 man4 man5 man6 man7 man8 cd .. ln -s . local ln -s /etc etc ln -s /var var
Observa que el directorio /usr/local apunta a /usr. Soy consciente de que esto es una violación del FHS (File Hierarchy Standar, Estándar de jerarquía de ficheros - http://www.pathname.com/fhs/) pero mi idea es que el directorio usr/local no se usa en un sistema a medida, ya que todos los paquetes de software son siempre instalados localmente, es decir, no hay algunos que se hayan instalado desde el CD-ROM del fabricante, o algo similar. Es por ello que decido usar /usr/local y /usr como un único directorio.
Además, prefiero que /usr/etc y /usr/var apunten a /etc y /var
Crearemos todos los ficheros necesarios en el directorio $LFS/dev utilizando el comando mknod. Este proceso nos tomaría mucho tiempo, por lo que prefiero copiar el directorio /dev existente a nuestra partición $LFS. Utiliza el siguiente comando para conservar en los nuevos ficheros los enlaces del sistema, los derechos y los propietarios:
cp -av /dev $LFS
Puedes borrar las entradas del directorio $LFS/dev que no necesites, dejando sólo aquellos dispositivos que vayas a utilizar.