Qu茅 distribuci贸n es mejor usar para sistemas embebidos. Este tema es relevante hoy.
Existen tres enfoques relevantes para resolver este problema:- Use una distribuci贸n preparada para su computadora de placa 煤nica (Armbian, Openwrt, etc.)
- Compile y configure su distribuci贸n utilizando sistemas de compilaci贸n (Buildroot / Yocto, etc.).
- Use su cargador de arranque de paquete (u-boot) + kernel (kernel) + rootfs (busybox).
Si alguien m谩s lo sabe, por favor escriba en los comentarios.
ACTUALIZARUn proyecto OpenWRT es tanto un sistema de compilaci贸n (no es una ra铆z de compilaci贸n) como un proyecto que proporciona im谩genes ensambladas listas para su tablero de destino.
Distribuciones listas para usar
Creo que usar una distribuci贸n preparada es la forma m谩s f谩cil y m谩s f谩cil. Puede descargar la imagen terminada o crear la suya propia. El ensamblaje de su imagen Armbain no siempre es flexible, porque no puede seleccionar ninguna versi贸n del kernel de Linux, sino utilizar solo las que se proporcionan.
La principal ventaja de las distribuciones listas para usar tambi茅n debe ser respondida: su estabilidad.
Para empezar, recomendar铆a estas distribuciones.
Armbian es una distribuci贸n popular de Linux disponible para una amplia variedad de dispositivos ARM: Orange Pi, Banana Pi, Odroid, etc. Est谩 basada en Ubuntu y / o Debian.
www.armbian.com
OpenWrt es un sistema operativo integrado basado en el kernel de Linux y dise帽ado principalmente para enrutadores dom茅sticos. Los componentes clave incluyen el kernel de Linux, util-linux, uClibc o musl y BusyBox. El tama帽o de todos los componentes est谩 optimizado debido al hecho de que la mayor铆a de los enrutadores dom茅sticos tienen una cantidad muy limitada de memoria.
Agregar铆a por mi cuenta, muy adecuado para placas con wi-fi a bordo (por ejemplo, Orange Pi Zero).
openwrt.org
Sistemas de montaje
La principal ventaja de los sistemas de ensamblaje es que puede construir Linux m铆nimo y flexible para sistemas embebidos.
Buildroot
Buildroot es un sistema de compilaci贸n de distribuci贸n para sistemas embebidos. Es compatible con un mont贸n de placas y el resultado de su trabajo es el gestor de arranque ensamblado, el n煤cleo y la imagen.
sistema de archivos
Lo que permite construir buildroot para su sistema:- imagen del sistema;
- Este sistema le permite seleccionar la versi贸n del n煤cleo, cualquiera.
- Puede agregar parches e instalar cualquier programa.
- configuraci贸n flexible de utilidades (por ejemplo, busyBox, bash, etc.)
Cabe se帽alar que todas las fuentes adicionales se extraen de la red.
Distinguir tal asamblea, por ejemplo, de la asamblea armbiana:- la distribuci贸n no se basa en (Debian o Ubuntu), sino en un Linux flexible y personalizado.
- Tama帽o m铆nimo de montaje.
- selecci贸n de cualquier versi贸n del kernel.
buildroot.org
3. Usando su paquete:Para esto necesitamos:
- Compilador cruzado (por ejemplo, Linaro);
- Gestor de arranque (por ejemplo, U-boot);
- Kernel;
- RootFs (por ejemplo, Busybox).
Entonces vamos.
Por lo tanto, recopilaremos localmente en nuestra m谩quina, necesitamos un compilador cruzado, por ejemplo, linaro. El compilador cruzado ayudar谩 en la arquitectura x86 para ensamblar nuestra distribuci贸n para la plataforma ARM de destino.
www.linaro.org
A continuaci贸n, debe crear un gestor de arranque.
Bootloader (U-Boot) : el gestor de arranque m谩s popular para ARM es U-boot. La tarea principal del gestor de arranque es iniciar el kernel de Linux Kernel. Tambi茅n puede usar, por ejemplo, barebox u otro.
www.denx.de/wiki/U-Boot

Siguiente Necesitamos construir el n煤cleo, a la salida necesitamos obtener la imagen del n煤cleo y el 谩rbol de dispositivos para nuestra plataforma de destino.
www.kernel.org
RootFs es el sistema de archivos ra铆z que Kernel montar谩 despu茅s del arranque. Recomiendo usar Busybox.

busybox.net
Conclusi贸n
No estoy diciendo que hay enfoques malos o buenos. Cada uno tiene sus propias ventajas y desventajas. Depende de su tarea y del resultado que necesita obtener.