5 CASE STUDIES AND ANALYSIS Introduction
5.1.1 Method and focus
Aparte de todos esos paquetes, también necesitarás varios parches. Estos corrigen pequeños errores en los paquetes que debería solucionar su desarrollador, o simplemente hacen pequeñas modificaciones para adaptarlos a nuestras necesidades. Necesitarás los siguientes:
Parche para Bash − 7 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/bash−2.05b−2.patch
Parche Attribute para Bison − 2 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/bison−1.875−attribute.patch
Parche Hostname para Coreutils − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/coreutils−5.0−hostname−2.patch
Parche Uname para Coreutils − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/coreutils−5.0−uname.patch
Parche Mkstemp para Ed − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/ed−0.2−mkstemp.patch
Parche Spawn para Expect − 6 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/expect−5.39.0−spawn.patch
Parche Libexecdir para Gawk − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/gawk−3.1.3−libexecdir.patch
Parche No−Fixincludes para GCC − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/gcc−3.3.1−no_fixincludes−2.patch
Parche Specs para GCC − 10 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/gcc−3.3.1−specs−2.patch
Parche que suprime Libiberty para GCC − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/gcc−3.3.1−suppress−libiberty.patch
Parche para GCC−2 − 16 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/gcc−2.95.3−2.patch
Parche No−Fixincludes para GCC−2 − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/gcc−2.95.3−no−fixinc.patch
Parche Return−Type para GCC−2 − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/gcc−2.95.3−returntype−fix.patch
Parche Sscanf para Glibc − 2 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/glibc−2.3.2−sscanf−1.patch
Parche Gcc33 para Grub − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/grub−0.93−gcc33−1.patch
Parche More−Programs para Kbd − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/kbd−1.08−more−programs.patch
Parche 80−Columns para Man − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/man−1.5m2−80cols.patch
Parche Manpath para Man − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/man−1.5m2−manpath.patch
Parche Pager para Man − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/man−1.5m2−pager.patch
Parche Etip para Ncurses − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/ncurses−5.3−etip−2.patch
Parche Vsscanf para Ncurses − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/ncurses−5.3−vsscanf.patch
Parche Mii−Tool−Gcc33 para Net−tools − 2 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/net−tools−1.60−miitool−gcc33−1.patch
Parche Libc para Perl − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/perl−5.8.0−libc−3.patch
Parche Locale para Procps − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/procps−3.1.11−locale−fix.patch
Parche Newgrp para Shadow − 1 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/shadow−4.0.3−newgrp−fix.patch
Parche Vsnprintf para Zlib − 10 KB:
http://www.linuxfromscratch.org/patches/lfs/5.0/zlib−1.1.4−vsnprintf.patch
Aparte de los anteriores parches necesarios, hay una serie de parches opcionales creados por la comunidad LFS. Muchos de ellos solucionan pequeños problemas, o activan alguna funcionalidad que no lo está por defecto. Eres libre de examinar la base de datos de los parches, que se encuentra en
http://www.linuxfromscratch.org/patches, y elegir cualquier parche adicional que desees utilizar.
Introducción
En este capítulo compilaremos e instalaremos un sistema Linux mínimo. Este sistema contendrá sólo las herramientas necesarias para poder iniciar la construcción del sistema LFS definitivo en el siguiente capítulo.
La construcción de este sistema minimalista se hará en dos etapas: primero construiremos un conjunto de herramientas independiente del sistema anfitrión (compilador, ensamblador, enlazador y librerías), y después las usaremos para construir el resto de herramientas esenciales.
Los ficheros compilados en este capítulo se instalarán bajo el directorio $LFS/tools para mantenerlos separados de los ficheros que se instalen en el siguiente capítulo. Puesto que los paquetes compilados aquí son puramente temporales, no queremos que estos ficheros contaminen el futuro sistema LFS.
La clave para aprender qué es lo que hace funcionar un sistema Linux es saber para qué se usa cada paquete y por qué el usuario o el sistema lo necesita. Por esta razón se facilita un breve resumen del contenido de cada paquete antes de las propias instrucciones de instalación. Para ver una descripción corta de cada programa de un paquete, consulta la sección correspondiente en el Apéndice A.
Las instrucciones de construcción asumen que estás usando el intérprete de comandos bash. También se asume que ya has desempaquetado el código fuente del paquete y has ejecutado un cd para cambiarte al directorio de los fuentes desempaquetadas antes de empezar con los comandos de instalación.
Varios de los paquetes deben parchearse antes de compilarlos, pero sólo cuando el parche es necesario para solucionar un problema. Con frecuencia el parche es necesario tanto en este como en el siguiente capítulo, pero a veces sólo es necesario en uno de ellos. Por tanto, no te preocupes cuando parezca que hemos olvidado las instrucciones para uno de los parches descargados.
Durante la instalación de muchos paquetes verás aparecer en pantalla todo tipo de avisos (warnings). Esto es normal y puedes ignorarlos con tranquilidad. No son más que eso, avisos; la mayoría debidos a un uso inapropiado, pero no inválido, de la sintaxis de C o C++. Se debe a que los estándares de C cambian con frecuencia y algunos paquetes todavía usan un estándar antiguo, lo que no es realmente un problema.
Excepto si se indica lo contrario, normalmente debes borrar las fuentes y directorios de construcción despues
de instalar cada paquete, por motivos de limpieza y para liberar espacio.
Antes de continuar, asegúrate de que la variable de entorno LFS tiene el valor correcto ejecutando lo siguiente:
echo $LFS
Asegúrate de que muestra la ruta al punto de montaje de tu partición LFS, que es /mnt/lfs si has seguido nuestro ejemplo.