Ubuntu18.04インストール構成Bochs2.6.9、コンパイルして実行GeekOS
インストールBochs2.6.9
ダウンロードBochs2.6.9
入力し、ダウンロードアドレス
検索Bochsの-2.6.9.tar.gzをダウンロードして保存
解凍Bochsの-2.6.9.tar.gz
抽出液にコマンドを使用することができ、
sudo tar zxvf bochs-2.6.9.tar.gz
マウスの右ボタンで直接「ここまでエキス」を選択することができます
インストールBochsの
Bochsの-2.6.9ディレクトリが入り
、次のコマンド入力端子を
sudo ./configure --enable-debugger --enable-disasm
sudo make
sudo make install
:最初の行を入力した後、それはエラーの可能性があり
ERROR:GUIが見つからなかったX-のWindows、X-Windowsのしかし、ライブラリを選択されました。
だから、この時間はあなたが、端末に入力する必要があります。
sudo apt-get install libx11-dev xserver-xorg-dev xorg-dev
2行目の終了と第三の行の後の入力
あなたはこれらの二つのブログを参照することができ、より素晴らしいエラーと解決策:
https://blog.csdn.net/geeker_12/article/details/11409009
https://blog.csdn.net/aurorayqz/article/details/ 80310954
スタートBochsの
Bochsの直接入力端子を起動
し、次のエラーが発生する可能性があります
とBochsの次のメッセージザを終了している:
[] .bochsrc:187:不正な指令にCPUセット。
説明CPU構成の問題で
、端末に入力します。
bochs -help cpu
会出现:
サポートされているCPUモデル:
bx_generic
ペンティアム
pentium_mmx
amd_k6_2_chomper
p2_klamath
p3_katmai
p4_willamette
core_duo_t2400_yonah
atom_n270
そして、入力端子 sudo gedit .bochsrc
おそらく、187行に記載されていますCPU:モデル=
CPU:モデル= CPUモデルにおける複数の支持のために修飾された後方部分
(というよりも、元の推奨コメントは、オリジナルの削除します)
たとえば、次のように
CPU:モデル= bx_generic
保存して終了し
再実行しBochsの
そして、エラーが発生することがあります
Bochsのを低レベルのサウンドをサポートしてコンパイルされていません
入力端子
sudo gedit .bochsrc
おそらく915行で、ファイルのコメントアウト音:.ドライバー=デフォルト、waveout =は/ dev / dspのwavein =、MIDIOUT =
再びBochsの再実行
の成功を!!!
Bochsの設定
私たちは、端末のBochsに入ったときに、
Bochsのは、現在のディレクトリのために、自分自身に、デフォルトの設定ファイルとして以下のファイルを検索します:
.bochsrc
bochsrc
bochsrc.txt
bochsrc.bxrc(Windowsの場合のみ有効)
私たちは、自分自身のbochsrcという名前のファイルを作成することができ、我々はBochsの仮想マシンの構成を指定したいです
入力端子
sudo gedit bochsrc
以下の貼り付け(自分たちのニーズに応じて変更を確実にするためにここに注意を払うROMIMAGEをしてvgaromimageこれら2つの経路がそうでないかを確認するメッセージが表示されます、正しい場合に仮想マシンの起動をオープンできませんでしたROMイメージファイルのエラー):
#################################################################
# Bochs的配置文件
# Configuration file for Bochs
#################################################################
# how much memory the emulated machine will have
megs: 32
# filenameof ROM images
romimage:file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest
# which disk image will be used 这个是启动软盘
floppya:1_44=a.img, status=inserted
#后面我们会在运行GeekOS时将它改成fd.img
# choose the boot disk 确定启动方式
boot: floppy
# where do we send log messages?
log: bochsout.txt
# disable the mouse
mouse: enabled=0
# enable key mapping ,using US layout as default
keyboard:keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map
保存して終了
インストールと操作GeekOSを使用してコンパイルBochsの
のみGeekOSを実行するために、このステップをスキップすることができれば、次は、自分のフロッピーディスクを生成している:
(ターミナルに入力:sudo bximage
順次入力:
1
fdが
Enterキーフロッピーディスクa.imgを生成された押し)
NASM GeekOSをダウンロードしてインストールします
インストールは特別な注意をNASMのような少し古いバージョン、インストール払う必要があり2.08.02バージョンを、その後の操作で最新のが、エラーが発生します
、最初のダウンロードにすべての選択NASM-2.08.02.tar.gzを、ダウンロードして保存
解凍後のnasm-2.08に0.02ディレクトリの
ターンは、次のコマンドを入力します。
./configure
sudo make
sudo make install
まだNASM -version入力端子に
2.08.02に見出すことができます
ダウンロードGeekOS
に直接GeekOSのダウンロードには、
解凍ダウンロードしたら、
コンパイルGeekOS
ディレクトリを入力cd geekos-0.3.0/src/project0/build
端末入力を
sudo make depend
sudo make
:与えられ、ラインが表示されますがありCC1:すべての警告はエラーとして扱われている
のMakefile全体のメイクとして見た場合に、警告エラー
私たちは現在のディレクトリにあるMakefileを開くので、
sudo gedit Makefile
-Werror 149行を検索します。
CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror
次のように改正:
CC_GENERAL_OPTS := $(GENERAL_OPTS)
再び保存して終了、sudoのメイク
[私が最初にここにMakefileを出現につながる、NASMをインストールすることを忘れしようとすると:177:ターゲットのためのレシピ geekos / lowlevel.oは、「失敗したが、
すぐにNASMをインストールすることができ、バージョン2.08.02をインストールすることを忘れないで、一見すべての最新のサポートされていません]
須藤は再び作る
登場
「__stack_chk_fail」未定義の参照に
ソリューションは、ライン上で148件のMakefileファイルですGENERAL_OPTS:= -O -Wall $(EXTRA_C_OPTS ) コンパイラオプションの後ろを追加します
-fno-stack-protector
以下の変更のために109行に次にMakefileの100行
100 TARGET_CC := $(TARGET_CC_PREFIX)gcc -m32
101
102 # Host C compiler. This is used to compile programs to execute on
103 # the host platform, not the target (x86) platform. On x86/ELF
104 # systems, such as Linux and FreeBSD, it can generally be the same
105 # as the target C compiler.
106 HOST_CC := gcc -m32
107
108 # Target linker. GNU ld is probably to only one that will work.
109 TARGET_LD := $(TARGET_CC_PREFIX)ld -m elf_i386
それから
sudo make clean
sudo make depend
sudo make
あります
猫geekos / fd_boot.bin geekos /のsetup.bin geekos
/ kernel.bin> fd.imgは正常にコンパイルされなければなら
入力端子にls -a
チェックが
fd.img発見し.bochsrc
当社修正するには、この時間より前に作成したプロファイルbochsrcはフロッピーがfd.imgで
再入力Bochsの実行は
まだエラーになります
デフォルト.bochsrcので、と.bochsrcここでは基本的に無価値、かなり古いではありません。
私たちは、端末を再入力
bochs -f /home/shane/bochs-2.6.9/bochsrc
それはBochsのプラスの後ろにある-f 刚刚创建和修改的配置文件bochsrc的绝对路径
デバッグ仮想マシンを起動するための入力6
あなたは、黒い画面があることがわかります、入力端子Cにこの時間戻って、Enter
次のインターフェイスに表示されます:
実行成功を!!!
[あった場合に再度、
Init_IDTでアサーションを失敗しました:g_handlerSizeNoErr == g_handlerSizeErrは
NASMバージョンでは、新たな問題が唯一の再インストール2.08.02再びより多くの仕事を始めることができすぎているため]
彼女が成功したチャートの最終的な結果のみを残して、少し写真で、このブログので、できるだけ早く問題を解決するために、このタスクの時点で忙しかったが、あなたは上記の手順に従えば、それは問題になりませんので。
次のブログへのパーツ参照
https://111qqz.com/2016/06/geekok-project0/(このブログ便利!)
Https://blog.csdn.net/ByChen623/article/details/53619084# commentBox