Estoy diseñando una placa Linux integrada para usar como controlador basado en web. Se basará en un Atmel AT91SAM9G20, que utiliza un núcleo ARM926EJ-S. ¿Alguien ha tenido experiencias particularmente buenas o malas con los gestores de arranque? En términos más generales, ¿cómo debo construir/elegir una distribución de Linux para esta placa?
Tanto el cargador de arranque como la distribución de Linux dependen de cuál sea su aplicación final.
RedBoot y uBoot son cargadores de arranque populares para Linux integrado. Admiten escritura en flash, carga de código a través de serial/ethernet, etc. Pero, para un dispositivo profundamente integrado, un cargador mínimo podría ser mejor, dejando todo lo demás a Linux.
Si necesita acceder a muchos paquetes de software, puede probar el puerto ARM de Debian. Para cualquier otra cosa, recomendaría OpenEmbedded o Buildroot: ambos son sistemas de compilación configurables para generar kernels y sistemas de archivos de Linux con solo lo que necesita y nada más.
Creo que su mejor apuesta para el cargador de arranque es U-Boot . Tiene un puerto para el procesador que está buscando en su carpeta "arch", y es probablemente uno de los cargadores de arranque más populares. Puede buscar en la carpeta de la placa atmel de la fuente para obtener una idea sobre cómo configurar su código alrededor de su chip.
He usado U-Boot antes y es bastante bueno, muy flexible. Debe comunicarse con Atmel para ver qué SDK ofrecen. Si tiene espacio en Flash, Debian es una buena opción. Es bastante grande, pero poder instalar un paquete con un simple "apt-get" es mucho más fácil que tener que intentar compilarlo usted mismo. Utilizo el TIAM335x para mis proyectos y la gente de la comunidad de BeagleBone incluso ha puesto a disposición archivos tar de Debian ya compilados para ARM. Instalar el sistema de archivos raíz es tan simple como descomprimir el archivo provisto.
No tengo mucha experiencia con cargadores de arranque, pero puedo responder a esta pregunta:
¿Cómo debo construir/elegir una distribución de Linux para esta placa?
Definitivamente debería usar Debian como base de su sistema, porque es el Linux más versátil que existe . Tiene una gran colección de paquetes (aplicaciones) para ARM y otras arquitecturas.
Hay algunas distribuciones dedicadas a ARM, pero después de 3 años de jugar con dispositivos como Raspberry, BeagleBone, etc., siento que Debian tiene más paquetes que funcionan en ARM que distribuciones especializadas en ARM.
Juan U.