linux 嵌入式 ko 编译到内核,嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译...

嵌入式 Linux开发Kernel移植(二)——kernel内核配置和编译

本文选择linux 2.6.35.7版本kernel进行实践。

一、linux kernel源码目录分析

Kbuild,Kernel Build,管理内核编译的文件

Makefile,kernel工程的Makefile。

arch,体系架构,arch目录下的子目录存放的是不同种类的架构

block,块设备,一般是存储设备,存放的块设备管理的相关代码

crypto,加密相关,存放加密算法实现代码

Documentation,说明文档

drivers,设备驱动模块,存放各种设备类型驱动模块

firmware,固件

fs,文件系统,子目录存放各种文件系统

include,头文件,子目录存放通用的各种模块的头文件

init,kernel启动时初始化的代码

ipc,进程间通信机制的代码

kernel,kernel本身的代码

lib,通用的库函数

mm,内存管理

net,网络协议栈,子目录存放各种网络协议

scripts,辅助对kernel进行配置编译的脚本

security,kernel安全机制相关的代码

sound,音频相关的代码

tools,工具相关

usr,kernel启动相关

virt,虚拟机相关

二、kernel的配置体系

Linux kernel的配置体系由三部分构成,分别是:

Makefile:分布在Linux内核源代码根目录及各层目录中,定义Linuxkernel的编译规则,依据.config中定义的CONFIG_xxxx=xxxxx确定xxx以何种方式编译进kernel。

Kconfig:配置选项的文件,各个子目录下的Kconfig定义了子目录的功能模块的配置选项。

配置工具:配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于Ncurses图形界面以及基于Xwindows图形界面的用户配置界面,各自对应于make config、make menuconfig和make xconfig)。通过对配置工具选项进行配置后生成配置文件.config,.config文件决定Kconfig中的配置项是否编译进入kernel。

1、工程Makefile的修改

ARCH?= arm

CROSS_COMPILE?= arm-linux-

2、配置文件.config文件的生成

A、默认配置文件的

你可能感兴趣的:(linux,嵌入式,ko,编译到内核)