为了学习《Orange's 一个操作系统的实现》,先要准备好环境。
准备工作,安装bochs依赖的软件:
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install bison
1. 下载安装包 bochs-2.4.5.tar.gz
2. 解压 tar vxzf bochs-2.4.5.tar.gz
3. 配置 ./configure --enable-debugger --enable-disasm --with-nogui
4. 编译 make
5. cp bochs bochsdbg
避免安装时错误
6. 真正开始安装 sudo make install
7. 创建快捷方式 sudo ln -s /usr/local/bin/bochs /usr/bin/bochs
好了,安装完毕,写一个简单的bochsrc配置文件,然后启动bochs,
看是否能调试boot.asm
~/Study/boot.asm
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
org 07c00h
mov ax, cs
mov ds, ax
mov es, ax
call DispStr
jmp $
DispStr:
mov ax, BootMessage
mov bp, ax
mov cx, 16
mov ax, 01301h
mov bx, 000ch
mov dl, 0
int 10h
ret
BootMessage: db "Hello OS World!"
times 510 - ($-$$) db 0
dw 0xaa55
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
user1: ~/Study/: nasm boot.asm -o boot.com
user1: ~/Study/: dd if=boot.bin of=b.img bs=512 count=2880 conv=notrunc
user1: ~/Study/: vi bochsrc
megs: 32
romimage:file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage:file=/usr/share/vgabios/vgabios.bin
floppya: 1_44=a.img, status=inserted
boot: floppy
保存 :wq
user1: ~/Study/: bochs
运行bochs,出现 <bochs:1>,具有调试功能的bochs已经启动!