操作系统真相还原第一章配置Bochs

前言:配置bochs花了好长时间,还是记录下自己配置的过程,避免自己忘记掉

参考博客:《操作系统真象还原》第一章 部署工作环境_kanshanxd的博客-CSDN博客

 配置环境:Ubuntu22.04      bochs-2.6.9   

关于bochs-2.6.9 下载的地址是:http://sourceforge.net/projects/bochs/files/bochs/

 

 选择2.6.9版本下载。(如果没有安装vmtools创建共享文件夹的化,可以直接在虚拟机Ubuntu上的火狐浏览器进行下载)

 

 

然后进行解压

tar -zxvf bochs-2.6.9.tar.gz

解压出现相应的文件夹,其它的文件和文件夹先不用看就先看我画线的,

然后进入bochs-2.6.9文件夹

cd bochs-2.6.9

 直接在终端打开。

配置bochs的config文件(–prefix这后面填的是你想要安装bochs的目录),编译,安装

来源上面参考博客可以看看,然后执行:

./configure --prefix=/home/xme/Desktop/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11 LDFLAGS='-pthread'

make

make install

//这是三步一步一步来我是把bochs安装在和解压后的bochs-2.6.9放在同一给目录下了
//   /home/xme/Desktop/bochs   找好自己的路径      

 经过上诉的步骤后会看到bochs文件

 

配置bochs:

进入cd bochs中,输入:

touch bochsrc.disk

 可以直接在文件里面配置双击打开;

注意事项:里面不要包含中文,

roimage   varominage  keyboard  中里面的路径都是要改的和你的要保持一致。

megs : 32

romimage: file=/home/xme/Desktop/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/home/xme/Desktop/bochs/share/bochs/VGABIOS-lgpl-latest

boot: disk

log: bochs.out

mouse:enabled=0
keyboard:keymap=/home/xme/Desktop/bochs/share/bochs/keymaps/x11-pc-us.map

ata0:enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
ata0-master: type=disk, path="/home/xme/Desktop/bochs/hd512M.img", mode=flat,cylinders=121,heads=16,spt=63

#gdbstub:enabled=1,port=1234,text_base=0,data_base=0,bss_base=0

 

 执行下面的命令,在bochs文件夹下,目的是运行bximage创建一个:

bin/bximage

 

然后在输入框依次输入以下,输入一个,按一次回车hd  flat 60  hd60M.img

 会在这个目录下生成hd60M.img

然后返回到上一级目录cd ..再创建一个测试代码:

 touch abc.s  或者touch mbr.s

SECTION MBR vstart=0x7c00
	mov ax,0x0000	;设置栈指应该是程序一开始就应该做的事情,这个值是参照1m内存空间布局图选择的,以后会刻意避开
	mov ss,ax
	mov ax,0x7c00
	mov sp,ax	
 
	mov ax,0x0600
	mov bx,0x0700	;BH是设置缺省属性,属性是指背景色,前景色,是否闪烁等,例如07H表示黑底白字,70H表示灰底黑字等等。
	mov cx,0x0000
	mov dx,0x184f	;这个看书p61,同时看其中关于页的知识
	int 0x10
	
	mov ax,0x0300	
	mov bx,0x0000	
	int 0x10
	
	mov ax,0x0000
	mov es,ax
	mov ax,message
	mov bp,ax
	mov ax,0x1301
	mov bx,0x0007	;设置字体属性,02是黑底绿字,07是黑底白字
	mov cx,0x000c
	int 0x10
	
	jmp $
	message db "Hello World!"
	times 510-($-$$) db 0
	db 0x55,0xaa

将这部分代码复制上去

然后终端运行sudo apt install nasm 

sudo apt install nasm

   //没有的话就安装

编译,将mbr.s生成test的测试文件

nasm -o test mbr.s

写入虚拟机启动磁盘,运行下面的代码

dd if=/home/xme/Desktop/test of=/home/xme/Desktop/bochs/hd60M.img bs=512 count=1 conv=notrunc

然后进入bochs文件,就是这面

 运行

bin/bochs -f bochsrc.disk

bin/bochs -f bochsrc.disk

 按 6 按 c

最后就能生成

 就算成功了。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值