代码分析#Linux-0.12#002#运行Linux-0.12的方法
解析Linux-0.12的著名图书《Linux内核完全剖析-基于0.12内核》的作者赵炯老师,帮我们制作了Linux-0.12的内核映像和根文件系统,其在Bochs模拟器下已可以正常运行。本文介绍基于VMWare/QEMU/Bochs等模拟器运行Linux-0.12的方法。
0x01 下载Linux-0.12内核映像和根文件系统
由于 https://www.oldlinux.org 几经改版,原下载链接已不可使用。但所幸的是赵炯老师将网站迁移到github.com之后,我们在其提交记录中还可以找到相关的文件。
读者请使用如下链接下载内核映像和根文件系统的压缩包:
https://media.githubusercontent.com/media/oldlinux-web/oldlinux-website/692092f8e09156012d4a220f6d74f6d1ffe49a85/Book-Lite/Bochs/Bochs-Images/linux-0.12-080324.zip
linux-0.12-080324.zip的MD5值:2431a35b26e3639c243b89c3a49269d6
linux-0.12-080324.zip的SHA256值:b5c3fafb5f82ec1736c054c42a85a7110aec960d65b1f21e38f466c0dc973464
解压后文件如下所示:

0x02 使用VMware17运行Linux-0.12
接下来,我们使用上述内核映像和根文件系统,在VMware17.6.3上运行Linux-0.12。
第1/16步:首先将根文件系统rootimage-0.12-hd转换为vmdk格式的磁盘映像,使用如下命令:
| |
转换过程和结果如下图所示:

第2/16步,创建VMWare虚拟机步骤,选择硬件兼容性 Wowrkstation 5.x 标准,如下图所示:

第3/16步,创建VMWare虚拟机步骤,选择“稍后安装操作系统”,如下图所示:

第4/16步,创建VMWare虚拟机步骤,“选择客户机操作系统”,如下图所示:

第5/16步,创建VMWare虚拟机步骤,“命名虚拟机”,如下图所示:

第6/16步,创建VMWare虚拟机步骤,“处理器配置”,如下图所示:

第7/16步,创建VMWare虚拟机步骤,“此虚拟机的内存”,如下图所示:

第8/16步,创建VMWare虚拟机步骤,“网络类型”,如下图所示:

第9/16步,创建VMWare虚拟机步骤,“选择I/O控制器类型”,如下图所示:

第10/16步,创建VMWare虚拟机步骤,“选择磁盘类型”,如下图所示:

第11/16步,创建VMWare虚拟机步骤,“选择磁盘”,如下图所示:

第12/16步,创建VMWare虚拟机步骤,“选择现有磁盘”,如下图所示:

第13/16步,创建VMWare虚拟机步骤,“已准备好创建虚拟机”,如下图所示:

第14/16步,创建VMWare虚拟机步骤,“编辑虚拟机设置”,增加内核映像软盘,如下图所示:

第15/16步,按上述方法我们已经创建好虚拟机以及相应的设置,虚拟机目录下的文件,如下图所示:

第16/16步,我们现在启动下该虚拟机,看下运行的情况,如下图所示:

0x03 使用QEMU运行Linux-0.12
第1步,使用如下链接下载QEMU,并安装:
https://qemu.weilnetz.de/w64/qemu-w64-setup-20251217.exe
第2步,准备QEMU虚拟机需要的内核映像和根文件系统文件,我们将如下两个文件拷贝一个单独的目录中,如下图所示:

第3步,在当前目录打开CMD命令窗口,然后执行如下命令:
| |
执行过程如下图所示:

随后我们就可以看到QEMU虚拟机的运行画面,如下图所示:

0x04 使用Bochs-win64-3.0运行Linux-0.12
原linux-0.12-080324.zip中附带的Bochs虚拟机是V2.3.6版本,安装Bochs后,双击 bochsrc-0.12-fd.bxrc 或 bochsrc-0.12-hd.bxrc 均可正常运行。
最近上Bochs网站,发现版本已更新到3.0,打算使用Bochs3.0试试,发现仅少许修改配置文件就能运行。
第1步,使用如下链接下载Bochs-win64-3.0.exe,并安装:
https://sourceforge.net/projects/bochs/files/bochs/3.0
https://sourceforge.net/projects/bochs/files/bochs/3.0/Bochs-win64-3.0.exe/download
第2步,准备Bochs虚拟机需要的内核映像和根文件系统文件,我们将如下文件拷贝一个单独的目录中,如下图所示:

第3步,修改配置文件:原配置文件中有如下两处需要修改,如下两图所示:
第1处修改前:![]() | 第1处修改后:![]() |
第2处修改前:![]() | 第2处修改后:![]() |
第4步,在当前目录打开CMD命令窗口,然后执行如下命令:
| |
执行过程如下图所示:

随后我们就可以看到Bochs虚拟机的运行画面,如下图所示:




