Linux From Scratch

sistema operativo
(Redirigido desde «LFS»)

Linux From Scratch o LFS es un tipo de instalación del sistema operativo GNU/Linux y el nombre de un libro escrito por Gerard Beekmans junto a otros. El libro es una colección de documentos que indican los pasos para desarrollar un sistema GNU/Linux desde cero, a partir del código fuente. El libro Linux From Scratch está disponible en línea en el sitio oficial y actualmente su versión es la 11.1.[1][2]

Linux From Scratch
Parte de GNU/Linux
Información general
Tipo de programa sistema operativo
Desarrollador Gerard Beekmans et al.
Modelo de desarrollo Open source / Free Software
Lanzamiento inicial 16 de diciembre de 1999
Licencia Licencias Creative Commons y MIT License
Estado actual Activo
Idiomas Multilingüe
Información técnica
Núcleo Linux
Tipo de núcleo Monolítico
Plataformas admitidas x86, x86_64, PowerPC, IA-32,
Interfaz gráfica predeterminada Bash
Sistema de gestión de paquetes Código Fuente
Método de actualización Manual
Versiones
Última versión estable 12.1 (info) ( 1 de marzo de 2024 (10 meses))
Enlaces

Proyectos bajo el LFS

editar

Linux From Scratch es una forma de instalar un sistema Linux funcional mediante la compilación manual de todos sus componentes. Naturalmente, se trata de un proceso más largo que el de instalar una distribución Linux precompilada . Según el sitio web Linux From Scratch , las ventajas de este método son un sistema compacto, flexible y seguro y una mayor comprensión del funcionamiento interno de los sistemas operativos basados ​​en Linux.[3]

Para mantener LFS pequeño y simple, el libro Beyond Linux From Scratch (BLFS) fue creado para presentar las instrucciones de como desarrollar un sistema básico GNU/Linux después de crear LFS. Presenta y guía al lector a través de las adiciones al sistema, incluido el sistema X Window, entornos de escritorio (KDE, GNOME, Xfce, LXDE), software de productividad, navegadores web, lenguajes y herramientas de programación, software multimedia y herramientas de administración de redes y sistemas. Desde la versión 5.0, la versión del libro de BLFS coincide con la versión del libro de LFS.[4]

El libro Cross Linux From Scratch (CLFS) se centra en la compilación cruzada, incluida la compilación para sistemas sin interfaz gráfica o integrados que pueden ejecutar Linux, pero carecen de los recursos necesarios para compilar Linux. CLFS admite una amplia gama de procesadores y aborda técnicas avanzadas que no se incluyen en el libro LFS, como cadenas de herramientas de compilación cruzada, compatibilidad con múltiples bibliotecas ( bibliotecas de 32 y 64 bits una al lado de la otra) y arquitecturas de conjuntos de instrucciones alternativas como Itanium, SPARC, MIPS, y Alpha.

El proyecto Linux from Scratch, al igual que BitBake, también admite la compilación cruzada de Linux para sistemas integrados ARM como Raspberry Pi y BeagleBone.[5][6]

El libro Hardened Linux From Scratch (HLFS)[7]​ se centra en mejoras de seguridad como parches del kernel reforzados, políticas de control de acceso obligatorias, protección contra la destrucción de la pila y aleatorización del diseño del espacio de direcciones. Además de su objetivo principal de crear un sistema operativo centrado en la seguridad, HLFS tenía el objetivo secundario de ser una herramienta de enseñanza de seguridad. No se ha actualizado desde 2011.

Automated Linux From Scratch (ALFS)[8]​ es un proyecto diseñado para automatizar el proceso de creación de un sistema LFS. Está dirigido a usuarios que han repasado varias veces los libros de LFS y BLFS y desean reducir la cantidad de trabajo que esto implica. Un objetivo secundario es actuar como prueba de los libros LFS y BLFS extrayendo y ejecutando directamente instrucciones de las fuentes XML de los libros LFS y BLFS.

Requisitos y procedimiento

editar

Para construir LFS se necesita una partición limpia y un sistema Linux en funcionamiento con un compilador y algunas bibliotecas de software esenciales. En lugar de instalar desde un sistema Linux existente, también se puede utilizar un Live CD para construir un sistema LFS.

El proyecto anteriormente mantenía el Live CD de Linux From Scratch.[9]​ El Live CD de LFS contiene todos los paquetes fuente (solo en la versión completa del Live CD), el libro de LFS, herramientas de construcción automatizadas y (excepto para la versión mínima del Live CD) un Xfce para trabajar. El LFS Live CD oficial ya no se mantiene, y no se puede utilizar para construir el LFS versión7 o posterior.[10]​ Hay, sin embargo, dos construcciones no oficiales que se pueden utilizar para construir un kernel de 32 bits o 64 bits y el espacio de usuario, respectivamente, para LFS 7. x.[11]

Primero, se debe compilar una cadena de herramientas que consiste en las herramientas utilizadas para compilar LFS, como GCC, glibc, binutils, y otras utilidades necesarias. Luego, el directorio raíz debe ser cambiado, (usando chroot), a la partición de la cadena de herramientas para comenzar a construir el sistema final. Uno de los primeros paquetes a compilar es glibc; después de eso, el linker de la cadena de herramientas debe ser ajustado para link contra el glibc recién construido, para que todos los otros paquetes que compondrán el sistema final puedan ser enlazados contra él también. Durante la fase chroot, la función hash de bash se desactiva y el directorio bin de la cadena de herramientas temporal se mueve al final de PATH. De esta forma los programas recién compilados aparecen primero en PATH y el nuevo sistema construye sobre sus propios componentes nuevos.

Software requerido por LFS

editar

El software siguiente es requerido en LFS versión 7.2:

El siguiente software es incluido en CLFS versión 1.1.0. Estos soportan varias arquitecturas.

Referencias

editar
  1. Gerard Beekmans: Linux from Scratch (Iuniverse Inc, Dec 2000) ISBN 0-595-13765-2 ISBN 978-0-595-13765-7
  2. «LFS News». www.linuxfromscratch.org. Consultado el 15 de diciembre de 2024. 
  3. «LFS Project Homepage». www.linuxfromscratch.org. Consultado el 15 de diciembre de 2024. 
  4. Gerard Beekmans: Beyond Linux From Scratch, Version 6.3 (August 2008)
  5. «Cross-Compiled Linux From Scratch - Embedded». clfs.org. Consultado el 15 de diciembre de 2024. 
  6. Horan, Brendan (12 de junio de 2013). Practical Raspberry Pi (en inglés). Apress. p. 105. ISBN 978-1-4302-4972-6. Consultado el 15 de diciembre de 2024. 
  7. «HLFS Project Homepage». www.linuxfromscratch.org. Consultado el 15 de diciembre de 2024. 
  8. «MLFS Project Homepage». www.linuxfromscratch.org. Consultado el 15 de diciembre de 2024. 
  9. «LFS LiveCD Project Homepage». www.linuxfromscratch.org. Consultado el 15 de diciembre de 2024. 
  10. «Index of /~kb0iic/livecdupd». clfs.org. Consultado el 15 de diciembre de 2024. 
  11. «Index of /~kb0iic/livecdupd». clfs.org. Consultado el 15 de diciembre de 2024. 

Véase también

editar

Enlaces externos

editar