5 CASE STUDIES AND ANALYSIS Introduction
5.5 CASE STUDIES ANALYSIS: Conclusion
Tu nuevo y brillante sistema LFS está casi completo. Una de las últimas cosas por hacer es asegurarte de que puedes arrancarlo. Las siguientes instrucciones sólo son aplicables en ordenadores de arquitectura IA−32, por ejemplo PCs. La información sobre "cargadores de arranque" para otras arquitecturas debería estar disponible
en las localizaciones usuales de recursos específicos para esas arquitecturas.
El arranque puede ser una tarea compleja. Primero, unas palabras de advertencia. En realidad deberías estar familiarizado con tu actual gestor de arranque y con cualquier otro sistema operativo presente en tu(s) disco(s) duro(s) que desees mantener arrancable. Asegúrate de que tienes preparado un disco de arranque de
emergencia para que pueda recuperar tu ordenador si, por cualquier motivo, quedase inutilizable (no arrancable).
Anteriormente, compilamos e instalamos el gestor de arranque Grub en preparación de este paso. El proceso consiste en escribir ciertos ficheros especiales de Grub a su localización específica en el disco duro. Antes de hacer esto te recomendamos encarecidamente que crees un disquete de arranque de Grub por si acaso. Inserta un disquete en blanco y ejecuta los siguientes comandos:
dd if=/boot/grub/stage1 of=/dev/fd0 bs=512 count=1 dd if=/boot/grub/stage2 of=/dev/fd0 bs=512 seek=1
Saca el disquete y guárdalo en lugar seguro. Ahora iniciaremos el intérprete de comandos de grub:
grub
Grub utiliza su propia estructura de nombres para los discos de la forma (hdn,m), donde n es el número del disco duro y m es el número de la partición, comenzando ambos desde 0. Esto significa que la partición hda1
es (hd0,0) para Grub, y hdb2 es (hd1,1). Al contrario que Linux, Grub no considera los dispositivos CD−ROM como discos duros, por lo que si, por ejemplo, tienes un CD en hdb y un segundo disco duro en
hdc, este segundo disco duro seguiríá siendo (hd1).
Usando la información anterior, determina la denominación apropiada para tu partición raíz. Para los siguientes ejemplos asumiremos que tu partición raíz es hda4
Primero, indícale a Grub donde debe buscar sus ficheros stage{1,2}. Puedes utilizar el tabulador para que Grub te muestre las alternativas:
root (hd0,3)
Aviso
El siguiente comando sobreescribirá tu actual gestor de arranque. No ejecutes el comando si esto no es lo quieres. Por ejemplo, puede que estés usando otro gestor de arranque para administrar tu MBR (Master Boot Record, Registro Maestro de Arranque). En este escenario, posiblemente tenga más sentido instalar Grub en el "sector de arranque" de la partición LFS, en cuyo caso el comando sería setup (hd0,3).
Ahora indícale que se instale en el MBR (Master Boot Record, Registro Maestro de Arranque) de hda:
setup (hd0)
Si todo está bien, Grub informará que ha encontrado sus ficheros en /boot/grub. Todo lo que hay allí es para él:
quit
Ahora necesitamos crear el fichero "menu.lst", que define el menú de arranque de Grub:
cat > /boot/grub/menu.lst << "EOF" # Inicio de /boot/grub/menu.lst
# Inicia por defecto la primera entrada del menú. default 0
# Espera 30 segundos antes de iniciar la entrada por defecto. timeout 30
# Usa bonitos colores.
color green/black light−green/black # La primera entrada es para LFS. title LFS 5.0
root (hd0,3)
kernel /boot/lfskernel root=/dev/hda4 ro EOF
Puede que también quieras añadir una entrada para tu distribución anfitriona. Tendrá un aspecto similar a este:
cat >> /boot/grub/menu.lst << "EOF" title Red Hat
root (hd0,2)
kernel /boot/kernel−2.4.20 root=/dev/hda3 ro initrd /boot/initrd−2.4.20
EOF
Igualmente, si necesitas un arranque dual a Windows, la siguiente entrada debería permitirte iniciarlo:
cat >> /boot/grub/menu.lst << "EOF" title Windows
rootnoverify (hd0,0) chainloader +1 EOF
Si info grub no te dice todo lo que quieres saber, puedes encontrar más información sobre Grub en su sitio web, localizado en: http://www.gnu.org/software/grub.
El final
¡Bien hecho! Has terminado de instalar tu sistema LFS. Puede que haya sido un proceso largo pero esperamos que haya merecido la pena. Te deseamos mucha diversión con tu flamante sistema Linux hecho a la medida.
Ahora podría ser un buen momento para quitar todos los símbolos de depuración de los archivos binarios de tu sistema LFS. Si no eres un programador y no planeas depurar tus programas, entonces te alegrará saber que puedes recuperar algunas decenas de megabytes borrando estos símbolos. Este proceso no produce ningún otro inconveniente que no sea no poder depurar los programas nunca más, lo que no es problema si no sabes cómo depurarlos.
Advertencia: El 98% de la gente que usa el comando mencionado más adelante no experimenta ningún problema. Pero haz una copia de seguridad de tu sistema LFS antes de ejecutar este comando. Hay una pequeña posibilidad de que te salga el tiro por la culata, y convierta tu sistema en inutilizable (principalmente destruyendo los módulos del núcleo y las librerías dinámicas y compartidas). Sin embargo, suele ocurrir más a menudo por un error tipográfico que por un problema con el comando utilizado.
Después de haber dicho esto, la opción −−strip−debug que usaremos para quitar los símbolos de depuración es, bajo circunstancias normales, bastante inocua. No borrará nada vital de los ficheros. También es bastante seguro usar −−strip−all con programas normales (no se debe usar en librerías, se destruirían), pero no es tan seguro como el anterior y el espacio que ganas no es tan grande. Pero si andas justo de espacio de disco, cada granito de arena ayuda, así que decide por ti mismo. Por favor, lee la página del manual de strip para ver las opciones que puedes usar. La idea general es no ejecutar strip sobre librerías (usando otra opción que no sea −−strip−debug) para asegurarnos de hacer la apuesta segura.
Si piensas seguir adelante y ejecutar strip, es necesario mucho cuidado para asegurar que no se esté ejecutando ningún binario que vaya a ser procesado, incluido el intérprete de comandos bash activo. Por tanto, necesitarás salir del entorno chroot y reentrar en él utilizando un comando chroot modificado:
logout
chroot $LFS /tools/bin/env −i \
HOME=/root TERM=$TERM PS1='\u:\w\$ ' \ PATH=/bin:/usr/bin:/sbin:/usr/sbin \ /tools/bin/bash −−login
Ahora ejecuta el siguiente comando:
/tools/bin/find /{,usr/,usr/local/}{bin,sbin,lib} −type f \ −exec /tools/bin/strip −−strip−debug '{}' ';'
Se avisará de que no se reconoce el formato de un buen número de ficheros. Muchos de ellos son giones en vez de binarios. Puedes ignorar estos avisos.
Puede ser una buena idea crear un fichero /etc/lfs−release. Teniendo este fichero te será muy fácil (y a nosotros, si es que vas a pedir ayuda en algún momento) saber qué versión de LFS tienes instalada en tu sistema. Crea este fichero ejecutando:
echo 5.0 > /etc/lfs−release
Registrarse
¿Quieres registrarte como usuario de LFS ahora que has terminado el libro? Visita
http://linuxfromscratch.org/cgi−bin/lfscounter.cgi y regístrate como usuario de LFS introduciendo tu nombre y la primera versión de LFS que has usado.
Arranquemos el sistema LFS ahora...