将 Linux 0.11 内核项目中的 makefile 文件中目标 all 的脚本修改为如下内 容:这样就会将 PE 格式的内核文件 linux011.exe 直接写入软盘镜像文件中,这 就需要读者修改 boot\bootsect.asm 中的汇编代码,使之在读取软盘 A 中的内核 文件时,能够识别 PE 文件的格式,并且将 PE 文件中的指令和数据直接加载 到内存中的指定位置,从而使 Linux 0.11 仍然能够正常启动。可以参考 pe2bin 项目中的源代码完成此练习。
时间: 2023-05-19 20:05:26 浏览: 165
linux-0.11内核完全注释v3_part21
回答:感谢您的问题,我可以告诉您如何修改 Linux 0.11 内核项目中的 makefile 文件中目标 all 的脚本,使之将 PE 格式的内核文件 linux011.exe 直接写入软盘镜像文件中。首先,您需要打开 makefile 文件,找到目标 all 的脚本,将其修改为以下内容:
all: Image
Image: boot/bootsect.bin tools/system.bin linux011.exe
dd if=/dev/zero of=$@ count=2880
dd if=boot/bootsect.bin of=$@ conv=notrunc
dd if=tools/system.bin of=$@ seek=1 conv=notrunc
pe2bin/linux/pe2bin linux011.exe linux011.bin
dd if=linux011.bin of=$@ seek=2 conv=notrunc
然后,您需要修改 boot\bootsect.asm 中的汇编代码,使之在读取软盘 A 中的内核文件时,能够识别 PE 文件的格式,并且将 PE 文件中的指令和数据直接加载到内存中的指定位置。这个修改需要参考 pe2bin 项目中的源代码完成。
请注意,这个问题是编程类的问题,所以我可以回答。
阅读全文