¿Cuál es el proceso de inicio de un sistema Linux integrado?
Inicialización
RAM
Desde
Linux
el kernel suele estar en
Ejecutar en RAM
, así que antes de llamar al
kernel
Linux
,
cargador de arranque
p>La RAM debe configurarse e inicializarse
en preparación para llamar al
kernel de Linux
. La tarea de inicializar
RAM
incluye configurar los parámetros del registro de control de la
CPU
para que pueda usarse correctamente p>
RAM
y detectar el tamaño de RAM
, etc.
2)
Inicializar el puerto serie
juega un papel muy importante en el proceso de inicio de
Linux
Un papel importante y una de las formas en que el kernel interactúa con los usuarios. Aunque esto no es un requisito para
Bootloader
, enviar información a través del puerto serie es útil para depurar
Bootloader
y Linux.
p>
Una herramienta poderosa para el kernel, por lo que
Bootloader
generalmente inicializará el puerto serie como puerto de depuración durante la ejecución.
3)
Detección
Tipo de procesador
El gestor de arranque debe detectar antes de llamar
Kernel de Linux El tipo de procesador del sistema y guárdelo como una constante en el kernel de
Linux
. El kernel llamará a la rutina de inicialización correspondiente según el tipo de procesador durante el proceso de inicio.
4)
Establecer
parámetros de arranque de Linux
El gestor de arranque debe configurarse e inicializarse durante la ejecución
Linux
Parámetros de arranque del kernel.
5)
Llamar
Imagen del kernel de Linux
La última tarea completada por Bootloader es llamar
Núcleo de Linux. Si
Linux
el kernel se almacena en
Flash
y se puede ejecutar directamente en él (donde
Flash
significa
Ni
Flash), puede saltar directamente al kernel para su ejecución. Sin embargo, dado que ejecutar código en
Flash
tiene sus limitaciones y es mucho más lento que
RAM
, generalmente
El sistema integrado
copiará
el kernel de Linux a
RAM
y luego saltará a
RAM
para ejecución.