GNU/Linux >> Tutoriales Linux >  >> Linux

¿Por qué se necesita MLO en el paso de arranque?

De eLinux.org:

http://elinux.org/Panda_How_to_MLO_%26_u-boot

El cargador de arranque de primera etapa se ejecuta directamente en la placa desde el encendido. No sé el nombre de este gestor de arranque (del wiki oficial de TI, se llama Boot Rom). Este gestor de arranque inicializa una cantidad mínima de CPU y hardware de placa, luego accede a la primera partición de la tarjeta SD (que debe estar en formato FAT), carga un archivo llamado "MLO" y lo ejecuta. "MLO" es el cargador de arranque de segunda etapa.

Aparentemente, el cargador de arranque de la segunda etapa puede ser uno de los X-loader o SPL. Aparentemente, este gestor de arranque solo lee la primera partición de la tarjeta SD, carga un archivo llamado "u-boot.bin" y lo ejecuta. "u-boot.bin" es el gestor de arranque de tercera etapa.

El cargador de arranque de la tercera etapa es U-boot, que es un cargador de arranque popular para muchas placas y productos integrados diferentes. Este cargador de arranque tiene muchas características diferentes, que incluyen un shell interactivo, variables, la capacidad de acceder a la tarjeta SD y mostrar su contenido, etc. Lo que suceda a continuación depende de la versión de U-boot que tenga para la placa Panda y cómo esté configurado. En una configuración muy simple, U-Boot buscará el archivo "uImage" en la raíz de la primera partición de la tarjeta SD (que, nuevamente, debe estar formateada como una partición FAT), y lo ejecutará. Este es el kernel de Linux. U-Boot pasa el argumento de la línea de comandos del núcleo. Dependiendo de cómo esté configurado el núcleo, puede aceptar la línea de comando de U-Boot o usar una que se compiló cuando se creó.

Esta es una "cosa de Panda Board", no necesariamente cierta para Linux en general.

Sin embargo, la mayoría todas los sistemas tienen algún tipo de arranque de "múltiples etapas" como el de arriba. Por ejemplo, al iniciar una PC con Windows, verá:

  1. Arranque del BIOS
  2. El sector de arranque se carga desde el disco o USB; o se lee un registro de arranque PXE de la red
  3. El kernel de Windows se inicia (lo que ve antes/durante la "pantalla de inicio")
  4. Finalmente, "Windows" se inicia

Así que no es ni "ineficiente", ni inusual.

PD:Este enlace también tiene una buena descripción de la secuencia de carga de arranque:

  • http://omappedia.org/wiki/Bootloader_Proyecto

PPS:"MLO" significa "Mmc LOader"


Cuando aparece la placa, la Unidad de administración de memoria (MMU) aún debe configurarse antes de que la CPU pueda comenzar a usar la SDRAM. El SoC tiene 56 KB de SRAM que se pueden usar en ese momento, pero es demasiado pequeño para que se ejecute u-boot. El paso adicional es que el código que se ejecuta desde SRAM se cargará e iniciará u-boot.


Linux
  1. ¿Por qué Cd no es un programa?

  2. Ubuntu:¿por qué Docker Container no se inicia en el arranque con Upstart Script en Ubuntu 12.04?

  3. ¿En qué partición está instalado el gestor de arranque?

  4. ¿Por qué se necesita el método de sondeo en los controladores de dispositivos de Linux además de init?

  5. por qué C clock () devuelve 0

¿Por qué no puedo realizar un arranque dual de Windows 10 con Ubuntu 18.04?

¿Por qué Kubernetes se llama K8?

Cómo solucionarlo:Se necesita al menos xMB más de espacio en el sistema de archivos /boot

Proceso de arranque de Linux:explicado paso a paso para principiantes

¿Por qué puedo acceder a archivos protegidos de Windows cuando inicio Ubuntu desde USB?

Buscar gestor de arranque