环境: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安装已经结束。

实验过程

制作引导扇区,把boot.asm编译了,得到boot.bin;
制作软盘,并将引导扇区写入
启动bochs,得到结果

1.编译

首先你得先装好NASM编译器,直接用 sudo apt-get install nasm

然后在当前工作目录下打开终端输入下列命令:

nasm -o boot.bin boot.asm

2. 做一个软盘

前面编译以后的 bochs2.6.9 文件夹下会有一个 bximage 可执行文件,在终端运行:

bximage

选择1制作软盘,然后选择,fd,然后剩下的直接回车就好了,就会在bochsrc所在文件夹下,即现在的工作文件夹下生成一个a.img文件,这就是我们的软盘了。

再将引导扇区写入软盘:

dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc

3. 启动Bochs

在启动Bochs之前,需要修改配置文件。

在bochs-2.6.9文件夹下通过 ls -a 能看到原始的 .bochsrc 来参考(非必需

要能在 Bochs 中运行一个操作系统,至少需要以下一些资源或信息:

Bochs执行文件
BIOS映像文件(通常称为BIOS-bochs-latest)
VGA BIOS映像文件(例如VGABIOS-lgpl-latest)

至少一个引导启动磁盘映像文件(软盘,硬盘或CDROM的映像文件)

Ubuntu 16.04LTS 安装和配置Bochs-风君雪科技博客

###############################################################
# Configuration file for Bochs
###############################################################

# how much memory the emulated machine will have
megs: 32

# filename of ROM images
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest

# what disk images will be used
floppya: 1_44=a.img, status=inserted

# choose the boot disk.
boot: floppy

# where do we send log messages?
# log: bochsout.txt

# disable the mouse
mouse: enabled=1

# enable key mapping, using US layout as default.
keyboard:keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map

(mouse: enabled=1 能打卡Bochs界面的鼠标功能

在终端输入命令:

bochs -f bochsrc

(假设 bochsrc 在当前目录下

只输入 bochs也行,因为,如果你输入一个不带任何参数的bochs并执行,那么 Bochs 将在当前目录下按顺序找以下文件作为配置文件:

 .bochsrc
 bochsrc
 bochsrc.txt
 bochsrc.bxrc(仅对Windows 有效)

按道理,这时应出现 Hello, OS World!

Ubuntu 16.04LTS 安装和配置Bochs-风君雪科技博客

如果只出现黑框,没有任何文字,

因为此时是Debug模式,你需要在终端输入c,回车,就会出现上述结果。

参考链接:

1. Ubuntu安装bochs

2. CSDN Ubuntu环境下安装Bochs

3. 简书 Ubuntu 14.04LTS安装和配置Bochs