WindowsのLinuxの-0.11(RPM)の下で実行されているBochsのとコンパイル

https://blog.csdn.net/u014688145/article/details/50575588

簡単な説明:Bochsのは、主にフリーでオープンソースのx86ベースのPCエミュレータです。linux0.11カーネルを学ぶ、それはシミュレータ上でお勧めします。
ビルド手順への環境:
1、ダウンロードLinux0.11システムパッケージは、ダウンロードリンクは、このパッケージBochsのソフトウェアに含まれています。

オープンリンクhttp://oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zipクリックして
以下のように2、解凍linux-0.11-devel-040329.zip、ディレクトリ構造を:

 

本当にここの文書に使用:Bochsの-2.1.1.exe、bochsrc-hd.bxrc、ブートイメージ-0.11、ブートイメージ-HD-0.11、HDC-0.11.img
3、Bochsの-2.1.1.exeインストール]をクリックします。

インストールが完了した後、のlinux-0.11-develの-040329内のすべてのファイルは、ルートディレクトリにファイルBochsの取り付けたばかりの4、。元のディレクトリは次の通り:


ディレクトリのコピー後:

 

5、コピーは、実行bochsrc-hd.bxrc完了した後、インストールが成功した場合、すなわち、次のインターフェイスを見てオープン。

 

これは、完全なLinuxオペレーティングシステムを設定し、すでにx86PCシミュレータです。オペレーティング・プラットフォームを確立するために、Linuxのコマンドは、Linuxが動作することができるようになります。オペレーティングシステムのニーズを学習するので、我々は、Linuxオペレーティング・システムで必要とLinuxカーネルを理解する能力を達成するように、ソースコードの変更の簡単な編集を完了します。次に、Linuxカーネルのソースコードの変更、ならびにカーネルのコンパイルプロセスの主なデモ。理由のLinuxバージョン以来、我々はまた、コードの調整が正常にコンパイルすることができますようにする必要があります。

:カーネルのコンパイルプロセス
は/ usr / srcの下に/ linuxのディレクトリに1、下に示すように、コマンドのCD ../src/linuxを入力します。

 

2は、コンパイルコマンドクリーンとメイクメイクを入力します。

 

GCC-CC1を:無効なオプションは、「文字列-たinsn」次のようにエラーが発生した場合。これは、LinuxディレクトリのMakefileファイルが削除パラメータ-たinsnの-mstringに必要です。また、各サブディレクトリFS、LIB、カーネルドライバと3つのサブディレクトリが削除-たinsnを-mstringパラメータのうち、ディレクトリ(数学、blk_drv、chr_drv)Makefikeカーネル。ここでの唯一のルートディレクトリの変更にMakefileを示しています。

3、依次修改:/linux/Makefile、/linux/fs/Makefile、/linux/lib/Makefile、

/ Linuxの/カーネル/ Makefileに、/ linuxの/カーネル/数学/ Makefileに、/ linuxの/カーネル/ blk_drv / Makefileに、/ linuxの/カーネル/ chr_drv / Makefileファイル。Linuxのディレクトリの下に、入力します。viのMakefile。下図のように:

 

-mstring-するinsnパラメータ・ファイルを検索し、保存、削除。

MV ARガー:4、には/ usr / local /ビン・ファイルは、コマンドを入力し、AR、ARと名前を変更したGARを発見しました。下図のように:

 

図5は、Linuxディレクトリ、再型へのバックは、カーネルのリンクをコンパイルし、清潔でメイクします。

 

 

正常にコンパイルされたプログラムの面で地図上のプロンプトが表示されます。コンパイルが完了したら、システムの機能を操作し、システムを操作する方法を学ぶの拡大の目的を達成するように、カーネルソースを変更する開始することができます。ここでは、私たちの簡単な修正、Linuxオペレーティングシステムのブートエントリのbootsect.Sソースなので、出力文字列は、パーソナライズされたことをブート。

6、、は/ usr / src / linux /ブートディレクトリを入力し、ソースコードのbootsect.Sを変更し、保存して終了。

!いくつかの無意味なメッセージを印刷
読むカーソルPOS!MOV AH、#0x03のを
XOR BH、BH
のint 0x10の
MOV CX、#47
のページ0、属性!MOV BX、#0x0007。7(ノーマル)
MOV BP、#MSG1
MOV AX、#0x1301!文字列の書き込み、カーソルを移動
int型の0x10
:MSG1
.BYTE 13,10
.ASCII "この悪魔で...読み込んシステムISの作成"
.BYTE 13,10,13,10
.ORG 508
、ディレクトリにlinuxを編集した後に7、そして、コンパイルを完了するために、makeコマンドを再入力します。

8は、後に成功したビルドブートイメージファイルイメージを作ります。画像希望月最初のブートイメージ-0.11-HDバックアップファイルであれば、このファイルの出力し、次のコマンドを使用してコマンドを入力し、新しいブートファイルへのブートイメージ-0.11-HDを置き換えます:DD BS = 8192の場合= = /の画像DEV / fd0と。下図のように:

 

9 Linuxオペレーティングシステムを再起動するためにリセットをクリックします。下図のように:


----------------
免責事項:この記事は、黒と白のオリジナルの記事でCSDNブロガー「悪魔で、CC 4.0 BY-SAの著作権契約、複製、オリジナルのソースを添付してくださいに従ってくださいリンクとこの文。
オリジナルリンクします。https://blog.csdn.net/u014688145/article/details/50575588

おすすめ

転載: www.cnblogs.com/yasepix/p/12295607.html