




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
如何在Linux上使用Bochs作者:王聪引言最近在做操作系统方面的研究,不得不去下一个虚拟机来用。由于我不使用Windows,所以选择很少了。因为在Linux上,差不多就只有两款好的虚拟机Bochs和Qemu。这两个之中,Bochs是用C+编写,能在很多平台上使用,而且不论什么平台,它都不倚赖主机的指令系统,总是模拟x86。所以我选择了Bochs。但是,我惊讶地发现关于如何在Linux上使用Bochs的资料很少。Bochs自带的文档中讲得也不很明确,而且还是英文的。所以我写了这篇文章。 安装到Bochs的主页: 上下载最新的Bochs RPM安装包。(写这篇文章时,最新的版本是2.2.1。)以root的身份安装: #rpm -ivh bochs-2.2.1-1.i586.rpm其实RPM安装包给你装上了四个新程序:bochs,bochs-dlx,bximage,bxcommit,以及相关文档。安装完毕后,你可以先试试bochs-dlx,它是DLX Linux的一个demo。 $ bochs-dlx-DLX Linux Demo, for Bochs x86 Emulator-Checking for bochs binary.okChecking for DLX linux directory.okChecking for /usr/bin/gzip.okChecking for /home/wangcong/.bochsdlx directory.okEntering /home/wangcong/.bochsdlxRunning bochs00000000000iAPIC? local apic in initializing=Bochs x86 Emulator 2.2.1Build from CVS snapshot on July 8, 2005=00000000000i LTDL_LIBRARY_PATH not set. using compile time default /usr/lib/bochs/plugins00000000000i BXSHARE not set. using compile time default /usr/share/bochs00000000000i reading configuration from bochsrc.txt00000000000i lt_dlhandle is 0x8bac49000000000000iPLGIN loaded plugin libbx_x.la00000000000i installing x module as the Bochs GUI00000000000i using log file bochsout.txt马上,你就会看到一个X11窗口。显示的是VGA BIOS信息,然后是加载Linux的信息。以root身份登录,试试DLX Linux。安装成功。 使用 下面是一些重要的文件: /usr/bin/bochs Bochs启动程序 /usr/bin/bximage Bochs带的制作磁盘镜像文件的工具 /usr/bin/bxcommit 把redolog放进flat磁盘镜像文件中去的交互工具 /usr/share/doc/bochs/bochsrc-sample.txt Bochs配置文件的例子 /usr/share/bochs/BIOS-bochs-* ROM BIOS镜像文件 /usr/share/bochs/VGABIOS-* 与VGA BIOS镜像文件相关的文件 /usr/bin/bochs-dlx 启动Bochs中DLX linux的程序 /usr/share/bochs/dlxlinux/ DLX Linux的目录,包含它的磁盘镜像文件和配置文件 /usr/share/bochs/keymaps/*.map X11和SDL的keymap列表 命令bohcs可以接受4个参数:-q加载配置文件后跳过开始菜单;-f configfile识别指定的配制文件;-n不加载配置文件;-h 打印帮助信息;-qf configfile相当于同时使用-q和-f两个选项。使用Bochs,你必须有一个配置文件,或者你通过-f参数指定,或者让Bochs自己搜索。配置文件的作用是告诉Bochs到哪里寻找镜像文件,模拟层如何工作等。Bochs搜索配置文件的顺序是: 1. .bochsrc 在当前目录中 2. bochsrc 在当前目录中3. bochsrc.txt 在当前目录中4. .bochsrc 在用户的主目录中5. bochsrc 在 /etc 目录中以dlx-linux的配置文件为例,讲一下如何定制你需要的配置文件。dlx-linux的配置文件是/usr/share/doc/bochs目录中的bochsrc-sample.txt。它的内容如下: # bochsrc.txt file for DLX Linux disk image.# how much memory the emulated machine will havemegs: 32# filename of ROM imagesromimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest# what disk images will be used floppya: 1_44=floppya.img, status=insertedfloppyb: 1_44=floppyb.img, status=inserted# hard diskata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14ata0-master: type=disk, path=hd10meg.img, cylinders=306, heads=4, spt=17# 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 onlymouse: enabled=0# enable key mapping, using US layout as default.# NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows.# However, the key mapping tables are used in the paste function, so # in the DLX Linux example Im enabling keyboard_mapping so that paste # will work. Cut&Paste is currently implemented on win32 and X windows only.keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-fr.map#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-de.map#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-es.map以#开头的每一行都是注释。注释写得很明白。 megs: 32指明想要模拟32M的内存。注意:后面的数字最大为2048,但是因为主机系统的限制,在大多数系统上,Bochs甚至不能支持1024M。 romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000指明ROM的镜像文件在哪,开机时ROM BIOS被加载到哪里。$BXSHARE是环境变量,指明 Bochs的share目录,在Linux上为/usr/share/bochs。这一般不用改动。下面的vgaromimage 指明VGA ROM的镜像文件位置。 floppya: 1_44=floppya.img, status=insertedfloppyb: 1_44=floppyb.img, status=inserted floppya是第一软驱,floppyb是第二软驱。后面标明的是软驱镜像文件的位置,软盘是否插入。可以根据你的需要做适当的修改。 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14ata0-master: type=disk, path=hd10meg.img, cylinders=306, heads=4, spt=17打开ata0通道,另外还有ata1,ata2,ata3。对于每一个通道,都必须指明两个IO地址和IRQ。 ata0是默认被打开的,它的ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14。ata0-master 是主ata0通道,后面指明它附带的设备是硬盘,硬盘镜像文件路径,硬盘柱面数,磁头数等参数。 boot: c指明启动次序,可以是cdrom,floppy,disk。不过由于历史的原因a和c也能被接受。也可以这样来写: boot: cdrom, floppy, diskmouse: enabled=0指明鼠标是否可见。 keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map打开对虚拟US键盘的重映射,keymap必须被指明。更多的配置文件选项说明见/usr/share/doc/bochs/user/bochsrc.html。如何编写键盘的keymap列表见/usr/share/doc/bochs/user/keymap.html。 制作磁盘镜像bximage是Bochs自带的制作磁盘镜像的工具,具有良好的交互性,使用很方便。运行bximage,你会看到: =bximageDisk Image Creation Tool for Bochs$Id: bximage.c,v 2005/07/06 20:40:00 vruppert Exp $=Do you want to create a floppy disk image or a hard disk image?Please type hd or fd. hd询问我们是建立一个软盘镜像还是硬盘镜像,默认的是硬盘。我们直接按回车,选择硬盘镜像。 What kind of image should I create?Please type flat, sparse or growing. flat我们想建立一个简单的镜像,选择默认的flat。回车。 Enter the hard disk size in megabytes, between 1 and 3225510想要多少Mbyte的大小?键入你想要的大小。 I will create a flat hard disk image withcyl=2heads=16sectors per track=63total sectors=2016total size=0.98 megabytesWhat should I name the image?c.img在上一步中输入“1”后,显示相关的硬盘信息。询问想要什么镜像文件名字?默认的是 c.img。输入hd.img回车。 Writing: Done.I wrote 1032192 bytes to hd.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 分公司评级管理制度
- 客房部岗位管理制度
- 小单位考勤管理制度
- 建筑物拆除管理制度
- 文体部会议管理制度
- 村里卫生院管理制度
- 标本全流程管理制度
- 档案借调阅管理制度
- 检修部培训管理制度
- 检验与试验管理制度
- GA/T 2015-2023芬太尼类药物专用智能柜通用技术规范
- 游泳池安全保障制度和措施范本
- 《销售员的角色定位》课件
- 中南地区工程建设标准设计建筑图集 13ZJ301 建筑无障碍设施
- 阴道炎演示课件
- 劳保鞋管理制度
- 妇科疾病的运动与体育锻炼预防
- 2023年重庆市高考思想政治试卷真题(含答案)
- GB/T 15622-2023液压缸试验方法
- 1.2音乐情感及情绪《祝酒歌》课件-高中音乐人音版必修音乐鉴赏
- 制造业转型升级的产业协同创新研究
评论
0/150
提交评论