深入分析FreeDos -- 编译
内容目录
先建立开发环境,我的环境:
主机系统: Windows XP, 最好再装个虚拟机,在虚拟机里装个Linux系统
FreeDos版本: 我用的是2.0.20版本, http://sourceforge.net/projects/freedos/files/Kernel/2.0.20/
编译软件: NASM, Turbo C 3.0
x86模拟器: Bochs, JPC, VirtualBox都可以
要想让FreeDos运行起来,需要编译如下文件:
-
boot.bin, 即软盘引导文件
-
KERNEL.SYS, 即FreeDos内核
-
FreeCom, 即交互shell,类似linux上的bash。在kernel2020.zip的bin目录下就有编译好的commmand.com,可以直接拿来用。
编译步骤:
-
将nasm, tcc解压到C盘根目录,并将C:\nasm, C:\tcc\BIN 添加到环境变量中。
-
解压ker2020.zip, 修改config.m,根据注释选择对应的编译器选项,然后将config.m重命名为config.mak。
-
进入boot, 执行make -f boot.mak, 编译引导文件。编译完成会生成两个bin文件,其中b_fat12.bin对应FAT12文件系统,b_fat16.bin对应FAT16文件系统。
-
进入kernel, 执行make -f kernel.mak, 编译完成会生成KERNEL.SYS
-
下面的操作,是在linux下进行的:
|
|
最后一步:用X86模拟器启动dostest.img
如果编译kernel出错,可能与环境有关。
推荐:
我已经做好了一个版本, 点此下载。
与官方不同的地方:
|
|
OK,下面分别是dostest.img在JPC和Virtualbox下运行的截图:
Author grabbyte
LastMod 2023-02-04