6.1. Introducción

En este capítulo entramos en la zona de edificación y comenzamos a construir de verdad nuestro sistema LFS. Es decir, cambiamos la raíz a nuestro mini sistema Linux temporal, hacemos unos cuantos preparativos finales, y entonces comenzamos a instalar los paquetes.

La instalación de estos programas es bastante sencilla. Aunque en muchos casos las instrucciones podrían acortarse y ser más genéricas, hemos optado por suministrar las instrucciones completas para cada paquete para minimizar la posibilidad de errores. La clave para aprender qué hace que un sistema Linux funcione es conocer para qué se utiliza cada paquete y por qué el usuario (o el sistema) lo necesita. Para cada paquete instalado se incluye un sumario con su contenido, seguido de una concisa descripción de cada programa y librería instalados por el paquete.

Si piensas usar optimizaciones para la compilación durante este capítulo, mírate la receta de optimización en http://www.linuxfromscratch.org/hints/downloads/files/optimization.txt. Las optimizaciones del compilador pueden hacer que un programa funcione más rápido, pero también pueden dificultar la compilación e incluso dar problemas al ejecutar el programa. Si un paquete rehusa compilar cuando se usan optimizaciones, prueba a compilarlo sin ellas y mira si el problema desaparece. Incluso si el paquete se compila usando optimización, existe el riesgo de que pueda haberse compilado incorrectamente debido a las complejas interacciones entre el código y las herramientas de construcción. Ten en cuenta también que las opciones -march y -mtune pueden causar problemas en las herramientas principales (Binutils, GCC y Glibc). La pequeña ganancia que se consigue usando optimizaciones en la compilación generalmente queda ensombrecida por los riesgos. Aconsejamos a los constructores primerizos de LFS que construyan sin optimizaciones personalizadas. Tu sistema aún será muy rápido y, al mismo tiempo, muy estable.

El orden en el que se instalan los paquetes en este capítulo debe respetarse estrictamente para asegurar que ningún programa inserte en su código una ruta referente a /tools. Por la misma razón, no compiles paquetes en paralelo. La compilación en paralelo puede ahorrarte algo de tiempo (sobre todo en máquinas con CPUs duales), pero puede generar un programa que contenga referencias a /tools, lo que provocaría que el programa dejase de funcionar cuando se elimine dicho directorio.

Antes de las instrucciones de instalación de cada paquete se muestra algo de información sobre el mismo: una breve descripción de lo que contiene, cuánto tardará aproximadamente en construirse y cuánto espacio en disco necesita durante el proceso de construcción. A las instrucciones de instalación le sigue una lista de los programas y librerías que instala el paquete, junto con sus descripciones cortas.