7

私が取り組んでいる OS の基礎としてベアボーン チュートリアルを使用していますが、これは古いチュートリアルのようです。カーネルをフロッピー イメージにコンパイルし、それを GRUB でロードしています。

基本的には GRUB を使用したいのですが、代わりに CD から OS を実行したいと考えています。主な理由は、実際に使用できる実際のフロッピー ドライブがない (現在 VirtualBox でテストしている) ため、実際のハードウェアで OS をテストする方法がないためです。

私はネットをうろうろしていて、フロッピー イメージからブータブル CD を作成するユーティリティをたくさん見つけることができます。イメージを最初にフロッピーに配置する必要がなく、理想的には作成ステップ中に起動可能な CD を作成できるようにしたいと考えていますが、これはかなり無意味に思えます。

これに答える簡単な方法だと思います: CD からカーネル イメージを読み取るように GRUB を設定するにはどうすればよいですか? Windows からこれを行うには特別なユーティリティが必要ですか? (カーネルはまだそれ自体をコンパイルできません。それはしばらくの間ではありません)

ありがとう!

4

3 に答える 3

6

OSdev の人々からのアドバイスを受けて、自分のプロジェクトの解決策を自分で見つけました。ディレクトリを取得し、そのディレクトリを CD に書き込むことができる ISO イメージにする mkisofs というユーティリティ (Windows で cygwin dll を使用して実行できます) があります。-b フラグを使用すると、ディスクのブート セクタに配置するファイルを指定できます。

解決策は、ブートセクタに GRUB を配置し、GRUB を使用してカーネル イメージをロードすることです。これを非フロッピー形式で簡単にコンパイルできます。

于 2009-01-09T02:00:10.820 に答える
5

私の知る限り、起動可能な CD は起動可能なフロッピーとほとんど同じです。ブート ローダー (GRUB) をブート セクターなどに配置する必要があります。プロテクト モードに切り替えるまで、BIOS が低レベルの処理を行います。

おそらく、イメージを作成してから、実際の物理ディスクに追加する必要があります。

El Torito ブータブル CD の仕様は次のとおりです

編集:カーネルをテストする別の方法は、起動可能な USB スティックです。ここでも、BIOS は、A20 をオンにして保護モードにジャンプするまで、低レベルの USB を処理します。

于 2009-01-08T19:26:17.403 に答える
1

コードを調べることに興味がある場合は、MoblinImageCreatorがおそらくチェックアウトするのに適したアプリケーションです。Pythonで記述されており、Moblin Linuxのライブ構成とインストール可能構成の両方に対してさまざまなタイプのブート可能イメージ(CD、USB、NAND)を作成できます。

于 2009-01-08T20:41:53.943 に答える