Saya mencari baris kode di mana GRUB2 akhirnya melompat ke kode kernel dan dengan demikian menyerahkan eksekusi pada sistem x86? Saya kira itu dalam file assembler karena ini adalah hal arsitektur yang sangat rendah. Saya melihat file sumber /grub-core/boot/i386/pc/*.S
dan menemukan JMP
dalam boot.S pada baris 455 tetapi kernel_address
bisa menjadi alamat kernel GRUB2 dalam memori dan bukan kernel linux.
Adakah yang memiliki pengetahuan perakitan dan GRUB2 yang dapat membantu saya?
Apakah Anda melacak parameter kernel?
—
phk
Saya tidak dapat menambahkan terlalu banyak di sini karena saya memposting dari telepon, tetapi saya dapat menebak berdasarkan apa yang saya ingat tentang PC yang kompatibel dan GRUB2 yang memuat gambar kernel ke memori pada 0x900000 (mode real), dengan 0x0c000000 sebagai alamat melompat ke begitu Anda melompat keluar dari mode nyata ke mode terlindungi. Ini ada di sistem EFI dengan "boot tepercaya", jadi saya bisa salah. Mungkin
—
Wyatt8740
initrd
gambar Anda akan berisi petunjuk?