¿Qué implica adaptar el kernel de Linux al trasplantarlo?

El trasplante de sistemas Linux integrados incluye principalmente tres partes: U-Boot, kernel de Linux y sistema de archivos.

Uboot comienza a ejecutarse cuando se enciende el sistema, inicializa los dispositivos de hardware, prepara el entorno de software y luego llama al kernel del sistema operativo Linux. El sistema de archivos es la capa de software del kernel en el sistema operativo Linux que se utiliza para administrar los archivos de los usuarios. El sistema de archivos incluye el sistema de archivos raíz y el sistema de archivos integrado en el dispositivo de memoria Flash. El sistema de archivos raíz incluye el software y las bibliotecas utilizadas por el sistema, así como todo el software de aplicación utilizado para proporcionar arquitectura de soporte y uso del usuario, y sirve como un área para almacenar resultados de lectura y escritura de datos.

El proceso de trasplante del sistema Linux se puede dividir aproximadamente en seis pasos:

1) Trabajo de preparación, incluida la descarga del código fuente, el establecimiento de un entorno de compilación cruzada, etc. El desarrollo cruzado se refiere a instalar herramientas de desarrollo en el host de desarrollo, editar y compilar el programa de arranque, el kernel y el sistema de archivos de la placa de destino para que puedan ejecutarse en la placa de destino.

2) Configurar y programar el gestor de arranque (boot loader). A través de este pequeño programa, puede inicializar dispositivos de hardware y establecer una tabla de mapeo de espacio de memoria, estableciendo así un entorno de hardware del sistema apropiado y preparándose para la llamada final al kernel del sistema operativo.

3) Configurar y compilar el kernel de Linux, adaptarlo en consecuencia y modificar el kernel para que admita dispositivos de hardware relacionados.

4) Portar el sistema de archivos YAFFS para NAND Flash de gran capacidad y agregar el sistema de archivos al kernel de Linux.

5) Crear un disco RAM para montar el sistema de archivos raíz. Los archivos y dispositivos en los sistemas Linux se organizan a través de sistemas de archivos. El sistema de archivos existe para que se pueda acceder a los datos y dispositivos de manera eficiente y transparente. Un sistema de archivos raíz minimalista de Linux debe incluir el contenido básico que respalda el funcionamiento normal del sistema Linux, incluido el software y las bibliotecas utilizadas por el sistema, así como toda la arquitectura e instrucciones utilizadas para brindar soporte básico a los usuarios.

6) Programe y depure el sistema; si se producen errores de depuración, deberá reconfigurarlo y volver al paso (2) anterior.