GRUB2ソースコードのどこにカーネルコードへのハンドオーバー/ジャンプがありますか?


11

GRUB2が最終的にカーネルコードにジャンプし、x86システムで実行を引き継ぐコード行を探していますか?これは非常に低いアーキテクチャのものなので、アセンブラファイルにあると思います。私は、内のソースファイルを見て/grub-core/boot/i386/pc/*.S、見つかっJMPライン455でboot.Sが、kernel_addressGRUB2メモリ内のカーネルではなく、Linuxカーネルのアドレスである可能性があります。

私を助けることができるアセンブリとGRUB2の知識を持つ人は誰ですか?


カーネルパラメータを追跡しましたか?
2015年

1
私は電話から投稿しているので、ここに追加することはできませんが、PC互換とGRUB2の記憶に基づいて、カーネルイメージを0x900000(リアルモード)でメモリにロードすると推測できます。リアルモードからプロテクトモードにジャンプすると、アドレスがジャンプします。ただし、これは「トラステッドブート」を備えたEFIシステム上にあったため、正しくない可能性があります。たぶんあなたのinitrd画像には手がかりが含まれていますか?
Wyatt8740

回答:


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.