源码安装bochs2.6.11
要在 Ubuntu18.06
上进行 Bochs 2.6.11
的源码安装,您可以按照以下步骤进行操作:
下载Bochs源代码:首先,您需要下载Bochs 2.6.11的源代码包。您可以在Bochs的官方网站(http://bochs.sourceforge.net/)或GitHub存储库(https://github.com/bochs/bochs)上找到源代码包。将源代码包下载到您的Ubuntu系统中。
安装必要的依赖项:在编译和安装Bochs之前,您需要安装一些必要的依赖项。打开终端并执行以下命令安装所需的软件包:
1 2
| sudo apt-get update sudo apt-get install build-essential libx11-dev xorg-dev libgtk2.0-dev libjpeg-dev libpng-dev libasound2-dev libssl-dev libsdl1.2-dev
|
解压源代码包:将下载的Bochs源代码包解压到一个合适的目录中。
进入源代码目录:在终端中,使用cd
命令进入解压后的Bochs源代码目录。
由于bochs
的仓库年久失修,所以建议按照这个建议修改两个文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| Description: Fix the build with SMP enabled Origin: https://sourceforge.net/p/bochs/code/13778/
Index: bochs/bx_debug/dbg_main.cc =================================================================== --- bochs/bx_debug/dbg_main.cc (revision 13777) +++ bochs/bx_debug/dbg_main.cc (working copy) @@ -1494,11 +1494,11 @@ { char cpu_param_name[16]; - Bit32u index = BX_ITLB_INDEX_OF(laddr); + Bit32u index = BX_CPU(dbg_cpu)->ITLB.get_index_of(laddr); sprintf(cpu_param_name, "ITLB.entry%d", index); bx_dbg_show_param_command(cpu_param_name, 0); - index = BX_DTLB_INDEX_OF(laddr, 0); + index = BX_CPU(dbg_cpu)->DTLB.get_index_of(laddr); sprintf(cpu_param_name, "DTLB.entry%d", index); bx_dbg_show_param_command(cpu_param_name, 0); }
Index: bochs/gui/gtk_enh_dbg_osdep.cc =================================================================== --- bochs/gui/gtk_enh_dbg_osdep.cc +++ bochs/gui/gtk_enh_dbg_osdep.cc @@ -819,7 +819,7 @@ void ShowDListCols (int totcols) while (++i < firsthide) gtk_tree_view_column_set_visible(AllCols[i], TRUE); while (i < 23) - gtk_tree_view_column_set_visible(AllCols[i], FALSE); + gtk_tree_view_column_set_visible(AllCols[i++], FALSE); }
|
- 配置和编译:
修改完之后如果需要gdb远程调试功能需要将解压出来的源码包一式两份,拷贝为两个文件夹的名字分别是bochs-2.6.11
(配置自带调试功能)和bochsgdb-2.6.11
(配置gdb远程调试功能)。
如果之前安装过bochs
需要卸载,apt remove
卸载apt
安装的包,源码卸载方式是进入源码安装文件夹sudo make uninstall
安装 bochs
1 2 3 4 5
| # --prefix=/usr/local/ 这里修改为你自己想要指定的安装路径 ./configure --prefix=/usr/local/ --with-x11 --with-wx --enable-debugger --enable-disasm --enable-all-optimizations --enable-readline --enable-long-phy-address --enable-ltdl-install --enable-idle-hack --enable-plugins --enable-a20-pin --enable-x86-64 --enable-smp --enable-cpu-level=6 --enable-large-ramfile --enable-repeat-speedups --enable-fast-function-calls --enable-handlers-chaining --enable-trace-linking --enable-configurable-msrs --enable-show-ips --enable-debugger-gui --enable-iodebug --enable-logging --enable-assert-checks --enable-fpu --enable-vmx=2 --enable-svm --enable-3dnow --enable-alignment-check --enable-monitor-mwait --enable-avx --enable-evex --enable-x86-debugger --enable-pci --enable-usb --enable-voodoo
make sudo make install
|
安装 bochs-gdb
1 2 3 4 5
| # --prefix=/home/whc/code/optFile/bochsgdb 这里修改为你自己想要指定的安装路径 ./configure --prefix=/home/whc/code/optFile/bochsgdb --with-x11 --with-wx --enable-disasm --enable-all-optimizations --enable-readline --enable-long-phy-address --enable-ltdl-install --enable-idle-hack --enable-plugins --enable-a20-pin --enable-x86-64 --enable-cpu-level=6 --enable-large-ramfile --enable-repeat-speedups --enable-fast-function-calls --enable-handlers-chaining --enable-trace-linking --enable-configurable-msrs --enable-show-ips --enable-debugger-gui --enable-iodebug --enable-logging --enable-assert-checks --enable-fpu --enable-vmx=2 --enable-svm --enable-3dnow --enable-alignment-check --enable-monitor-mwait --enable-avx --enable-evex --enable-x86-debugger --enable-pci --enable-usb --enable-voodoo -enable-gdb-stub
make sudo make install
|
然后我们还要做一件事:对这个新的bochs
重命名,让它和之前的bochs
区分。
我们只需要进入安装bochs-gdb
的目录,然后执行以下命令
1 2 3
| cd bin sudo mv bochs bochs-gdb sudo mv bximage bximage-gdb
|
然后修改 ~/.bashrc
或者 ~/.zshrc
(取决于你用什么shell)
加入下面两行
1 2
| export PATH=/usr/local/bochs/bin:$PATH export PATH=/home/whc/code/optFile/bin:$PATH
|
安装完成后,您可以尝试运行Bochs来验证安装是否成功。在新建终端中输入以下命令: