12

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

カーネル200+KERNELSIZE
ブート

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

4

2 に答える 2

3

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

GRUB のソース コードを調べて、正確な場所を特定することをお勧めします。

于 2008-10-20T04:20:45.533 に答える
2

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

于 2008-10-20T04:13:34.347 に答える