Bochs 2.x开放源代码的PC机仿真软件包
http://www.oldlinux.org/Linux.old/bochs/
Linux0.11软件包(由OldLinux论坛赵炯博士redgrid提供)
http://oldlinux.org/Linux.old/bochs/linux-0.11-devel-050518.zip
软件包中文件说明 解开linux-0.11-devel-050518.zip这个文件后会生成一个名称为linux-0.11-devel-050518的目录。进入该目录后我们可以看到其中大约有如下20个文件。
[root@plinux ]# ls -o -g -1 total 136348 -rw-rw-rw- 1 2441509 May 18 14:20 bochs-2.2.pre4-1.i586.rpm -rw-r--r-- 1 3198301 May 18 14:17 Bochs-2.2.pre4.exe -rw-rw-rw- 1 14187 May 18 14:24 bochsout.txt -rw-rw-rw- 1 18165 Sep 23 2004 bochsrc-fda.bxrc -rw-rw-rw- 1 18125 Sep 23 2004 bochsrc-fdb.bxrc -rw-rw-rw- 1 18050 May 18 14:24 bochsrc-hdboot.bxrc -rw-rw-rw- 1 18050 May 18 14:24 bochsrc-hd.bxrc -rw-rw-rw- 1 121344 Aug 17 2004 bootimage-0.11 -rw-rw-rw- 1 121344 Mar 4 2004 bootimage-0.11-fd -rw-rw-rw- 1 121856 Apr 29 2004 bootimage-0.11-hd -rw-rw-rw- 1 145920 Aug 29 2002 bootimage-0.12-fd -rw-rw-rw- 1 150528 Feb 23 2004 bootimage-0.12-hd -rw-r--r-- 1 65 Jul 26 2004 debug.bat -rw-rw-rw- 1 1474560 Oct 5 2004 diska.img -rw-rw-rw- 1 1474560 Apr 29 2004 diskb.img -rw-rw-rw- 1 934577 Mar 29 2004 gcclib-1.40.taz -rw-rw-rw- 1 127631360 May 18 14:24 hdc-0.11-new.img -rw-rw-rw- 1 5901 May 18 14:23 README -rw-rw-rw- 1 1474560 May 18 13:52 rootimage-0.11 -rw-rw-rw- 1 17771 Oct 5 2004 SYSTEM.MAP [root@plinux ]#
这个软件包中包含有2个Bochs安装程序、4个不同的Bochs配置文件、5个内核映像(Image)文件;一个软盘和一个硬盘根文件系统映像文件以及其他一些有用文件。其中的README文件简要说明了各个文件的用途。这里我们再稍微详细说明一下各个文件的用途。
bochs-2.2.pre4-1.i586.rpm 是Linux操作系统下的Bochs安装程序。
Bochs-2.2.pre4.exe 是windows操作系统平台下的Bochs安装程序。在运行Linux 0.11系统之前我们需要首先在机器上安装Bochs系统。最新版的Bochs软件可以网站:http://sourceforge.net/projects/bochs/ 上下载。
bochsour.txt 是Bochs系统运行时自动产生的日志文件。其中包含有Bochs运行时各种状态信息。在运行Bochs遇到问题时,可以查看这个文件的内容来初步断定问题的原因。
bochsrc-fda.bxrc 是Bochs的配置文件。这个配置文件用于从Bochs虚拟A盘(/dev/fd0)启动Linux 0.11系统,即内核映像文件已设置在虚拟A盘中,并且要求随后根文件系统被替换插入当前虚拟启动驱动器中。在引导启动过程中,它会要求我们在A盘中“插入”软盘根文件系统盘(rootimage-0.11)。这个配置文件将使用内核映像文件bootimage-0.11。双击这个配置文件即可运行该配置的Linux 0.11系统。
bochsrc-fdb.bxrc 也是运行Bochs的配置文件。该配置文件已经把软盘根文件系统盘(rootimage-0.11)设置成在B盘(/dev/fd1)中,因此当显示要求我们插入根文件系统盘时可直接按回车。这个配置文件将使用内核映像文件bootimage-0.11-fd。双击这个配置文件即可运行该配置的Linux 0.11系统。
bochsrc-hd.bxrc 这也是一个设置成从A盘启动的配置文件,但是会使用硬盘(C盘)映像文件(hdc-0.11-new.img)中的根文件系统。这个配置文件将使用内核映像文件bootimage-0.11-hd。双击这个配置文件即可运行该配置的Linux 0.11系统。
bochsrc-hdboot.bxrc 这是一个从虚拟硬盘(hdc-0.11-new.img)引导启动Linux 0.11系统的配置文件,因此所使用的引导启动内核映像文件已在虚拟硬盘中(/usr/src/linux/Image)。
bootimage-0.11 是编译内核生成的映像(Image)文件。其中包含了整个内核的代码和数据,包括软盘启动引导扇区的代码。双击这个配置文件即可运行该配置的Linux 0.11系统。 bootimage-0.11-fd 也是编译内核生成的映像(Image)文件。与bootimage-0.11文件的主要区别在于其中引导扇区(最初512字节)中第509、510字节的根文件系统设备号已被设置成B盘(/dev/fd1),设备号是0x021D。其他方面完全和bootimage-0.11文件一样。
bootimage-0.11-hd 是用于使用虚拟硬盘上根文件系统的内核映像文件,即该文件的第509、510字节的根文件系统设备号已被设置成C盘第1个分区(/dev/hd1),设备号是0x0301。
bootimage-0.12-fd 是Linux 0.12内核的映像文件,其作用同bootimage-0.11。
bootimage-0.12-hd 也是Linux 0.12内核的映像文件,其作用同bootimage-0.11-hd。
debug.bat 是windows平台上启动Bochs调试功能的批处理程序。请注意,你可能需要根据Bochs安装的具体目录来修改其中的路径名。另外,默认情况下在Linux系统上安装运行的Bochs系统不包含调试功能。你可以直接使用Linux系统中的gdb程序进行调试。若还是想利用Bochs的调试功能,那么你就需要下载Bochs的源代码自己进行定制编译。
diska.img 和 diskb.img 是两个DOS格式的软盘映像文件。其中包含了一些工具程序。在Linux 0.11中可以使用mcopy等命令来访问这两个文件。当然在访问之前需要动态“插入”相应的盘片。在双击bochsrc-fda.bxrc、或bochsrc-hd.bxrc或bochsrc-hdboot.bxrc配置文件设置的Linux 0.11系统时,B盘中已经“插入”了diskb.img盘。
gcclib-1.4.0.taz 是Linux 0.11系统中使用了GNU gcc 1.40编译系统。放在这里只是为了让大家练习从硬盘映像文件中导入/导出的使用方法。因为硬盘映像文件中已经安装了这个gcc开发环境。
hdc-0.11-new.img 就是上面提到的虚拟硬盘映像文件。其中第1个分区中是一个MINIX文件系统1.0类型的根文件系统,第2个分区也是一个MINIX 1.0文件系统,但没有存放任何文件。你可以使用mount命令加载并使用这个额外的空间。
rootimage-0.11 是软盘上的根文件系统盘。当使用bochsrc-fda.bxrc或bochsrc-fdb.bxrc来运行Linux 0.11系统时,就会用到这个根文件系统盘。
SYSTEM.MAP 文件是编译Linux 0.11内核时生成的内核内存存储位置信息文件。在调试内核时,该文件的内容非常有用。
看看我的Linux0.11在bochs中跑起来: |