思维导图
实验任务
任务:修改 Linux 0.11 内核程序,将系统启动时显示的字符串由原来的Partition table ok.变为Hello, world!
目标:熟悉 Linux 0.11 内核实验环境,掌握内核程序的编辑、编译和测试方法。
实验环境
Ubuntu 16.04(Ubuntu 属于Linux衍生出来的以桌面应用为主的Linux操作系统)
使用Bochs 模拟硬件环境(在完成对代码的修改或编译之后将使用run去启动新的虚拟机)
实验步骤
下面记录实验的完整过程
1.了解实验环境
实验在目录/root/os/linux-0.11-lab下进行,此目录下的内容如下:
其中/root/os/linux-0.11-lab中各目录(/文件)的含义是:
2.测试内核是否正常
运行run脚本就会使用在~/os/bochs-0.11-lab目录下的内核映像cur/linux/Image启动 Linux 0.11
3.查看内核源码
关闭虚拟机,然后使用 VSCode 打开源码所在文件夹,选择 File ,然后选择 Open Folder ,找到linux文件夹,然后确认打开;当看到文件夹下所有的源码都已经被导入,就可以在这里开始对源码进行修改了。
4.修改内核源码
使用搜索功能,搜索关键词Partition,在结果中找到Partition table ok.(位于hd.c文件的第155行),将其修改为Hello, world!
5.重新编译内核
在内核源码目录~/os/linux-0.11-lab/0/linux中使用make命令重新编译内核;
这是只编译修改过的文件,有时为了可靠也可以完全编译;完全编译需要将旧的编译文件清除,使用make clean命令清除编译文件,然后重新使用make命令编译.
6.测试新内核是否正常
切换到linux-0.11-lab目录下使用./run启动脚本使用新的内核运行虚拟机;
可以看到虚拟机的加载的字符串已经从原来的Partition table ok.,变为Hello, world!了。
关闭已经启动的虚拟机之后点击评测
至此,已成功修改相应内核源码并重新编译,任务完成!
实验总结
1.字母区分大小写,符号使用英文输入法输入
2.输入Hello, world!字符串时,不要忘了逗号(,)后面有一个空格