bochs 中文文档 下载 App

从源码编译带调试器的 Bochs

为什么需要源码编译

官方二进制包是"够用"配置,但 Bochs 的很多高级功能需要在编译时通过 configure 选项启用——这是 Bochs 和其他模拟器最大的不同之一。编译时决定的特性一旦编译完就不能改,比如:

OS 开发者通常会在 Windows 上装预编译包快速上手,但在 Linux / macOS 上编译自己的版本以获得完整的调试能力。

编译三件套

Bochs 使用经典的 configure → make → make install 流程。

第一步:configure 选特性

典型的 OS 开发者编译命令:

./configure --enable-debugger --enable-disasm --enable-x86-64 --disable-plugins

常用选项速查(按用途分组):

调试相关(OS 开发必用):

选项说明
--enable-debugger内置调试器(默认关闭)
--enable-disasm内置反汇编器(默认关闭)
--enable-assert-checks额外断言检查(调试时有用)

前端相关:

选项说明
--with-wx使用 wxWidgets GUI(默认在 Windows/macOS 上开启)
--with-sdl使用 SDL 前端(Linux 推荐)
--with-x11使用 X11 前端
--with-svn纯终端模式(无图形界面)

指令集扩展:

选项说明
--enable-x86-64x86-64 支持
--enable-vmxIntel VMX 虚拟化扩展
--enable-3dnowAMD 3DNow!
--enable-avxAVX/AVX2
--enable-fmaFMA

其他:

选项说明
--disable-plugins禁用插件(推荐,减少复杂性)
--enable-readline调试器命令行用 GNU readline(支持方向键和历史)
--prefix=/your/path安装目录

configure 跑完会在当前目录生成 Makefile 和 config.h。

第二步:make 编译

make -j$(nproc)

Bochs 是 C++ 大工程,编译时间取决于 CPU 核数和性能,在一台普通笔记本上大约 5~15 分钟。编译产物是当前目录下的 bochs 可执行文件(或 bochs.exe)。

第三步:make install 安装(可选)

如果希望系统范围可用,执行:

sudo make install

这会把 bochs 二进制、bximage 工具、BIOS 镜像安装到 prefix 指定的目录(默认 /usr/local/)。

对于 OS 开发者,通常不执行 make install,直接在源码目录里用编译好的 bochs 就行。这样可以方便地改源码、重编译、快速验证。

编译常见坑

缺少 GUI 库

configure 报 wxWidgets / SDL / X11 找不到——安装对应的开发包。Linux 上:

readline 找不到

--enable-readline 需要 GNU readline 开发包:

Windows 上编译

Bochs 官方推荐在 Windows 上用 MinGW / MSYS2 编译。configure 和 make 流程和 Linux 类似,只是部分库的获取方式不同。如果只是想快速上手,直接用官方预编译包更省心。

验证编译结果

编译完运行:

./bochs

如果带了 --enable-debugger,会停在 bochs:1> 调试提示。输入 show feature 可以看到编译时启用了哪些特性:

bochs:1> show feature
feature: debugger, disasm, x86-64

确认调试器和反汇编器都在,编译就成功了。