一、前期准备
一开始要安装一些库,以及依赖包
sudo yum install gtk2 gtk2-devel
sudo yum install libXt libXt-devel
sudo yum install libXpm libXpm-devel
wget https://www.nasm.us/pub/nasm/releasebuilds/2.14rc16/nasm-2.14rc16.tar.gz
tar -zxvf nasm-2.14rc16.tar.gz
./configure
make
sudo make install
nasm -v
其中,在安装nasm的时候,make install的时候需要使用sudo,否则会报权限不够的错误。
接下来安装bochs。
wget https://nchc.dl.sourceforge.net/project/bochs/bochs/2.6.9/bochs-2.6.9.tar.gz
tar -zxvf bochs-2.6.9.tar.gz
cd bochs-2.6.9
./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-v
# make
cp misc/bximage.cpp misc/bximage.cc
cp iodev/hdimage/hdimage.cpp iodev/hdimage/hdimage.cc
cp iodev/hdimage/vmware3.cpp iodev/hdimage/vmware3.cc
cp iodev/hdimage/vmware4.cpp iodev/hdimage/vmware4.cc
cp iodev/hdimage/vpc-img.cpp iodev/hdimage/vpc-img.cc
cp iodev/hdimage/vbox.cpp iodev/hdimage/vbox.cc
make
make install
在这其中,几个复制操作是为了解决如下错误的
在安装过程中,若在安装某个包的时候,显示当前有些包无法下载,需要其他依赖包的时候,使用如下代码解决问题
sudo aptitude install xxx
我就是在安装其中一个xorg-dev包的时候查到了这种方法,其中遇到Keep the following packages at their current version:
选n 就解决了无法安装xorg-dev的问题,之后一直y。 然后就解决了X windows的问题,也解决了无法configure的问题,这个其实是一个图形界面的包。
复制了了bochs-2.6.9中隐藏的.bashsrc并命名为bashsrc。
并对其进行编辑
vim bashsrc
配置文件参考这个链接
https://blog.csdn.net/qq_34805255/article/details/86371713?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
但是这个链接中没有提到,需要更改romimage和vgaromimage,更改规则如下,需要自己先查看了在usr/local下是否有这样的安装目录。再进行修改,不修改的话无法利用配置文件进行启动。
# romimage: file=$BXSHARE/BIOS-bochs-latest, options=fastboot改为如下,其中$BXSHARE改为你的解压目录下+bios
romimage: file=/usr/local/bochs-2.6.9/bios/BIOS-bochs-latest, options=fastboot
# 同上
vgaromimage: file=/usr/local/bochs-2.6.9/bios/VGABIOS-lgpl-latest
接下来我们需要制作一个软盘,参考这篇博客
https://www.linuxidc.com/Linux/2016-10/135905.htm
制作好软盘后,我就退出了boch-2.6.9,在当前目录下进行ls。发现了一个bochs的文件夹。于是我就在这里进行了命令行启动bichs的操作(错误示范,等会详细说)。
启动以后发现bochs报错,说无法连接到X window。我寻思我不是安装了xorg-dev了嘛?后来查阅资料才发现,原来虚拟机需要运行在图形界面上,单纯子系统的命令行是无法正常使用的。于是下载了xming作为用户图形界面。
运行之后,在子系统命令行输入
DISPLAY=:0 startxfce4
启动xming。
这时候终于不报无法连接到xwindows的错误了,但是这个时候,当我们使用
bochs -f ./bochsrc
的时候,提示错误找不到配置文件,读取配置文件失败,换成相对路径也不行。我想了很久,最后终于发现需要在bash-2.6.9目录下执行这个命令才可以正常读取配置文件,至此,boch虚拟机安装全部结束。耗时一天左右,才安装好,有些坑需要自己慢慢找解决方法。