一、安装
在virtualbox上安装ubuntu16.04,然后再安装bochs。安装步骤见《ubuntu16.04.3LTS安装bochs2.6.9》。
同时安装nasm,使用指令
sudo apt-get install nasm
二、使用和配置
1.编写并编译文件
新建一个文件夹,建立boot.asm文件填入下列代码
org 07c00h ; 告诉编译器程序加载到7c00处
mov ax, cs
mov ds, ax
mov es, ax
call DispStr ; 调用显示字符串例程
jmp $ ; 无限循环
DispStr:
mov ax, BootMessage
mov bp, ax ; ES:BP = 串地址
mov cx, 16 ; CX = 串长度
mov ax, 01301h ; AH = 13, AL = 01h
mov bx, 000ch ; 页号为0(BH = 0) 黑底红字(BL = 0Ch,高亮)
mov dl, 0
int 10h ; 10h 号中断
ret
BootMessage: db "Hello, OS world!"
times 510-($-$$) db 0 ; 填充剩下的空间,使生成的二进制代码恰好为512字节
dw 0xaa55 ; 结束标志
使用nasm编译
nasm boot.asm -o boot.bin
2.用bximage产生软盘映像
bximage是bochs自带的软件可以产生软盘或硬盘映像,使用指令
bximage
进入bximage

输入数字1,并按回车
1
选择时软盘还是硬盘

输入fd创建软盘,然后一路回车使用默认
fd

产生了一个1.44m的软盘映像。名字为a.img
3.将boot.bin写入软盘
使用指令
dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc
4.编写bochs配置文件
当前目录下新建一个bochsrc文件,或者直接用gedit建立
gedit bochsrc
输入下列内容
#注意'#'后面为注内容
megs:128
#模拟器的内存
romimage:file=/usr/local/share/bochs/BIOS-bochs-latest
#这个是BIOS-bochs-latest的路径,自己慢慢找,不一定和我的一样
vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest
#这个是VGABIOS-lgpl-latest的路径,自己慢慢找
floppya:1_44=bootroot-0.11,status=inserted
#这个是启动软盘,就是我们下载的那个,就在当前目录下,如果不在当前目录,需要指明路径
boot:floppy
#表示从软盘启动
log:bochsout.txt
#日志输出文件
#选项还有很多,想了解更多可以参照原始的.bochsrc(在bochs-2.4.5/目录下)
romimage和vgaromimage需要修改,要找到自己系统下对应的文件。方法在根目录使用文件管理器右上方的搜索按钮

找打后添加到对应的位置。
5.启动bochs调试
输入下列指令
bochs -f bochsrc
进入bochs调试,-f参数强制使用bochsrc文件作为配置,这里可以对配置文件名其他名字。
进入调试后,显示如下界面

这里是选择功能,默认为6直接仿真,我们按回车使用默认,或者输入6在按回车选择6。进入如下画面,此时默认为调试模式,所以停在初始位置,没有效果,我们可以向gdb那样进行调试。
这里直接在命令行里输入c(继续执行知道遇到断点)然后按回车,便会出现以下界面。

到这里就完成了。
6.退出
到第5步就已经完成了,但是我们没有设置断点,此时会一直跑下去,我们想要继续调试怎么办,此时使用ctrl+c中断运行,便可以继续调试

退出bochs输入q并按回车。
本文档详细介绍了在Ubuntu 16.04.3 LTS中安装和使用Bochs模拟器的步骤,包括安装nasm,编写并编译ASM文件,创建软盘映像,配置Bochs启动文件,以及如何启动和退出Bochs。通过Bochs,用户可以在Ubuntu环境中模拟运行其他操作系统。

809

被折叠的 条评论
为什么被折叠?



