Articulo de referencia

Linux desde cero

Linux From Scratch ( LFS ) es un tipo de instalación de Linux y el nombre de un libro escrito por Gerard Beekmans , y mantenido principalmente por Bruce Dubbs desde mayo de 2021...

Linux From Scratch ( LFS ) es un tipo de instalación de Linux y el nombre de un libro escrito por Gerard Beekmans , y mantenido principalmente por Bruce Dubbs desde mayo de 2021. El libro ofrece instrucciones para construir un sistema Linux desde el código fuente . El libro está disponible gratuitamente en el sitio web de Linux From Scratch. [ 4 ]

Proyectos en el marco del LFS

Linux From Scratch es una forma de instalar un sistema Linux funcional mediante la compilación manual de todos sus componentes. Naturalmente, este proceso es más largo que la instalación de una distribución Linux precompilada . Según el sitio web de 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. [ 5 ]

Para mantener LFS pequeño y enfocado, se creó el libro Beyond Linux From Scratch (BLFS), que presenta instrucciones sobre cómo desarrollar aún más el sistema Linux básico creado en LFS. Introduce y guía al lector a través de las adiciones al sistema, incluyendo 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 red y del sistema . Desde la versión 7.4, la versión del libro BLFS coincide con la versión del libro LFS. [ 6 ]

El libro Cross Linux From Scratch (CLFS) se centra en la compilación cruzada , incluyendo la compilación para sistemas sin interfaz gráfica o embebidos que pueden ejecutar Linux, pero carecen de los recursos necesarios para compilarlo . [ 7 ] CLFS admite una amplia gama de procesadores y aborda técnicas avanzadas no incluidas en el libro LFS, como cadenas de herramientas de compilación cruzada, soporte para múltiples bibliotecas ( bibliotecas de 32 y 64 bits en paralelo) y arquitecturas de conjuntos de instrucciones alternativas como Itanium , SPARC , MIPS y Alpha . El proyecto está archivado y su última actualización data de agosto de 2017. [ 7 ]

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

El libro Hardened Linux From Scratch (HLFS) se centra en mejoras de seguridad como parches de kernel reforzados , políticas de control de acceso obligatorio, protección contra ataques de desbordamiento de pila y aleatorización del espacio de direcciones . [ 10 ] Además de su propósito 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. A partir del 17 de febrero de 2025, el libro HLFS ha desaparecido del sitio web de LFS.

Automated Linux From Scratch (ALFS) es un proyecto diseñado para automatizar el proceso de creación de un sistema LFS. [ 11 ] Está dirigido a usuarios que han estudiado los libros de LFS y BLFS varias veces y desean reducir la cantidad de trabajo involucrado. [ 12 ] Un objetivo secundario es servir como prueba de los libros de LFS y BLFS extrayendo y ejecutando directamente las instrucciones de los archivos XML de dichos libros.

Otros subproyectos:

A fecha de 9 de septiembre de 2025 [ 11 ]

Requisitos y procedimiento

Para compilar LFS se requiere una partición limpia y un sistema Linux funcional con un compilador y algunas bibliotecas de software esenciales. En lugar de instalarlo desde un sistema Linux existente, también se puede usar un Live CD para compilar un sistema LFS.

El proyecto anteriormente mantenía el Live CD Linux From Scratch. [ 13 ] El Live CD LFS contiene todos los paquetes fuente (solo en la versión completa del Live CD), el libro LFS, herramientas de compilación automatizadas y (excepto para la versión mínima del Live CD) un entorno GUI Xfce para trabajar. El Live CD oficial de LFS ya no se mantiene y no se puede usar para compilar la versión 7 o posterior de LFS. [ 13 ] Sin embargo, hay dos compilaciones no oficiales que se pueden usar para compilar un kernel y un espacio de usuario de 32 bits o 64 bits respectivamente para LFS 7.x. [ 14 ]

