问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何在Linux上使用Bochs

发布网友 发布时间:2022-04-23 22:29

我来回答

1个回答

热心网友 时间:2023-10-12 04:33

安装

到Bochs的主页: 上下载最新的Bochs RPM安装包。 以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...ok
Checking for DLX linux directory...ok
Checking for /usr/bin/gzip...ok
Checking for /home/wangcong/.bochsdlx directory...ok
Entering /home/wangcong/.bochsdlx
Running bochs
00000000000i[APIC?] local apic in initializing
========================================================================
Bochs x86 Emulator 2.2.1
Build from CVS snapshot on July 8, 2005
========================================================================
00000000000i[ ] LTDL_LIBRARY_PATH not set. using compile time default '/usr/lib/bochs/plugins'
00000000000i[ ] BXSHARE not set. using compile time default '/usr/share/bochs'
00000000000i[ ] reading configuration from bochsrc.txt
00000000000i[ ] lt_dlhandle is 0x8bac490
00000000000i[PLGIN] loaded plugin libbx_x.la
00000000000i[ ] installing x mole as the Bochs GUI
00000000000i[ ] 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搜索配置文件的顺序是:

.bochsrc 在当前目录中</TT CLASS="FILENAME">

bochsrc 在当前目录中

bochsrc.txt 在当前目录中</TT CLASS="FILENAME">

.bochsrc 在用户的主目录中

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 have
megs: 32
# filename of ROM images
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
vgaromimage: file=$BXSHARE/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=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-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 only
mouse: 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 I'm 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=inserted
floppyb: 1_44=floppyb.img, status=inserted
floppya是第一软驱,floppyb是第二软驱。后面标明的是软驱镜像文件的位置,软盘 是否插入。可以根据你的需要做适当的修改。
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-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, disk
mouse: 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,你会看到:

========================================================================
bximage
Disk Image Creation Tool for Bochs
$Id: bximage.c,v 1.25.2.1 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 32255
[10]
想要多少Mbyte的大小?键入你想要的大小。
I will create a 'flat' hard disk image with
cyl=2
heads=16
sectors per track=63
total sectors=2016
total size=0.98 megabytes
What should I name the image?
[c.img]
在上一步中输入“1”后,显示相关的硬盘信息。询问想要什么镜像文件名字?默认的是 c.img。输入hd.img回车。
Writing: [] Done.
I wrote 1032192 bytes to hd.img.
The following line should appear in your bochsrc:
ata0-master: type=disk, path="hd.img", mode=flat, cylinders=2, heads=16, spt=63
建立完毕。然后你就可以使用这个镜像,用Bochs做实验了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
求助:补全成语. _然而止、_然不屈、_然四顾、_然若失、_然而至、_然拒绝、_然无声... 我姑妈(姑妈去世),现奶奶的房产 姑妈的女儿有继承权吗? 丈夫去世遗产应该能怎么分配 《人世间》骆士宾遗产股权归谁所有 为什么说曹珊不应该得罪水自流_百 ... 有谁知我国十大元帅及十大上将? 解放中国的10大元帅是那几个? 对中国有何影响? 中国历史上的十大元帅 为什么中国过去有元帅现在没有了 ...想看中国80年代、90年代热播的电视剧,《渴望》、《蛙女》等,越多... 佛祖和观音慈眉善目,为何十八罗汉却是面目狰狞? 跪求佛教十八罗汉的排名,第三位是哪位? 在佛教中,十八罗汉指的是哪十八个人?菩萨又有哪些? 佛教中了十八罗汉、是那十八个罗汉? 佛学常识:十八罗汉像是什么人 什么是期末 十八罗汉佛像都是谁 如来佛祖座下的十八罗汉分别都叫什么名字? 中国古代神话中的如来佛座下的十八罗汉是哪十八罗汉? 佛教十八罗汉都叫什么? 期末祝福词 佛家的十八罗汉的法名分别是? 关于期末励志话语 佛界十八罗汉分别是哪些? 会计中 期末是指什么?是月末还是年末? 十八罗汉的名字和图片 期末复习方法技巧 佛教中的十八罗汉到底是哪十八个? 佛教中的十八罗汉是那十八个 期末是什么意思 十八罗汉在佛家中的地位? 如何使用bochs启动linux2.6.0版本内核 bochs怎样才能运行linux linux下配置bochs的问题 安卓bochs,98,xp能联网吗?能不能装linux?linux能不能联网? 求助,bochs启动linux系统后,就停在了booting那里,没有loading,截图如下 如何在bochs中安装linux 谁有bochs win7的镜像,能上网有声音的 Bochs安卓版,和镜像下载地址!并加说明怎麽安装啊!很多次都没成! 安卓bochs如何联网 安卓bochs如何联网? bochs windows95镜像下载(能上网、有声音) 如何自己制作镜像,比如在bochs上可以用的img系统镜像! 求BOCHS,windows镜像,要求,能上网,有声音并且自己用过的!谢谢! 安卓bochs怎么上网,还有怎么运行exe文件啊 如何制作一个linux的img镜像文件(在bochs虚拟机中不安装直接运行的)? 二月二龙抬头有什么传说? 二月二龙抬头,其中的龙指的是什么呢? 科普中国发分享为何找不到微博 科普中国微平台2016年移动互联科学传播