Bochs安装
Bochs安装
谨以此篇博客记录长达一个星期之久的bochs安装之旅
实测Ubuntu18.04及Ubuntu20.04均可通过自带软件仓库顺利安装并使用,安装指令,远离折腾烦恼
sudo apt-get install bochs bochs-x |
问题
选用系统:debian11
debian11自带软件仓库按理来说也是可以通过以上命令进行安装的,要是如此简单恐怕一分钟就可以完结收工了,可偏偏事与愿违。
助教进行实验讲解时就说了,Ubuntu22.04会出现问题,如这个链接所示,表明了其Ubuntu22.04安装软件仓库中自带的Bochs2.7所遭遇的问题,无法正常启动。
先前也没当回事,毕竟debian以稳定著称,想必包管理器中所提供的应该是较为稳定可以运行的版本。可等我敲完命令,竟也遭遇了相同的问题。Bochs无论输入多少次c,始终没有输出期许的结果,可以看到以下报错
真奇怪,明明Bochs的版本是2.6.11,看来不只是2.7版本存在问题,2.6.11同样存在问题
试了很多次,看来依靠本来的包管理器是不行了,只能尝试自己下载编译一份了。
操作
官网下载2.7版本
https://sourceforge.net/projects/bochs/files/bochs/2.7/bochs-2.7.tar.gz/download
进入下载的目标目录,比如我这里就是“下载”目录,打开终端执行解压缩
tar -zxvf bochs-2.7.tar.gz |
获得解压后的文件夹bochs-2.7
xxx@debian:~/下载$ ls |
进入解压后文件夹
cd bochs-2.7 |
执行
./configure --prefix=/home/xxx/bochs --enable-debugger --enable-iodebug --enable-iodebug --enable-x86-debugger --with-x --with-x11 |
原本看的教程是
./configure --prefix=/home/xxx/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-iodebug --enable-x86-debugger --with-x --with-x11 |
但会报一个小的Warning
WARNING: unrecognized options: --enable-disasm |
使用以下命令查看可选项
./configure -help |
会发现2.7版本为
--enable-show-ips show IPS in Bochs status bar / log file (yes) |
2.6.11对应位置为
--enable-show-ips show IPS in Bochs status bar / log file (yes) |
正好缺少–enable-disasm选项,也不知道什么情况,可能已经不是可选项了?还是写文档疏忽大意了?
确保你的操作系统已经安装有gcc,g++,查看方式
gcc -v |
没有则使用如下命令进行安装
sudo apt update |
执行
make |
没有报错继续执行
make install |
当然你可能碰到许多奇奇怪怪的报错,我也一样,这里是我所参考的教程
https://zhuanlan.zhihu.com/p/35437842 很多可能的报错也都指出了。
要说这篇文章没被解决的问题,倒是有一个
如上图所示,不过也找到了解决方法
额,想复现错误好像不行了,原本的解决方法是要更改某.cc文件的头文件的,好奇怪。而且重新看了参考的教程,其实该问题很有可能是上面某问题的一种表现形式。
至此安装就算完成了,可以查看一下文件存放的位置,如果都是按照我的步骤来的话,应该会看到用户目录下多出一个bochs目录
xxx@debian:~/桌面$ cd |
验证安装成功
随便打开一个终端,敲入
/home/xxx/bochs/bin/bochs |
出现
======================================================================== |
至此安装成功
改进
每次都得敲一长串命令,显然费时费力,将其设置别名也可直接添加到环境变量中
vim ~/.bashrc |
添加
alias bochs='/home/xxx/bochs/bin/bochs' |
立即生效
source ~/.bashrc |
测试
随便在某一位置打开终端,输入
bochs |
出现
======================================================================== |
配置完成
实操
创建软盘
xxx@debian:~/桌面/OS/lab1/t2$ bximage |
创建boot.asm
touch boot.asm |
该文件中写入以下内容
org 07c00h |
终端执行
nasm boot.asm -o boot.bin |
写入软盘
xxx@debian:~/桌面/OS/lab1/t2$ dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc |
创建bochsrc
touch bochsrc |
该文件写入
megs: 32 |
执行
xxx@debian:~/桌面/OS/lab1/t2$ bochs -f bochsrc |
Please choose one: [6]
回车
<bochs:1> c |
成功
至此全部结束,我们已经成功在debian11上安装启动了Bochs