简介

关于Bochs的介绍:http://en.wikipedia.org/wiki/Bochs

Bochs的官网:http://bochs.sourceforge.net/

这里记录如何在Windows系统下使用Bochs,要在Bochs中运行一个操作系统需要准备一些资源:Bochs的执行文件,bios镜像文件,vga bios镜像文件,引导启动磁盘镜像文件。在使用Bochs时需要做一些系统预设参数,一般将这些参数放在一个配置文件中,文件后缀为bxrc。

配置文件

Bochs使用配置文件中的信息来寻找使用的磁盘镜像文件,运行环境配置以及其他一些模拟器的配置信息。每个仿真系统都需要一个配置文件,配置文件后缀一般为.bxrc,这类后缀的文件可以直接被Bochs打开,在Windows下安装Bochs之后会有一个bochsrc-sample文件,在这个文件里对所有可用的参数做了详细说明。这里以Bochs自带的dlxlinux为例,看看一些重要参数的含义。

###############################################################
# bochsrc.txt file for DLX Linux disk image.
############################################################### # how much memory the emulated machine will have
megs: # filename of ROM images
romimage: file=../BIOS-bochs-latest
vgaromimage: file=../VGABIOS-lgpl-latest # what disk images will be used
floppya: 1_44=floppya.img, status=inserted
floppyb: 1_44=floppyb.img, status=inserted # hard disk
ata0: enabled=, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=
ata0-master: type=disk, path="hd10meg.img", cylinders=, heads=, spt= # choose the boot disk.
boot: c # default config interface is textconfig.
#config_interface: textconfig
#config_interface: wx #display_library: x
# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga # where do we send log messages?
log: bochsout.txt # disable the mouse, since DLX is text only
mouse: enabled= # set up IPS value and clock sync
cpu: ips=
clock: sync=both # enable key mapping, using US layout as default.
#
# NOTE: In Bochs 1.4, keyboard mapping is only % implemented on X windows.
# However, the key mapping tables are used in the paste function, so
# in the DLX Linux example I'm enabling keyboard_mapping so that paste
# will work. Cut&Paste is currently implemented on win32 and X windows only. keyboard: keymap=../keymaps/x11-pc-us.map
#keyboard: keymap=../keymaps/x11-pc-fr.map
#keyboard: keymap=../keymaps/x11-pc-de.map
#keyboard: keymap=../keymaps/x11-pc-es.map

megs用于设置模拟系统的内存,这里使用的是32MB。

romimage用于控制PC第一次上电后该做些什么,一般可以使用Bochs自带的BIOS-bochs-latest文件。

vgaromimage要求用户在C0000载入VGA ROM BIOS,这里可以使用Bochs自带的VGABIOS-lgpl-latest文件。

floppya和floppyb分别表示第一个软驱和第二个软驱,如果需要从一个软盘上来引导系统则floppya就需要指向一个可引导的磁盘。

ata0用于启动模拟系统中的ATA通道,对于每个通道必须指明两个IO基地址和一个中断请求号。

ata0-master用来指明模拟系统中第一个ATA通道上连接的第一个ATA设备(硬盘等)。

boot用来定义模拟机器中踊跃引导启动的驱动器,可以为软盘硬盘或CDROM。

log用于记录日志信息。

cpu用于指定cpu参数,其中ips表示每秒钟的仿真命令数。

mouse用于指定模拟鼠标行为的参数。

keyboard用于指定模拟键盘行为的参数。

使用Bochs运行dlxlinux

Bochs为用户制作了一个demo,在Bochs的安装目录下有一个dlxlinux目录,里面有一个bochsrc.brxc的配置文件,双击这个文件就能在Bochs中启动一个模拟的Linux系统。

