質問

オペレーティングシステム用のカーネルを開発しています。それを実行するために、GRUBを使用することにしました。現在、GRUBの stage1 stage2 、パッドファイル、およびカーネル自体にスクリプトをアタッチして、ブート可能にします。唯一の問題は、実行するときに、GRUBにカーネルの場所とカーネルの大きさを手動で知らせてから、次のようにブートする必要があることです。

kernel 200+KERNELSIZE
boot

KERNELSIZE は、ブロック単位のカーネルのサイズです。最初はこれで問題ありませんが、これらの値をバイナリで取得し、GRUBにカーネルを自動的にブートさせることは可能ですか?それを達成する方法に関する提案はありますか?

役に立ちましたか?

解決

独自のmenu.lst confファイルを作成し、" configfile /path/to/menu.lst"を使用してgrubシェルにロードできると想像します。その後、「setup(hd0)」を実行します;必要に応じて値を置き換えます。ただ推測しているだけです。カスタム設定の違いはわかりません。

他のヒント

http://www.gnu.org/software/grub/manual/grub.html#Embedded -data は、GRUBのブロックリストストレージに関する一般的な情報を提供します。最も重要なことは、ブロックリストはstage2の明確に定義された場所に保存されることです。

おそらく、正確な場所を把握するためにGRUBソースコードを確認する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top