ubuntu 安装Bochs

最近在看X86汇编语言:从实模式到保护模式这本书,书里面的程序都是在裸机上运行的,需要安装一个Bochs模拟器来运行和调试,安装过程如下:

首先是下载最新版的源码:

地址:http://bochs.sourceforge.net

解压:

tar -zxvf bochs-2.6.8.tar.gz

进入目录:

cd bochs-2.6.8

安装命令如下:

./configure --enable-debugger --enable-disasm

make

sudo make install

如果顺利的话就安装完成了,可是我自己在编译的时候出现了错误,如下:




错误处理:

网上搜了一下,貌似需要安装xorg-dev。

安装步骤如下:

sudo apt-get install aptitude

sudo aptitude install xorg-dev


到处bochs就安装完成了。


运行bochs需要一个配置文件,文件名为bochsrc,内容如下:

megs:32

romimage:file=/usr/local/share/bochs/BIOS-bochs-latest

vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest

floppya:1_44=a.img,status=inserted

boot:floppy

log:bochsout.txt

mouse:enabled=0

keyboard_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map


接着还需要创建一个虚拟软盘文件,并且将程序写入到虚拟软盘文件中,才能运行。

虚拟软盘文件可以使用bximage命令创建。

具体步骤为:输入bximage命令,选择创建一个新磁盘,在选择类型时输入fd,之后全部选择默认,一直回车就可以了。

这样在当前目录下会产生一个a.img的虚拟软盘文件。



汇编程序可以使用如下代码,功能是在屏幕上显示Hello, OS!

	org 0x7c00
	mov ax, cs
	mov ds, ax
	mov es, ax
	call DispStr
	jmp $
DispStr:
	mov ax, BootMessage
	mov bp, ax
	mov cx, 10
	mov ax, 0x1301
	mov bx, 0x000c
	mov dl, 0
	int 0x10
	ret
BootMessage:         db   "Hello, OS!"
times   510-($-$$)   db   0  
dw      0xaa55 


代码使用nasm编译,命令为:

nasm -f bin boot.s -o boot.bin

使用dd命令将编译产生的二进制文件写入磁盘。

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


完成之后只要输入命令 bochs -f bochsrc 就可以运行了。


Bochs常用调试指令:


 
 


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是在Ubuntu安装Bochs的步骤: 1. 打开终端,输入以下命令以安装Bochs: ``` sudo apt-get install bochs bochs-x bochs-sdl ``` 2. 安装完成后,可以通过以下命令检查Bochs是否已经成功安装: ``` bochs -help ``` 如果出现了Bochs的帮助信息,则说明Bochs已经成功安装。 3. 接下来,可以通过以下命令启动Bochs: ``` bochs ``` 这将启动Bochs模拟器,并进入Bochs的命令行界面。 4. 如果需要使用Bochs来运行操作系统,则需要为Bochs配置一个虚拟机。可以通过创建一个Bochsrc文件来配置虚拟机。以下是一个简单的Bochsrc文件示例: ``` # configuration file generated by Bochs # http://bochs.sourceforge.net/ # how much memory the emulated machine will have megabytes: 32 # filename of ROM image romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000 # boot from floppy disk image boot: floppy # filename of floppy disk image floppy: 1_44=a.img, status=inserted # enable VGA graphics card vga: extension=vbe, update_freq=5 # enable sound card sb16: enabled=1, irq=7, dma=1, hdma=5, sbtype=sb16, sbbase=0x220, midi=none # enable network card ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=linux # enable serial port com1: enabled=1, mode=term # enable parallel port lpt1: enabled=1 # enable keyboard keyboard: type=mf # enable mouse mouse: enabled=1 ``` 在这个示例中,Bochs将会模拟一台拥有32MB内存、启动盘为a.img、使用VGA显卡、SB16声卡、NE2000网卡、COM1串口、LPT1并口、MF键盘和鼠标的虚拟机。 5. 将Bochsrc文件保存到任意位置,并在启动Bochs时指定该文件的路径: ``` bochs -f /path/to/bochsrc ``` 这将启动Bochs,并使用指定的Bochsrc文件来配置虚拟机。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值