在 ubuntu 下安装 bochs 2.7 的经历
这次经历对以后配环境挺有帮助的,打算记录下来
bochs 2.6 无法观看 GDT,要升级到 bochs 2.7,所以得想办法安装 bochs 2.7
学到的东西:
1. 不同的 Linux 版本,比如 ubuntu 和 ARCH,包的名字很可能是不同的,因此当使用 ubuntu apt 去下载 ARCH 的 pacman 的包名找不到时,建议google一下 ubuntu + pacman 包名,也许就能找到ubuntu apt 的对应包名。
2. sourceforge 是一个类似 github 的开源软件网站,可以使用 svn 下载和上传代码
经历:
1. 使用 apt 下载 bochs,发现版本是 2.6,放弃,使用 apt --purge remove 卸载掉这个包
2. 在sourceforge上找到了 bochs 源码,使用 svn 下载 bochs2.7 源码,网址在这里:https://sourceforge.net/p/bochs/code/HEAD/tree/tags/REL_2_7_FINAL/bochs/
注意,svn可能要配置代理,这里是配置代理的方式: https://stackoverflow.com/questions/1491180/how-to-configure-a-http-proxy-for-svn
注意:在使用 svn 克隆网址 https://sourceforge.net/p/bochs/code/HEAD/tree/tags/REL_2_7_FINAL/bochs/ 的资源时,有https和svn两个选项,类比于 git 和 https。如果https选项提示连接失败,可以试试 svn 选项
3. 进入 bochs-code/bochs 文件夹下,使用 .configure --help 观看选项,接着使用 ./configure --prefix=install_dir 进行配置bochs2.7
3.5. 运行 make intall 安装 bochs,如果没有安装在 /usr/local/bin, 记得设置软连接
4. 运行bochs2.7,发现错误
Message: Unknown x11 option 'gui_debug'
5. 根据这个 https://sourceforge.net/p/bochs/bugs/1320/, 观看 config.h ,查看相关宏是否被定义,结果发现 GUI 宏为0
6. 再次运行 .configure .... 发现日志里有个 warning,是说配置 --enable-debugger-gui 失败
7. 根据 https://blog.csdn.net/sharpbladepan/article/details/116426578 得知部分软件包缺失:sudo dnf install libXpm-devel libXrandr-devel sudo dnf install gtk2-devel gtk3-devel
8. 根据谷歌搜索:ubuntu对应软件包为 libgtk2.0-dev, libgtk-3-dev, libxpm-dev, libxrandr-dev 使用 apt 安装
9. 再次运行 .configure ... 成功配置
10. 运行 make install 安装
11. 运行 bochs 2.7, 成功看到 GDT
编译时的配置:https://bochs.sourceforge.io/doc/docbook/user/compiling.html#CONFIG-OPTS
使用时的配置:https://bochs.sourceforge.io/doc/docbook/user/bochsrc.html#BOCHSOPT-PLUGIN-CTRL