bochs2.6.11 install

源码安装bochs2.6.11

要在 Ubuntu18.06 上进行 Bochs 2.6.11 的源码安装,您可以按照以下步骤进行操作:

  1. 下载Bochs源代码:首先,您需要下载Bochs 2.6.11的源代码包。您可以在Bochs的官方网站(http://bochs.sourceforge.net/)或GitHub存储库(https://github.com/bochs/bochs)上找到源代码包。将源代码包下载到您的Ubuntu系统中。

  2. 安装必要的依赖项:在编译和安装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
  3. 解压源代码包:将下载的Bochs源代码包解压到一个合适的目录中。

  4. 进入源代码目录:在终端中,使用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);
}
  1. 配置和编译:

修改完之后如果需要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
  1. 安装完成后,您可以尝试运行Bochs来验证安装是否成功。在新建终端中输入以下命令:

    1
    bochs

bochs2.6.11 install
http://example.com/2023/07/28/bochs2-6-11-install/
作者
WHC
发布于
2023年7月28日
许可协议