Para los que no conozcan el proyecto, LFS (Linux From Scratch) es una “distribución” GNU/Linux que no encaja muy bien en la definición de distribución, pues no hace nada por tí, sino que espera a que tu hagas TODOS los pasos.
Me explico, Linux From Scratch consta básicamente de un manual que nos explica cómo crear una distribución Linux desde cero; los paquetes que hay que bajar, de dónde bajarlos, cómo compilarlos y en qué orden, cómo crear el árbol de directorios y los archivos de configuración, etc. ¿Y para qué sirve esta tonteria? Pues, a mi modo de ver sirve para aprender cómo funciona realmente un sistema GNU/Linux internamente. Aunque no sólo sirve para esto, de hecho con la ayuda de LFS podemos hacer una distribución 100% a nuestro gusto, o usarla de base para un proyecto mayor (como es el caso de Arch).
Para ello sólo necesitamos una partición en nuestro disco, que es donde se llevará a cabo el largo proceso de instalación, y un sistema host que usaremos para realizar el proceso (puede ser un Live CD o una instalación de Linux en una partición aparte). En mi caso estoy realizando el proceso en mi portátil, usando Arch como sistema host e instalando LFS en una partición de 2GB. Si todo el proceso funciona bien y consigo reiniciar con un sistema mas o menos funcional, intentaré añadir los paquetes que hagan falta (ayudándome del proyecto BLFS) para conseguir un sistema usable de verdad.
De momento he compilado las herramientas básicas, he hecho un chroot para entrar en el supuesto sistema (que de momento sirve de bien poco), y sigo compilando y compilando software a mano (nótese la diferencia con Gentoo, aquí hay que desempaquetar, hacer el ./configure, make, make install para cada paquete, LFS nos ayuda proporcionando los comandos con sus parámetros adecuados). Soy consciente que en cualquier momento puedo quedarme estancado (por problemas en los tests de compilación, o por cometer algún error, o por falta de tiempo/ganas, etc), pero de momento parece muy interesante, y aunque no llegase al final, por lo menos habré aprendido muchas cosas sobre cómo se construye una distribución GNU/Linux, qué paquetes dependen de qué otros en un sistema básico, cuales necesitan tal o cual libreria, etc.
Pingback: Usar cat como editor de texto