ubuntu16安装bochs2.9

本文详细介绍了在Ubuntu16.04环境下安装和配置Bochs2.6.9的过程,包括所需依赖包的安装、源代码解压、配置、编译及安装步骤,以及解决常见错误的方法。

https://www.cnblogs.com/lfri/p/11489223.html

Ubuntu 16.04LTS 安装和配置Bochs

环境:VMWare14+Ubuntu16.04

安装Bochs2.6.9

1.去官网下载

下载 bochs-2.6.9.tar.gz

2.安装一系列的包

因为Bochs 需要在 X11 环境下运行,因此你的 Linux 系统必须已经安装了X Window 系统才能使用Bochs。

因为 Bochs 是用C++写的,所以这里要安装GNU gcc/g++编译器。

 

 

sudo apt-get install build-essential

sudo apt-get install xorg-dev

sudo apt-get install bison

sudo apt-get install libgtk2.0-dev

sudo apt-get install g++ 

复制代码

3. 解压下载的源代码:

sudo tar zxvf bochs-2.6.9.tar.gz
cd bochs-2.6.9

4. 运行configure脚本,它会测试你的机器,C/C++编译器以及一些库,用来判断何种配置适合于你的机器。运行:

sudo ./configure --enable-debugger --enable-disasm

(这两个是用来开启调试和反汇编功能)

5. 第3步正确运行后,会产生一个Makefile文件,然后:

make clean
sudo make 

6. 安装:

sudo make install 

至此,bochs安装已经结束。

7.如果遇到这样的错误

参考链接:https://blog.youkuaiyun.com/zhengqijun_/article/details/81334399

需要安装这个包,只要这一个就行了

sudo apt-get install libc6-dev-i386

<think>嗯,用户这次的问题很明确,要在Ubuntu16.04上安装Bochs2.7。从ta选择Ubuntu16.04这个较老的系统版本来看,可能是在维护某个遗留项目,或者有特定的兼容性需求。毕竟Bochs2.7也是2015年的版本了。用户特意提到“参考站内引用”,但上下文里并没有相关引用,可能是误操作。不过核心需求很清晰:版本精确的安装指导。ta可能之前尝试过遇到问题,所以需要详细步骤。我注意到Ubuntu16.04的官方源里Bochs版本是2.6.x,因此必须通过源码编译。这涉及几个关键点:安装编译依赖、下载特定版本源码、解决可能的兼容性问题——特别是因为gcc版本更新可能导致旧代码编译失败。用户选择2.7而不是更新的版本,或许是需要模拟特定硬件环境?需要分三部分准备回答:首先是解决依赖库问题(尤其libgtk等图形支持库),然后是源码编译的详细步骤(要包含解决gcc高版本兼容性的补丁),最后验证安装。考虑到Ubuntu16.04的gcc是5.x,而2015年Bochs2.7可能是用更早的gcc编译的,必须包含那个关键的-pthread补丁。用户应该具备基本命令行操作能力,但可能不熟悉源码编译的细节。所以每个步骤都要明确,比如configure时的参数说明,避免ta反复试错。最后用简单的测试程序验证安装,既能确认成功,也能帮用户建立信心。</think> 在 Ubuntu 16.04 上安装 Bochs 2.7 需要源码编译(因官方仓库版本较旧)。以下是完整步骤: --- ### 📦 **安装依赖** ```bash sudo apt update sudo apt install build-essential libx11-dev libgtk2.0-dev libsdl1.2-dev libreadline-dev libncurses-dev libxrandr-dev ``` *注:这些依赖库支持图形界面、键盘输入等核心功能[^1]。* --- ### ⬇️ **下载并解压 Bochs 2.7** ```bash wget https://sourceforge.net/projects/bochs/files/bochs/2.7/bochs-2.7.tar.gz tar -xvzf bochs-2.7.tar.gz cd bochs-2.7 ``` --- ### ⚙️ **编译安装** 1. **配置编译选项**(启用基础功能): ```bash ./configure \ --enable-debugger \ --enable-disasm \ --enable-iodebug \ --enable-x86-debugger \ --with-x \ --with-x11 ``` *如果出现错误,检查依赖是否安装完整。* 2. **编译安装**: ```bash make sudo make install ``` --- ### ⚠️ **常见问题解决** #### **1. GCC 高版本兼容问题** 若编译报错(如 `-fpermissive` 错误),修改 `gdbstub.cc` 文件: ```bash sed -i &#39;s/char\*\ denables/const char\*\ denables/&#39; gdbstub/gdbstub.cc ``` *原因:GCC 6+ 对字符串常量类型检查更严格[^2]。* #### **2. 缺少 `-lpthread` 错误** 编辑 `Makefile` : ```bash # 在 LINK_OPTS 或 LIBS 行末尾添加 -lpthread LINK_OPTS = ... -lpthread ``` --- ### ✅ **验证安装** ```bash bochs -v # 应显示: Bochs x86 Emulator 2.7 ``` --- ### 常见应用场景 ```bash bochs -q -f bochsrc.txt # 使用配置文件启动 ``` *配置文件示例(`bochsrc.txt`):* ``` display_library: x romimage: file=BIOS-bochs-latest vgaromimage: file=VGABIOS-lgpl-latest ata0-master: type=disk, path="os.img", mode=flat ``` --- ### 📚 相关问题 1. Bochs 配置文件参数有哪些关键配置项? 2. 如何用 Bochs 调试自定义操作系统内核? 3. Bochs 与 QEMU 在仿真机制上的主要区别是什么? > 附:源码编译方式可确保版本精确控制,但需注意 Ubuntu 16.04 生命周期已结束,建议考虑升级系统以获得安全更新[^3]。 [^1]: Bochs 官方文档要求基础依赖库支持 [^2]: GCC 6+ 对 C++ 类型转换的规范变更 [^3]: Ubuntu 16.04 于 2021 年结束官方支持
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值