Linux内核的移植可以分为,linux内核移植读书笔记

linux内核移植读书笔记<1>

2011-01-06 12:01

最近在看《嵌入式linux应用开发完全手册》,前一阵在看关于Uboot的启动流程分析,可忘记把读书笔记给记录下来,现在在读移植linux内核,我想应该记录一些东西,以加深理解

16.1 linux版本及特点

2.6.36.2 :主板本是2.6,次版本36,修订版本2

16.2.2 内核源码结构及Makefile分析

一,arch:体系结构相关的代码,对于每个架构的cpu,arch目录下有一个对应的子目录,arch/arm,arch/i386

block:块设备相关的通用函数

crypo:加密和散列算法

drivers:所有设备的驱动程序,里面的每一个子目录对应一类驱动程序

fs:linux内核所支持的文件系统

include:内核头文件,有基本的头文件(include/linux/下),各种驱动或功能部件的头文件,各种体系相关的头文件,

init:内核的初始化代码,main。c是内核引导后的第一各函数

ipc:进程间通信的代码

kernel:内核管理的核心代码,与处理器相关的核心代码在arch/arm/kernel/下

lib:内核用到的一些库函数代码,与处理器相关的库函数代码在arch/arm/lib/下

mm:内存管理代码,与处理器相关的内存管理代码在arch/arm/mm/下

net:网络支持代码,每个子目录代表网络的一个方面

security:安全,密钥相关的代码

sound:音频设备的驱动程序

usr:用来制作一个压缩的cpio归档文件:initrd的镜像,它可以作为内核启动后链接的第一各文件系统,一般用不到

Documentation:内核文档

scripts:用于配置,编译内核的脚本文件

二:Linux Makefile分析

内核中的文件有2万多个,仅与s3c2410,s3c2440相关的文件就有1万多个,这么多的文件,在内核编译时哪些文件将被编译,他们是怎么被编译的,他们的连接顺序如何,哪个文件在前面,哪个文件在后面?这些都是有Makefile文件来管理的,简单来说,makefile文件主要完成一下3个方面的工作

a,决定编译哪些文件

b,怎样编译这些文件

c,怎样连接这些文件,以及他们的连接顺序

在linux内核目录下有很多Makefile文件,这些Makefile文件又要包含其他的一些配置信息文件和通用规则文件等,这些文件一起构成了linux的makefile体系,这个体系中的文件可以分为如下5类a,顶层的makefile文件,它是所有makefile文件的核心,从总体上控制着内核的编译,连接

b,.config文件,在配置内核时生成,所有makefile文件都是根据.config文件来决定使用哪些文件c,arch/arm/makefile,对应arm体系结构的makefile,用来决定与arm体系结构相关的哪些文件参与内核的生成

d,scripts/makefile.*,makefile共用的通用规则,脚本等

e,Kbuild Makefiles ,各级子目录下的Makefile,被上一层makefile调用来编译当前目录下的文件

(1)决定编译哪些文件

a,顶层makefile决定内核根目录下哪些子目录将背编译进内核

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值