去bochs网站下载bochs压缩包
1.解压源码包 tar zxvf bochs-2.7.tar.gz
图1 解压.gz文件
2.安装依赖
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install libgtk2.0-dev
3.配置
./configure --enable-debugger --enable-disasm --enable-iodebugger --enable-x86debugger --with-x --with-x11
图2 配置bochs
4.编译
输入sudo make
确保sudo make之后的结果如图3所示再进行下一次输入(如果出现报错,可以参考bochs(2.6.11)配置安装 - OasisYang - 博客园 (cnblogs.com))
图 3 make结束
输入sudo make install
结束之后检查是否安装成功,进入安装目录查看是否如图4所示存在两个文件,并且跳到上级目录之后会还存在一个share文件夹,进入查看是否和图5一致,一致之后进行下一步配置
图4 检查是否安装成功1
图5检查是否安装成功2
进入到bin目录输入sudo gedit bochsrc.disk创建bochsrc.disk进行相关配置,在bochsrc.disk中写入如下内容
- megs: 32
- romimage:file=/usr/local/share/bochs/BIOS-bochs-latest
- vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest
- boot: disk
- log: bochsout.txt
- mouse: enabled=0
- keyboard:keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map
- #ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
- ata0-master: type=disk, path="/usr/local/bin/hd60M.img", mode=flat, cylinders=121, heads=16, spt=63
保存并退出
之后在输入bochs出现如图6所示的界面,则显示安装成功
图6 bochs安装成功
创建启动盘
输入sudo bximage操作如图7进行
图7 创建启动盘
创建测试文件,输入sudo gedit test.asm
在test.asm中输入如下内容,保存并退出
- org 07C00h ; 告诉编译器程序加载到07C00处
- 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
输入:sudo nasm test.asm -o test.bin
将生成的二进制文件test.bin写入到创建的硬盘中,输入sudo dd if=test.bin of=/usr/local/bin/hd60M.img bs=512 count=1 conv=notrunc
回到主目录,创建运行脚本文件run.sh,输入sudo gedit run.sh 在文件中输入/usr/local/bin/bochs -f /usr/local/bin/bochsrc.disk保存并退出
sudo chmod +x run.sh
执行sudo ./run.sh结果如图8所示配置成功
图 8 bochs配置成功