¿Dónde en el código fuente de GRUB2 se encuentra el código de transferencia / salto al núcleo?


11

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/*.Sy encontré un arranqueJMP en S en la línea 455, pero kernel_addresspodrí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

1
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 initrdimagen contendrá pistas?
Wyatt8740

Respuestas:


1

Solo leyendo la fuente, este debería ser el lugar en el cargador de Linux y este es el lugar en el reubicador (independiente del cargador).

Espero que eso ayude :)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.