Buildroot es un conjunto de Makefiles y parches que simplifica y automatiza el proceso de creación de un entorno Linux completo y arrancable para un sistema integrado , al mismo tiempo que utiliza la compilación cruzada para permitir la creación de múltiples plataformas de destino en un único sistema de desarrollo basado en Linux. Buildroot puede crear automáticamente la cadena de herramientas de compilación cruzada requerida , crear un sistema de archivos raíz , compilar una imagen del núcleo de Linux y generar un cargador de arranque para el sistema integrado de destino, o puede realizar cualquier combinación independiente de estos pasos. Por ejemplo, una cadena de herramientas de compilación cruzada ya instalada se puede utilizar de forma independiente, mientras que Buildroot solo crea el sistema de archivos raíz. [3] [4] [5] : 2–3, 10–12 [6]
Buildroot está destinado principalmente a ser utilizado con sistemas pequeños o integrados basados en varias arquitecturas de computadora y arquitecturas de conjuntos de instrucciones (ISA), incluyendo x86 , ARM , MIPS , PowerPC y RISC-V . [7] Se admiten numerosas arquitecturas y sus variantes; Buildroot también viene con configuraciones predeterminadas para varias placas integradas disponibles en el mercado, como Cubieboard , Raspberry Pi y SheevaPlug . [8] [9] : 25 Varios proyectos y productos de terceros utilizan Buildroot como base para sus sistemas de compilación, incluido el proyecto OpenWrt que crea un sistema operativo integrado y firmware para el equipo local del cliente (CPE) utilizado por el servicio de banda ancha Google Fiber . [9] : 15 [10]
Se admiten varias bibliotecas estándar de C como parte de la cadena de herramientas, incluidas la biblioteca C de GNU , uClibc y musl , así como las bibliotecas estándar de C que pertenecen a varios entornos de desarrollo preconfigurados, como los proporcionados por Linaro . El sistema de configuración de compilación de Buildroot utiliza internamente Kconfig , que proporciona características como una interfaz basada en menús, manejo de dependencias y ayuda contextual ; Kconfig también es utilizado por el núcleo de Linux para su configuración a nivel de fuente. Buildroot está organizado en torno a numerosos paquetes descargados automáticamente , que contienen el código fuente de varias aplicaciones de espacio de usuario , utilidades del sistema y bibliotecas . Las imágenes del sistema de archivos raíz, que son los resultados finales, se pueden crear utilizando varios sistemas de archivos , incluidos cramfs , JFFS2 , romfs , SquashFS y UBIFS . [4] [9] : 6–7, 18 [11]
Buildroot es un software libre y de código abierto , mantenido por Peter Korsgaard y licenciado bajo la versión 2 o posterior de la Licencia Pública General de GNU (GPL). [4] El proyecto comenzó en 2001, con la intención inicial de servir como banco de pruebas para uClibc. Se publican nuevas versiones cada tres meses. [5] : 5 [9] : 4
Véase también
- BitBake : una herramienta de compilación similar a Make-A-Make centrada en paquetes compilados de forma cruzada y distribuciones Linux integradas
- BusyBox : un proyecto de software que proporciona varias herramientas Unix simplificadas en un único archivo ejecutable
- Distribución de Linux : un sistema operativo creado como una colección de software basado en el núcleo de Linux y, a menudo, un sistema de gestión de paquetes.
- OpenEmbedded : un marco de software para crear distribuciones de Linux adaptadas a dispositivos integrados
- uClibc : una pequeña biblioteca estándar de C diseñada para sistemas integrados basados en Linux
- Proyecto Yocto : un grupo de trabajo de la Fundación Linux centrado en distribuciones Linux integradas e independientes de la arquitectura
- OpenWrt : un proyecto de código abierto para crear Linux para dispositivos de red integrados basado en Buildroot
Referencias
- ^ "Descargas antiguas de Buildroot (índice de /downloads/old)". buildroot.org . Consultado el 16 de agosto de 2015 .
- ^ "Ya se publicó Buildroot 2024.05.2". busybox.net . 14 de agosto de 2024.
- ^ Alexander Sirotkin (31 de agosto de 2011). "Desarrolle su propio sistema Linux integrado con Buildroot". Linux Journal . Consultado el 18 de diciembre de 2014 .
- ^ abc "Buildroot: Making built-in Linux easy" (Buildroot: facilitando la instalación de Linux embebido). buildroot.org . Archivado desde el original el 18 de diciembre de 2014. Consultado el 18 de diciembre de 2014 .
- ^ ab "El manual del usuario de Buildroot" (PDF) . buildroot.org . 1 de diciembre de 2014 . Consultado el 18 de diciembre de 2014 .
- ^ Tom Parkin (27 de abril de 2010). «Herramientas y distribuciones para el desarrollo de Linux embebido». LWN.net . Consultado el 16 de agosto de 2015 .
- ^ "Buildroot: ¿qué hay de nuevo? - Conferencia sobre Linux integrado" (PDF) . bootlin.com . 2022 . Consultado el 2 de octubre de 2023 .
- ^ "Registro de cambios de Buildroot (archivo CHANGES)". git.buildroot.net . 1 de diciembre de 2014 . Consultado el 18 de diciembre de 2014 .
- ^ abcd Peter Korsgaard (26 de octubre de 2013). "Buildroot: ¿Qué hay de nuevo?" (PDF) . elinux.org . Consultado el 18 de diciembre de 2014 .
- ^ "OpenWrt Buildroot – Acerca de". openwrt.org . 6 de diciembre de 2014 . Consultado el 18 de diciembre de 2014 .
- ^ "Linux4SAM: BuildRoot". at91.com . 15 de julio de 2013 . Consultado el 16 de agosto de 2015 .
Enlaces externos
- Sitio web oficial
- Buildroot: ¿Qué hay de nuevo?, Embedded Linux Conference 2014, por Thomas Petazzoni
- Buildroot: una mirada profunda al núcleo, Embedded Linux Conference Europe 2014, por Thomas Petazzoni
- Cómo decidir entre Buildroot y Yocto, LWN.net , 6 de abril de 2016, por Nathan Willis