Estoy buscando la línea de código donde GRUB2 finalmente salta al código del kernel y, por lo tanto, entrega la ejecución en sistemas x86. Supongo que está en un archivo ensamblador ya que esto es un material de muy baja arquitectura. Miré los archivos de origen /grub-core/boot/i386/pc/*.S
y encontré un arranqueJMP
en S en la línea 455, pero kernel_address
podría ser la dirección del núcleo GRUB2 en la memoria y no el núcleo de Linux.
¿Alguien con conocimientos de ensamblaje y GRUB2 que pueda ayudarme?
¿Has seguido los parámetros del kernel?
—
phk
No puedo agregar mucho aquí ya que estoy publicando desde un teléfono, pero puedo adivinar, según lo que recuerdo de PC compatibles y GRUB2, que carga la imagen del kernel en la memoria a 0x900000 (modo real), siendo 0x0c000000 el la dirección saltó a una vez que saltas del modo real al modo protegido. Sin embargo, esto estaba en un sistema EFI con "arranque de confianza", por lo que podría ser incorrecto. Tal vez su
—
Wyatt8740
initrd
imagen contendrá pistas?