Bochs 3.0 configure 脚本的核心编译参数详解

Bochs 3.0编译参数详解

以下是 Bochs 3.0 configure 脚本的核心编译参数详解,按功能分类说明其用途、默认值及对 Bochs 行为的影响(结合你提供的参数列表):

一、基础功能与构建选项

参数用途说明默认值
--disable-option-checking忽略未识别的 --enable/--with 选项(避免因拼写错误报错)否(启用)
--disable-FEATURE禁用某个功能(等价于 --enable-FEATURE=no-
--enable-FEATURE[=ARG]启用某个功能(可选参数 ARG,如 --enable-plugins=yes-
--enable-static-link静态链接所有库(减少依赖,但增大二进制体积)否(禁用)
--enable-static[=PKGS]构建静态库(而非共享库),PKGS 指定哪些组件静态编译否(禁用)
--enable-shared[=PKGS]构建共享库(默认),PKGS 指定哪些组件共享编译是(启用)
--enable-fast-install[=PKGS]优化安装速度(减少安装时的文件复制)否(禁用)
--enable-ltdl-install安装 libltdl(动态加载库,用于插件系统)否(禁用)

二、核心模拟功能

参数用途说明默认值
--enable-idle-hack启用 Roland Mainz 的“空闲hack”(优化 CPU 空闲状态模拟,提升性能)否(禁用)
--enable-plugins启用插件系统(支持动态加载设备驱动,如网络、存储插件)否(禁用)
--enable-a20-pin编译 A20 地址线支持(x86 系统的关键内存保护功能)是(启用)
--enable-x86-64支持 x86-64 指令集模拟(默认仅支持 32 位 x86)否(禁用)
--enable-smp支持 SMP(对称多处理)配置(模拟多核 CPU)否(禁用)
--enable-cpu-level选择模拟的 CPU 级别(3-6,越高支持更多指令)6(最高)
--enable-long-phy-address支持物理地址扩展(PAE,用于模拟大内存系统)否(禁用)
--enable-large-ramfile支持大 RAM 文件(>2GB 的虚拟内存镜像)是(启用)

三、性能优化

参数用途说明默认值
--enable-repeat-speedups启用重复指令加速(优化循环指令的执行效率)否(禁用)
--enable-fast-function-calls启用快速函数调用(减少函数调用的开销)否(禁用)
--enable-handlers-chaining启用事件处理链(优化中断/异常处理的性能)否(禁用)
--enable-trace-linking启用跟踪链接优化(加速符号解析和调试信息加载)否(禁用)
--enable-all-optimizations启用所有性能优化(可能牺牲部分兼容性)否(禁用)

四、调试与日志

参数用途说明默认值
--enable-debugger编译 Bochs 内部调试器(提供更底层的调试功能)否(禁用)
--enable-debugger-gui编译内部调试器的 GUI 界面(需配合图形界面使用)否(禁用)
--enable-gdb-stub启用 GDB 存根(支持通过 GDB 远程调试 Bochs 虚拟机)否(禁用)
--enable-iodebug启用 I/O 接口的调试器支持(调试设备驱动)是(启用,若调试器开启)
--enable-logging启用日志记录(生成 bochs.log 记录运行状态)是(启用)
--enable-stats启用统计信息收集(记录 CPU/内存/IO 使用率)是(启用)
--enable-assert-checks启用 BX_ASSERT 断言检查(调试时验证内部状态,需调试器开启)是(启用,若调试器开启)

五、CPU 与指令集

参数用途说明默认值
--enable-fpu启用 FPU(浮点单元)模拟(支持浮点运算指令)是(启用)
--enable-vmx启用 VMX(Intel 虚拟化扩展)模拟(支持硬件虚拟化)否(禁用,需指定 --enable-vmx=1/2
--enable-svm启用 SVM(AMD 安全虚拟机)模拟(支持 AMD 虚拟化)否(禁用)
--enable-avx支持 AVX 指令集模拟(高级矢量扩展)否(禁用)
--enable-evex支持 EVEX 前缀和 AVX-512 扩展(新一代矢量指令)否(禁用)
--enable-amx支持 AMX(矩阵扩展)指令模拟否(禁用)

六、设备与外设支持

参数用途说明默认值
--enable-pci启用 i440FX PCI 主桥支持(现代 PC 的核心总线)是(启用)
--enable-pcidev启用 PCI 主机设备映射(将主机设备暴露给虚拟机)否(禁用,Linux 下需额外配置)
--enable-usb启用 UHCI USB 控制器支持(基础 USB 1.1)否(禁用)
--enable-usb-ohci启用 OHCI USB 控制器支持(兼容更多设备)否(禁用)
--enable-usb-xhci启用 XHCI USB 3.0 控制器支持否(禁用)
--enable-ne2000启用 NE2000 网络适配器模拟(经典以太网设备)否(禁用)
--enable-e1000启用 Intel e1000 网络适配器模拟(现代千兆网卡)否(禁用)
--enable-sb16启用 Sound Blaster 16 声卡模拟否(禁用)
--enable-es1370启用 ES1370 声卡模拟否(禁用)
--enable-gameport启用标准 PC 游戏端口模拟(连接游戏手柄/操纵杆)是(启用,若依赖插件)
--enable-cdrom启用低级 CD-ROM 支持(读取 CD 镜像)是(启用)

七、图形与用户界面

参数用途说明默认值
--enable-x启用 X11 图形界面(旧版参数,Bochs 3.x 已逐步弃用)否(禁用)
--enable-sdl启用 SDL 图形界面(跨平台图形支持)否(禁用)
--enable-gtk启用 GTK 图形界面(Linux 桌面环境友好)否(禁用)
--enable-null-plugin启用 null 插件(禁用图形输出,纯命令行模式)否(禁用,需手动启用)

编译建议

若需纯命令行调试(GDB)、禁用图形界面,编译时可考虑进行如下配置:

sudo ./configure --with-wx --enable-static --enable-shared --enable-fast-install --enable-ltdl-install --enable-idle-hack --enable-plugins --enable-a20-pin --enable-x86-64 --enable-cpu-level=6 --enable-long-phy-address --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-gdb-stub --enable-iodebug --enable-all-optimizations --enable-readline --enable-instrumentation --enable-logging --enable-stats --enable-assert-checks --enable-fpu --enable-vmx --enable-svm --enable-3dnow --enable-alignment-check --enable-monitor-mwait --enable-perfmon --enable-memtype --enable-avx --enable-evex --enable-x86-debugger --enable-pci --enable-pcidev --enable-usb --enable-usb-ohci --enable-usb-xhci --enable-ne2000 --enable-pnic --enable-e1000 --enable-raw-serial --enable-clgd54xx --enable-voodoo --enable-cdrom --enable-sb16 --enable-es1370 --enable-gameport --enable-busmouse --enable-docbook --enable-xpm --enable-static-link --enable-configurable-msrs --enable-amx --enable-x86-debugger --enable-geforce --enable-cdaudio --enable-memtype --disable-smp --with-all-libs

每次重新编译安装时,建议在 执行完 configure 操作后,执行 make clean 和 sudo rm -r -f /usr/local/share/bochs/keymaps 操作,以免上次的编译安装结果影响到本次的编译安装效果。

sudo rm -r -f /usr/local/share/bochs/keymaps

sudo make clean

sudo make 

sudo make install

在进行 make 编译操作时,可能会出现报错情况,例如 缺少一些扩展名为 .cc 的文件,这些缺失的文件,通常可以使用 同名 的 .cpp 文件 复制黏贴 获得,例如:

cp ./misc/bximage.cpp ./misc/bximage.cc

cp ./misc/bxhub.cpp ./misc/bxhub.cc

cp ./iodev/hdimage/hdimage.cpp ./iodev/hdimage/hdimage.cc

cp ./iodev/hdimage/vbox.cpp ./iodev/hdimage/vbox.cc

cp ./iodev/hdimage/vmware4.cpp ./iodev/hdimage/vmware4.cc

cp ./iodev/hdimage/vmware3.cpp ./iodev/hdimage/vmware3.cc

cp ./iodev/hdimage/vpc.cpp ./iodev/hdimage/vpc.cc

cp ./iodev/network/netutil.cpp ./iodev/network/netutil.cc

注意,在每次安装报错后,一般需要重新执行 make clean 和 rm -r -f /usr/local/share/bochs/keymaps 操作,之后再重新进行 make 和 make install 。

sudo make && sudo make install 也可以达到 make 和 make install 两条命令的效果,分开执行,是笔者的个人习惯。

bochs 3.0 dev 版本 的 源码文件,一般可考虑通过下面的 github项目链接 访问 :

bochs-emu/Bochs: Bochs - Cross Platform x86 Emulator Project

总结

Bochs 3.0 的 configure 参数高度模块化,通过组合这些参数可定制 Bochs 的功能(如图形支持、调试能力、设备模拟)。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值