Presentation is loading. Please wait.

Presentation is loading. Please wait.

中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009

Similar presentations


Presentation on theme: "中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009"— Presentation transcript:

1 中国科学技术大学计算机系 陈香兰(0551-3606864) xlanchen@ustc.edu.cn Spring 2009
Linux内核源代码导读 中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009

2 基于I386的Linux启动代码分析 源码:Linux 2.6.26 了解linux的源码组织 了解linux的内核代码结构
看目录结构 了解linux的内核代码结构 看Makefile 了解基于x86的linux的boot image的结构

3 考虑Arch为x86,了解源码组织 观察Linux源码的根目录 观察arch目录 观察arch下的x86目录

4 阅读Makefile 找到缺省目标all 找到vmlinux目标,并阅读

5

6 主要目标的编译 vmlinux 不妨以core-y为例,观察体系相关和体系无关部分的代码是如何被包含进来的

7 注意: vmlinux-init vmlinux-main vmlinux-dirs

8

9 x86的启动文件 根据vmlinux-init找到head-y, init-y ??关于BITS的定义

10 链接情况 链接描述文件? 链接顺序: vmlinux-init vmlinux-main

11 考虑boot Image Make bzImage … 在arch/x86/Makefile中 到boot目录下的Makefile
z代表压缩;b代表大内核 压缩 还是 非压缩

12 以bzImage为例 以bzImage为例搜索boot/Makefile

13 小结 1)生成根目录下的vmlinux,包括体系结构相关部分和体系结构无关部分
2)压缩,并加上解压缩头 headXX.S misc.c + 压缩后的vmlinux 3)加上启动头 setup.bin

14 预习 基于x86的Linux的启动,主要涉及如下内容 Header.S Compressed目录下的head_32.S
Kernel目录下的head_32.S, head32.c Init目录下main.c

15 Thanks! The end.


Download ppt "中国科学技术大学计算机系 陈香兰(0551- ) Spring 2009"

Similar presentations


Ads by Google