近期,准备跟着《一个64位操作系统的设计与实现》干点正事儿。第一步就是安装bochs。书里写得太简略,网上太杂,我自己记录一下自己安装的流程,希望对看到的人有帮助。
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install libgtk2.0-dev
//linux下需要先准备需要的包
wget https://sourceforge.net/projects/bochs/files/bochs/2.6.2/bochs-2.6.2.tar.gz
//下载书中对应版本的bochs
tar -zxvf bochs-2.6.2.tar.gz
//解压到当前文件夹
cd bochs-2.6.2
//进入解压后的文件夹
./configure --with-x11 --with-wx --enable-debugger --enable-disasm --enable-all-optimizations --enable-readline --enable-long-phy-address --enable-ltdl-install --enable-idle-hack --enable-plugins --enable-a20-pin --enable-x86-64 --enable-smp --enable-cpu-level=6 --enable-large-ramfile --enable-repeat-speedups --enable-fast-function-calls --enable-handlers-chaining --enable-trace-linking --enable-configurable-msrs --enable-show-ips --enable-cpp --enable-debugger-gui --enable-iodebug --enable-logging --enable-assert-checks --enable-fpu --enable-vmx=2 --enable-svm --enable-3dnow --enable-alignment-check --enable-monitor-mwait --enable-avx --enable-evex --enable-x86-debugger --enable-pci --enable-usb --enable-voodoo
//按照书给的配置方法
make
//时间比较长
make install
很多版本都有问题,2.6.2至少到目前为止,大概也许是没有啥bug
之后,在bochs/bin/下,新建bochsrc
//文件的位置很重要
#how much memory the emulated machine will have
megs:32
#filename of ROM images
romimage:file=BIOS-bochs-latest,address=Oxf0000
vgaromimage:file=VGABIOS-lgpl-latest
#what disk images will be used
floppya:1_44=a.img,status=inserted
#Choose the boot disk
boot:a
#where do we send log messages?
log:bochsout.txt
//复制到bochsrc中
//尽量不要有中文注释
//否则会出现如下问题
以上操作完成后,会出现无法找到BIOS-bochs-latest和VGABIOS-lgpl-latest
它们在bochs/share/bochs目录下
最后把他们都移动到/bochs/bin目录下
//在bin目录下
./bochs
好歹不报错了,今天已经满足了。。。