El U-Boot esambosgestor de arranque de primera y segunda etapa, como FSBL en una PC IBM, debe encajar en la primera446 bytes(o menos) antes de MBR en el primer sector.
También hay un cargador de arranque de 1,5 etapas que utiliza el código FSBL para leer 31.744 bytes del disco y saltar a él (sector 1 al 62, ya que la primera partición compatible con DOS puede comenzar en el sector 63). Creo que no es el caso de U-Boot.
No estoy buscando UEFI ni kexec por igual, y preferiría que no requiera coreboot u otro código de cargador de arranque, tengoleerEs posible pero nadie dejó claro cómo.
¿Qué configuración debo usar? ¿Chromebook Link o Edison? ¿Generará un fragmento de 446 bytes para colocar en MBR? ¿Debería poner algo en el sector 1 al 62? Creo que no cabe en la etapa 1.5, ¿cómo se supone que encontrará el resto en el disco?
Respuesta1
Aunque U-Boot es compatible con x86hardware, no incluye soporte para BIOS x86firmware.
Por lo tanto, el primer paso para usar U-Boot en una PC x86 heredada sería reemplazar el BIOS con su propio firmware personalizado que incluya la primera etapa de U-Boot.
Después de haber hecho eso, las antiguas convenciones de arranque del BIOS, como cargar un código de arranque de 446 bytes desde el bloque #0 del primer disco duro, ya no se aplicarán y en su lugar se usarán las convenciones de U-Boot.
Por supuesto, reemplazar el BIOS requiere que su firmware personalizado primero pueda manejar la inicialización del chipset de su sistema y probar y habilitar la RAM después de un arranque en frío. En el hardware de PC, esto puede ser un desafío mayor de lo que esperaba, ya que es posible que la documentación de programación del chipset no esté fácilmente disponible para todos los chipsets de PC.
U-Boot no es un gestor de arranque compatible con BIOS ni un reemplazo sencillo para BIOS; cuando su documentación dice que es compatible con x86, sólo significa que U-Boot puede integrarse fácilmente con proyectos de hardware que utilizan un procesador x86 en hardware personalizado.
Parece que quizás esté confundiendo la terminología específica de GRUB Legacy (primera etapa, segunda etapa, etapa 1.5) con terminología de diseño de sistemas más genérica para cargadores de arranque.
En el sentido del diseño de sistemas, en una PC x86 heredada con el objetivo de ejecutar Linux,el BIOSes el gestor de arranque de primera etapa: está organizado en ROM (o EEPROM flash) para ser lo primero que ejecutará el procesador después de un reinicio en frío, y su trabajo es inicializar el hardware necesario y cargar un programa relativamente compacto desde una ubicación fija o ubicación por lo demás bien definida.
En el sentido del diseño de sistemas, la totalidad de GRUB sería un gestor de arranque de segunda etapa. GRUB Legacy también se divide en componentes que se denominan "etapas", pero estas son solo divisiones internas de GRUB que se crearon para solucionar las restricciones del BIOS heredado; Las etapas de GRUB no son lo mismo que el diseño de sistemas.gestor de arranque de primera/segunda etapaterminología.