下载:https://bochs.sourceforge.io/
建议下载2.6.11,下文一开始安装的2.7,但运行时有无法解决的错误。但是大致安装过程一致。
提前安装依赖
接下来进行配置,以防万一全部配置上
经评论区提醒,删去<code>--enable-cpp</code>可以防止后续由于文件后缀出现的诸多问题。
进入root用户,之后的操作都在root下进行。
开始编译
开始处理错误
错误1 <code>No rule to make target 'parser.cc' , needed by 'parser.o' Stop.</code>
进入<code>bx_debug</code>文件夹下:
可以看到是后缀名的缘故,因此
错误2 <code>config.h osdep.h cpu/decoder/decoder.h</code>
然而这个文件确实存在于主目录下,因此
类似的
都需要更改一下头文件目录即可。
错误3 <code>error: 'XRRQueryExtension' was not declared in this scope; did you mean 'XQueryExtension'?</code>
更改<code>gui/x.cpp</code>,在首行添加<code>#include <X11/extensions/Xrandr.h></code>
错误4 <code>No rule to make target 'misc/bximage.cc', needed by 'misc/bximage.o'</code>
错误5 <code>error: invalid use of ‘this’ in non-member function 383 | # define BX_CPU_THIS_PTR this-></code>
修改<code>bx_debug/dbg_main.cc</code>
之后继续<code>make</code>
进行安装<code>make install</code>
运行<code>bochs</code>
因此删去默认的<code>.bochsrc</code>中的<code>955</code>行。
再次运行
安装成功!
首先创建一个软盘
然后选择创建软盘,其余的默认即可
编写一段boot代码
下载<code>nasm</code>
编译写入
写一个<code>bochs</code>配置文件,命名为<code>sample_bochsrc</code>
启动<code>bochs</code>
选择<code>6. Begin simulation</code>
接着按<code>c</code>运行
此时<code>bochs</code>界面便会出现我们想要的