2016-08-27 16 views
0

私はオペレーティングシステムの概念について勉強しています。私はシンプルなブートローダと2番目のステージのローダをアセンブリで作成しました。私はLinuxに慣れていないので、それをエミュレートする方法はわかりません。私はたくさんの場所を訪れましたが、完全な説明は見つかりませんでした。qemuエミュレータで.imgファイルをビルドして実行する方法は?

ddツールとqemuを使ってエミュレータでboot.asmとload.asmファイルをエミュレートするにはどうすればよいのですか?USBに入れて実際のマシンで起動するにはどうすればいいですか?

私はそれをキャッチアップするように、私を導いてください。..

OS:Ubuntuの16.04.1 アセンブリ:8086アセンブリ

答えて

0

'.imgの' ファイルは、例えば、必要なbinnariesが含まれていた容器であること'[ブートローダー] [カーネル] [dtb]'。 'dd'を使用すると、そのようなコンテナを作成できます。別の言葉では、必要なすべてのファイルを1つにマージすることができます。あなたが指摘したオフセットを使って 'boot.img'また、すべてのオフセットは、ブートローダのヘッダーファイルで宣言する必要があります。 'boot.img'が正常に作成されたら、オプション '-bios'(emulated rom)をqemuに渡すことができます。 Qemuは0x0 offsetからこのファイルの実行を開始します。これはあなたのブートローダです。ブートローダーはカーネルをRAMにコピーし、カーネルに実行を渡します。

関連する問題