Primero, se debe compilar una cadena de herramientas que incluya las herramientas utilizadas para compilar LFS, como GCC , glibc , binutils y otras utilidades necesarias. Luego, se debe cambiar el directorio raíz (usando chroot ) a la partición de la cadena de herramientas para comenzar a construir el sistema final. Uno de los primeros paquetes que se compilan es glibc; después, se debe ajustar el enlazador de la cadena de herramientas para que enlace con la versión recién compilada de glibc, de modo que todos los demás paquetes que conformarán el sistema final también puedan enlazarse con ella. Durante la fase de chroot , se desactiva la función de hash de bash y el directorio bin temporal de la cadena de herramientas se mueve al final de PATH. De esta manera, los programas recién compilados aparecen primero en PATH y el nuevo sistema se construye sobre sus propios componentes nuevos.

Lista de paquetes en LFS

A fecha de 9 de septiembre de 2025 [ 15 ]

Esta es una lista de los paquetes incluidos en CLFS versión 1.1.0. Salvo que se indique lo contrario, esta lista es aplicable a todas las arquitecturas compatibles.

A fecha de 9 de septiembre de 2025 [ 29 ]

Unidad de construcción estándar

Una "unidad de compilación estándar" ("SBU") es un término que se utiliza durante el arranque inicial del sistema y representa el tiempo necesario para compilar el primer paquete de LFS en un ordenador determinado. Su creación surgió debido al largo tiempo que se requiere para compilar un sistema LFS y al deseo de muchos usuarios de saber de antemano cuánto tiempo tardará en compilarse un archivo tarball de código fuente.

A partir de la versión 10.1 de Linux From Scratch, el primer paquete que compila el usuario es GNU binutils. Al compilarlo, se recomienda a los usuarios medir el proceso de compilación mediante comandos de shell y denominar a ese tiempo la "unidad de compilación estándar" del sistema. Una vez conocido este valor, se estima el tiempo necesario para compilar los paquetes posteriores en relación con la unidad de compilación estándar conocida.

Varios paquetes que se compilan durante el proceso requieren mucho más tiempo que binutils, incluyendo la Biblioteca C de GNU (con una estimación de 4,2 SBU) y la Colección de Compiladores de GNU (con una estimación de 11 SBU). Esta unidad debe interpretarse como una aproximación; diversos factores influyen en el tiempo real necesario para compilar un paquete.

Recepción

LWN.net revisó LFS en 2004: [ 30 ]

Linux From Scratch es un proyecto maravilloso. Debería convertirse en lectura obligatoria para todos los cursos de formación en Linux, y algo que todo entusiasta de Linux debería completar al menos una vez. Esto también tendría otro efecto secundario interesante: quienes suelen expresar rápidamente su descontento en las listas de correo y foros de las distribuciones probablemente mostrarían mucho más respeto por los desarrolladores. Instalar una distribución preconfigurada es una tarea sencilla. Crear un conjunto de 4 CD que contengan un sistema operativo estable, seguro y fiable, además de miles de aplicaciones, definitivamente no lo es.

Tux Machines escribió una reseña sobre Linux From Scratch 6.1 en 2005: [ 31 ]

Ahora pasemos a BLFS. Lamentablemente, parece que siempre hay un libro que revisar sobre "Más allá de Linux desde cero". Para mí, no es una instalación real hasta que uno puede iniciar sesión en un gestor de ventanas.

Tux Machines también tiene una segunda [ 32 ] y una tercera parte [ 33 ] de la reseña.

Véase también

Otras distribuciones de Linux basadas en código fuente:

