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.