GRUBを有効にしてカーネルから自動的に起動する
-
03-07-2019 - |
質問
オペレーティングシステム用のカーネルを開発しています。それを実行するために、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ソースコードを確認する必要があります。
所属していません StackOverflow