Lo que vamos a hacer

Vamos a construir el sistema LFS utilizando una distribución ya instalada, como Debian, SuSE, Slackware, Mandrake, RedHat, etc. Utilizaremos un sistema Linux existente como plataforma de desarrollo porque necesitamos un compilador, enlazador (linker), editor de texto y otras herramientas para construir nuestro sistema. Por regla general, las herramientas que vamos a necesitar se instalan por defecto si durante la instalación de nuestra distribución Linux seleccionamos la opción de "desarrollo".

En cuando hayas descargado los paquetes que componen un sistema LFS, crearemos una nueva partición Linux nativa sobre la que se instalará el sistema LFS.

En el siguiente paso, Capítulo 5, discutiremos la instalación de una serie de paquetes que constituyen un juego básico de herramientas de desarrollo, que se usarán para instalar el sistema propiamente dicho, y que también son necesarios para resolver dependencias circulares (por ejemplo, necesitas un compilador para instalar un compilador y necesitas un intérprete de comandos para instalar un intérprete de comandos). En este capítulo los paquetes serán enlazados estáticamente.

El enlazado estático define un método de compilación que hace innecesaria la presencia de librerías tras la construcción del software. El programa resultante es capaz de funcionar por si mismo porque las porciones de código de las librerías que necesita el programa se meten dentro de él. Normalmente el software se enlaza dinámicamente. De esta manera se conserva más espacio en el disco y se mejora la eficiencia de varios programas. Nosotros enlazamos estáticamente los programas en el Capítulo 5 porque en teoría estaremos moviendo nuestro sistema de desarrollo a un entorno virtual donde no existirán las librerías mencionadas anteriormente. Si los programas se enlazan dinámicamente, nuestro entorno de desarrollo no funcionará. Ya que las librerías de las que estamos hablando están en nuestra distribución Linux, el objetivo del Capítulo 5 es construir un entorno de desarrollo en el que esas librerías no sean necesarias y que, por tanto, sea independiente de la distribución.

En el Capítulo 6 construiremos e instalaremos nuestro sistema final. Usaremos el programa chroot para entrar en un entorno virtual y ejecutar un nuevo intérprete de comandos cuyo directorio raíz será la partición donde construimos todos los programas del Capítulo 5. Esto es equivalente a reiniciar el sistema haciendo que el núcleo monte nuestra partición LFS como partición raíz. La razón de que utilicemos chroot en lugar de reiniciar es que crear un sistema estático arrancable requiere un trabajo adicional que no es necesario. Así, podemos seguir usando nuestro sistema anfitrión mientras construimos LFS. Mientras se está instalando el software, puedes simplemente cambiar a otra VC (consola virtual) o escritorio X y continuar usando tu ordenador como lo harías normalmente.

Cuando esté instalado todo el software del Capítulo 6, los Capítulos 7, 8 y 9 nos ayudarán a terminar la instalación. En el Capítulo 7 configuraremos los guiones de arranque. En el Capítulo 8 construiremos nuestro núcleo (kernel) final y configuraremos el gestor de arranque. Y en el Capítulo 9 hay algunas sugerencias sobre lo que puedes hacer cuando acabes el libro. En ese momento puedes por fin reiniciar tu nuevo sistema LFS, y empezar a usarlo realmente.

En pocas palabras, este es el proceso. Encontrarás información detallada sobre los pasos que has de seguir en cada capítulo, a medida que avances. Si ahora hay algo que no veas muy claro, no te preocupes. Debería aclararse perfectamente un poco más adelante.

Por favor, lee con atención el Capítulo 2, ya que explica algunas cosas importantes que debes saber antes de comenzar a trabajar en el Capítulo 5 y posteriores.