Referencias

  1. "Versión 13.0-systemd" . 5 de marzo de 2026. Consultado el 6 de marzo de 2026 .
  2. "iii. Arquitecturas objetivo de LFS" . www.linuxfromscratch.org . Consultado el 17 de julio de 2025 .
  3. "Apéndice D. Licencias LFS" . www.linuxfromscratch.org . Consultado el 9 de agosto de 2023 .
  4. "Descargar LFS" . www.linuxfromscratch.org . Consultado el 11 de marzo de 2025 .
  5. "¿Qué es Linux From Scratch?" . www.linuxfromscratch.org . Consultado el 11 de marzo de 2025 .
  6. "¿Quién querría leer este libro?" . www.linuxfromscratch.org . Consultado el 9 de septiembre de 2025 .
  7. 1 2 "CLFS Trac" . trac.clfs.org . Consultado el 9 de septiembre de 2025 .
  8. "Linux compilado de forma cruzada desde cero – Embedded" . clfs.org . Consultado el 11 de marzo de 2025 ..
  9. Horan, Brendan (12 de junio de 2013). Raspberry Pi práctica . Berkeley, CA: Apress. pág. 105. doi : 10.1007/978-1-4302-4972-6 . ISBN  978-1-4302-4972-6. OCLC 848747530 . OL 27082156M .  
  10. "Página principal del proyecto HLFS" . www.linuxfromscratch.org . Consultado el 9 de septiembre de 2025 .
  11. 1 2 "¡Bienvenido a Linux From Scratch!" . www.linuxfromscratch.org . Consultado el 9 de septiembre de 2025 .
  12. "Página principal del proyecto ALFS" . www.linuxfromscratch.org . Consultado el 9 de septiembre de 2025 .
  13. 1 2 "Página principal del proyecto LFS LiveCD" . www.linuxfromscratch.org . Consultado el 25 de mayo de 2018 .
  14. "Índice de /~kb0iic/livecdupd" . clfs.org . Archivado del original el 6 de enero de 2016. Consultado el 25 de mayo de 2018 .
  15. "Fundamentos de los paquetes del libro" . www.linuxfromscratch.org . Consultado el 9 de septiembre de 2025 .
  16. "index : libcap/libcap.git" . git.kernel.org . Consultado el 9 de septiembre de 2025 . 
  17. "El proyecto elfutils" . sourceware.org . Consultado el 9 de septiembre de 2025 .
  18. besser82. "libxcrypt/licensing en develop · besser82/libxcrypt" . GitHub . Consultado el 9 de septiembre de 2025 .
  19. "Licencias para páginas de manual" . www.kernel.org . Archivado del original el 6 de enero de 2018. Consultado el 25 de mayo de 2018 .
  20. "ncurses – Licencias" . invisible-island.net . Consultado el 9 de julio de 2013 .
  21. "La "Licencia Artística" – dev.perl.org" . dev.perl.org . Consultado el 25 de mayo de 2018 .
  22. "perl5.git.perl.org Git" . perl5.git.perl.org . Archivado del original el 12 de abril de 2025. Consultado el 8 de septiembre de 2025 .
  23. "Licencias de Perl" . dev.perl.org . Consultado el 8 de enero de 2011 .
  24. "Términos de licencia de Tcl/Tk" . tcl.tk. Consultado el 8 de enero de 2011 .
  25. "vim/license en master · vim/vim" . GitHub . Consultado el 8 de septiembre de 2025 .
  26. "toddr / XML-Parser-2.47 / LICENSE" . metacpan.org . Consultado el 9 de septiembre de 2025 .
  27. Cyan4973. "Nueva licencia por Cyan4973 · Solicitud de extracción n.° 801 · facebook/zstd" . GitHub . Consultado el 8 de septiembre de 2025 .
  28. "zstd/license en dev · facebook/zstd" . GitHub . Consultado el 8 de septiembre de 2025 .
  29. "list: /lfs/downloads/stable/wget-list" (txt) . www.linuxfromscratch.org . Consultado el 9 de septiembre de 2025 .
  30. Bodnar, Ladislav (19 de mayo de 2004). "Aprendiendo Linux desde cero" . lwn.net . Consultado el 28 de marzo de 2020 .
  31. srlinuxx (11 de julio de 2005). "Linux desde cero 6.1 (¿parte 1?) | Tux Machines" . www.tuxmachines.org . Consultado el 28 de marzo de 2020 .
  32. srlinuxx (11 de julio de 2005). "Linux desde cero 6.1 – Parte 2 – BLFS | Tux Machines" . www.tuxmachines.org . Consultado el 28 de marzo de 2020 .
  33. srlinuxx (5 de septiembre de 2005). "Más allá de Linux desde cero (lfs – parte 3) | Tux Machines" . www.tuxmachines.org . Consultado el 28 de marzo de 2020 .
  • Sitio web oficial
  • Linux desde cero en DistroWatch
  • "Entrevista con Gerard Beekmans" . Packt Publishing. Archivado del original el 3 de diciembre de 2013. Consultado el 9 de septiembre de 2025 .
  • Locutus (10 de diciembre de 2007). "Es Linux y lo hice a mi manera. Entrevista con Gerard Beekmans" . it.toolbox.com . Archivado del original el 27 de julio de 2008. Consultado el 9 de septiembre de 2025 .