为防止出现不可预知的错误,强烈推荐下载跟本文一样版本的ubuntu和bochs!!!
已经给多台电脑帮忙安装,均顺利成功!!
安装
安装ubuntu20.4
Index of /ubuntu-releases/20.04/ | 清华大学开源软件镜像站
下载图中框起来的版本
查看版本:lsb_release -a
安装压缩包bochs-2.6.10.tar.gz
Bochs x86 PC emulator - Browse /bochs at SourceForge.net
本文用2.6.10版本的
安装各种包
随便进入一个cmd:(ctrl+c复制过去,在命令行中用ctrl+shift+v粘贴)
sudo apt-get install vim
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install libgtk2.0-dev
sudo apt-get install g++
解压缩+编译安装
打开目录,然后从win直接拖进来这个压缩包bochs-2.6.10.tar.gz
右键进入cmd终端
- 解压,进入解压后的文件:
tar -zxvf bochs-2.6.10.tar.gz
cd bochs-2.6.10
- 执行配置文件:(注意创建的bochs中的用户路径,我这里是/home/lhj)
/configure --prefix=/home/你的用户名/public/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11
- 编译测试: (这里听天由命吧,警告waring不用管,如果没出现错误error就是成功!)
make
- 编译无错误后:(很快)
make install
- 结果:
boch启动配置
- /home/你的用户名/Public/bochs/bin目录下进入cmd创建文件 : (可自定义名称,这里应老师要求,我加了名字前缀lhj)
touch lhjbochsrc.disk
- 利用vim编译器写入disk文件内容:
vim ./lhjbochsrc.disk
(注意vim操作命令,输入完以上命令后,按i,进入编辑状态,复制以下配置内容,记得改用户名lhj为自己的,然后按 esc,再按 :wq 表示保存并且退出)
注意:我这个版本的Public文件夹路径是Public,大写的字母’P’,请注意你的是大写还是小写的’P’,home同理
关于键盘配置,《操作系统真相还原》中写的是keyboard_mapping,而现在bochs官方要求写成keyboard形式。注意区别。
#######################################
#### Configuration file for Bochs ###
######################################
megs: 32
romimage: file=/home/你的用户名/Public/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/你的用户名/Public/bochs/share/bochs/VGABIOS-lgpl-latest
boot: disk
log: bochsout.txt
mouse: enabled=0
keyboard: keymap=/home/你的用户名/Public/bochs/share/bochs/keymaps/x11-pc-us.map
############### end ###############
(这一行不要复制)注意不能有中文,注释也不行,之后也不要添加任何中文注释
- 创建虚拟磁盘:(根据提示,进行创建)
./bximage
- 再在上述 lhjbochsrc.disk 文件中加入:(vim ./lhjbochsrc.disk)同样地,记得改用户名
ata0:enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
ata0-master: type=disk, path="/home/你的用户名/Public/bochs/bin/hd60M.img",mode=flat,cylinders=121,heads=16,spt=63
5.运行bochs
./bochs -f lhjbochsrc.disk
然后分别按6 和 c
结果:这个界面提示代表安装完成!!!
如果还会出现问题?
- 有时是权限问题!可以加个sudo试试
- 小心复制时,0和O区别、1和l的区别(坑了我好久)
- ./bochs -f lhjbochsrc.disk 后可能会出错(bochsrc文件内容的错误,看>>panic<<,根据提示修改)
撰写此文,跟安装bochs环境时的那几天烦心情和解😤😤😤~