Wo im GRUB2-Quellcode befindet sich die Übergabe / der Sprung zum Kernel-Code?


11

Ich suche nach der Codezeile, in der GRUB2 endlich zum Kernel-Code springt und damit die Ausführung auf x86-Systemen übergibt. Ich denke, es ist in einer Assembler-Datei, da dies sehr wenig Architektur ist. Ich habe mir die Quelldateien in angesehen /grub-core/boot/i386/pc/*.Sund JMPin Zeile 455 eine in boot.S gefunden , kernel_addresskönnte aber die Adresse des GRUB2-Kernels im Speicher und nicht des Linux-Kernels sein.

Jemand mit Montage- und GRUB2-Kenntnissen, der mir helfen kann?


Haben Sie die Kernel-Parameter verfolgt?
Phk

1
Ich kann hier nicht zu viel hinzufügen, da ich von einem Telefon aus poste, aber ich kann basierend auf meinen Erinnerungen an PC-kompatible Geräte und GRUB2 vermuten, dass das Kernel-Image bei 0x900000 (Real-Modus) in den Speicher geladen wird, wobei 0x0c000000 das ist Adresse gesprungen zu, sobald Sie aus dem Real-Modus in den geschützten Modus springen. Dies war jedoch auf einem EFI-System mit "Trusted Boot", so dass ich falsch liegen könnte. Vielleicht enthält Ihr initrdBild Hinweise?
Wyatt8740

Antworten:


1

Gerade von der Quelle zu lesen, dies sollte der Ort , in den Linux - Loader und sein dies der Ort , in dem relocater (unabhängig von der Lade).

Ich hoffe das hilft :)

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.