环境的配置

版本:

Ubuntu 20.04
bochs 2-6-2

安装步骤:

bochs:

configure:

1
2
3
4
5
6
7
8
9
10
./configure \
--prefix=//home/walkerrevll/操作系统真相还原/bochs/bochs \ //指定bochs 的安装目录。
--enable-debugger\ // 指定bochs 自己的调试器。
--enable-disasm \ // 指定bochs 支持反汇编。
--enable-iodebug \ // 指定启用io接口调试器。
--enable-x86-debugger \ // 支持x86调试器。
--with-x \ // 使用x windows。
--with-x11 \ // 使用x11 图形用户接口。
LIBS='-lX11'
LDFLAGS='-pthread'

生成MakeFile文件

make:

make 之后发现报错:

1
x.cc:37:10: fatal error: X11/Xlib.h: 没有那个文件或目录
1
sudo apt-cache search x11-dev
1
2
3
4
5
6
7
libx11-dev - X11 client-side library (development headers)
libxkbcommon-x11-dev - library to create keymaps with the XKB X11 protocol - development files
libghc-gi-gdkx11-dev - GDKX11 bindings
libghc-x11-dev - Haskell X11 binding for GHC
libnx-x11-dev - nxagent's libNX_X11 client-part library (development headers)
librust-cairo-sys-rs+x11-dev - FFI bindings to libcairo - feature "x11"
librust-x11-dev - X11 library bindings for Rust - Rust source code

发现需要下载如上所示的组件,分别下载

1
2
3
4
5
6
7
sudo apt-get install librust-x11-dev
sudo apt-get install librust-cairo-sys-rs+x11-dev
sudo apt-get install libnx-x11-dev
sudo apt-get install libghc-x11-dev
sudo apt-get install libghc-gi-gdkx11-dev
sudo apt-get install libxkbcommon-x11-dev
sudo apt-get install libx11-dev

参考链接:https://blog.csdn.net/qq_37232329/article/details/109406809

make install:

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
34
35
36
37
38
# 第一步,首先设置Bochs 在运行过程中能够使用的内存,本例为32MB。
# 关键字为:megs
megs:32

# 第二步,设置对应真实机器的BIOS 和VGA BIOS。
# 对应两个关键字为:romimage 和 vgaromimage

romimage:file=/home/walkerrevll/操作系统真相还原/bochs/bochs/share/bochs/BIOS-bochs-latest
vgaromimage:file=/home/walkerrevll/操作系统真相还原/bochs/bochs/share/bochs/VGABIOS-lgpl-latest


# 第三步,设置Bochs 所使用的磁盘,软盘的关键字为floppy。
# 若只有一个软盘,则使用floppya 即可,若有多个,则为floppya,floppyb…
#floppya:1_44=a.img, status=inserted

# 第四步,选择启动盘符。
#boot: floppy #默认从软盘启动,将其注释
boot:disk #改为从硬盘启动。我们的任何代码都将直接写在硬盘上,所以不会再有读写软盘的操作。


# 第五步,设置日志文件的输出。

log:bochs.out

# 第六步,开启或关闭某些功能。


# 下面是关闭鼠标,并打开键盘。

mouse: enabled=0

keyboard: type=mf, serial_delay=250

keyboard: keymap=/home/walkerrevll/操作系统真相还原/bochs/bochs/share/bochs/keymaps/x11-pc-us.map

# 硬盘设置
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="hd60M.img", mode=flat, cylinders=121, heads=16, spt=63