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”
学习时间 143分钟
操作时间 60分钟
按键次数 2067次
实验次数 3次
报告字数 1192字
是否完成 完成