Bochs运行bootsect步骤

内容提要:
     Bochs运行bootsect步骤
        A 制作启动引导软盘镜像
       B 安装Bochs
       C 配置Bochs
       D 运行Bochs
#==============A 制作启动引导软盘镜像============
#设引导框架程序名称:bootsect.S
#编译:
as86 -0 -a -o bootsect.o bootsect.S
ld86 -0 -s -o bootsect bootsect.o
#创建磁盘映像:
dd if=/dev/zero of=bootsect.img bs=1474560 count=1
#格式化软盘映像
mkfs.ext2 bootsect.img
#去掉bootsect文件的头结构并写入软盘映像
dd bs=32 if=bootsect of=bootsect.img skip=1
#==============B 安装Bochs =====================
#到官网http://bochs.sourceforge.net/下载bochs
#我本来想直接下载rpm包直接安装,奈何安装出错,后来下载了源码包
#bochs-2.6.8.tar.gz(这时的最新版)
#tar -zxvf解压后,配置: ./configure --enable-debugger --enable-disasm --with-x11
#编译:make -j4
#安装:make -install
#==============C 配置Bochs =====================
#我的这些配置基于 http://oldlinux.org/Linux.old/bochs/sls-1.0.zip 中的bochsrc.bxrc
#并根据自己电脑的报错情况以及网上的相关文章修改
#保留的内容如下:
#1 指定BIOS映像文件
romimage: file=$BXSHARE/BIOS-bochs-latest

#2 设置被模拟系统所含的内存容量,单位MB
megs: 32

#3 指定VGA BIOS映像文件
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

#4 配置第一个软驱,status: ejected:未插入,inserted:已插入
floppya: 1_44=" bootsect.img", status=inserted

#5 配置第二个软驱
floppyb: 1_44=tmp1.imz, status=inserted

#6 指明模拟系统中的第一个ATA通道(0通道)上连接的第一个ATA设备
## type:设备类型 path:映像文件路径 cylinders/heads/spt 仅对disk有效(对disk必须)
ata0-master: type=disk, path="c.img", cylinders=365, heads=16, spt=63

#7 定义模拟机器中用于引导启动的驱动器 floop/a/c/cdrom
boot: floppy

#8 指定log的路径,让Bochs记录执行的一些信息,当Bochs运行出错时以供参考
log: bochsout.txt

#9 配置显卡刷新率?
vga: update_freq=10

#10 禁用鼠标
mouse: enabled=0

#11 这个应该与颜色配置相关
private_colormap: enabled=0

#12 禁用全屏
fullscreen: enabled=0

#13 屏幕设置相关
screenmode: name="sample"
#===================D 运行Bochs================
#在终端最接近运行:bochs
#选项2是导入配置:输入2,然后打出配置文件名:如bochsrc.bxrc(这里是当前目录)
#成功配置后,会自动退到首页,按6开启模拟系统

参考与引用:
豆瓣:我欲成妖魔鬼怪---Linux内核-as86汇编boot文件启动引导
《Linux内核完全剖析--基于0.12内核》 赵炯
其它博文:若干
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值