“操作系统原理与实践(南阳理工学院)”实验报告

操作系统的引导

1.Ubuntu上先从终端进入~/oslab/linux-0.11/boot/目录。 使用下面命令: as86 -0 -a -o bootsect.o bootsect.s ld86 -0 -s -o bootsect bootsect.o 输入命令后,没有提示就行啦实验楼 2.接着在Ubuntu下用命令“hexdump -C bootsect”可以看到: 实验楼 3.是的,要去掉这32个字节的文件头部(tools/build.c的功能之一就是这个)! 在 Ubuntu下使用这个命令: $ dd bs=1 if=bootsect of=Image skip=32 实验楼 4.去掉这32个字节后,将生成的文件拷贝到linux-0.11目录下,并一定要命名为“Image”(注意大小写)。然后就“run”吧! 实验楼 然后就行run命令 实验楼 5.在Ubuntu下,进入linux-0.11目录后,使用下面命令(注意大小写):

$ make BootImage实验楼 6.查看setup,.s 实验楼 7.修改build.c

build.c从命令行参数得到bootsect、setup和system内核的文件名,将三者做简单的整理后一起写入Image。其中system是第三个参数(argv[3])。当“make all”或者“makeall”的时候,这个参数传过来的是正确的文件名,build.c会打开它,将内容写入Image。而“make BootImage”时,传过来的是字符串"none"。所以,改造build.c的思路就是当argv[3]是"none"的时候,只写bootsect和setup,忽略所有与system有关的工作,或者在该写system的位置都写上“0”

最新评论
暂无评论~