Bochs使用说明的更多相关文章

  1. bochs配置文件解释说明

    ############################################### # Configuration file for Bochs ##################### ...

  2. Atitit.项目修改补丁打包工具 使用说明

    Atitit.项目修改补丁打包工具 使用说明 1.1. 打包工具已经在群里面.打包工具.bat1 1.2. 使用方法:放在项目主目录下,执行即可1 1.3. 打包工具的原理以及要打包的项目列表1 1. ...

  3. awk使用说明

    原文地址:http://www.cnblogs.com/verrion/p/awk_usage.html Awk使用说明 运维必须掌握的三剑客工具:grep(文件内容过滤器),sed(数据流处理器), ...

  4. 《一个操作系统的实现》学习笔记(一) bochs源码安装及配置

    前言:本机环境ubuntu 14.04 bochs 2.4.5 一.下载 官网 http://bochs.sourceforge.net/ 二.安装 1.将下载好的压缩包解压并进入该目录 .tar.g ...

  5. “我爱背单词”beta版发布与使用说明

    我爱背单词BETA版本发布 第二轮迭代终于画上圆满句号,我们的“我爱背单词”beta版本已经发布. Beta版本说明 项目名称 我爱背单词 版本 Beta版 团队名称 北京航空航天大学计算机学院  拒 ...

  6. Oracle 中 union 和union all 的简单使用说明

    1.刚刚工作不久,经常接触oracle,但是对oracle很多东西都不是很熟.今天我们来了解一下union和union all的简单使用说明.Union(union all): 指令的目的是将两个 S ...

  7. Map工具系列-02-数据迁移工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

  8. Map工具系列-03-代码生成BySQl工具使用说明

    所有cs端工具集成了一个工具面板 -打开(IE) Map工具系列-01-Map代码生成工具说明 Map工具系列-02-数据迁移工具使用说明 Map工具系列-03-代码生成BySQl工具使用说明 Map ...

  9. jQuery验证控件jquery.validate.js使用说明

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...

随机推荐

  1. 微软Azure云平台Hbase 的使用

    In this article What is HBase? Prerequisites Provision HBase clusters using Azure Management portal ...

  2. STL中vector的用法

    vector是标准模板库的一种容器,是可存放各种类型的动态数组. #include<iostream> #include<vector> using namespace std ...

  3. easyUI dialog 弹窗 居中显示

    默认情况下应该是在屏幕居中显示的.但是有的时候没有居中只要重新纠正下就可以了 $('#add_dialog').dialog('open'); //打开添加对话框 $('#add_dialog').w ...

  4. class、interface、struct的区别

    1 struct和class有什么区别 1.1默认的继承访问权限 Struct是public的,class是private的. 你可以写如下的代码: struct A { char a; }; str ...

  5. AngularJS directive入门例子

    这是<AngularJS>这本书里面提供的一个例子: JS代码: var expanderModule=angular.module('expanderModule', []) expan ...

  6. FaceBook Twitter实习生简历求内推

    写在博客里面吧. 有一个朋友,男,博士在读,研究方向为图像处理,计算机视觉相关. 想在在读期间有一些海外实习经历.不知道哪位博友,有相关的人脉,求内推啊.内推成功的话请吃大餐,哈哈!

  7. shell 下的$符合

    $n        $1 the first parameter,$2 the second...$#        The number of command-line parameters.$0  ...

  8. 用于主题检测的临时日志(452a49c2-4455-430f-a1cc-bbcd2d1944dd - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

    这是一个未删除的临时日志.请手动删除它.(95c74eab-5822-4f4b-b0e5-009feb9cae8d - 3bfe001a-32de-4114-a6b4-4005b770f6d7)

  9. qml操作播放器

    现在增加了一个filter属性,所以可以很好和opencv结合.转一篇文章(http://blog.qt.io/blog/2015/03/20/introducing-video-filters-in ...

  10. 在Android应用中使用OpenGL

    Android为OpenGL  ES支持提供了GLSurfaceView组件,这个组件用于显示3D图形.GLSurfaceView本身并不提供绘制3D图形的功能,而是由GLSurfaceView.Re ...