作者:GWD 时间:2019.8.25
一、课程内容:
概述:本节主要讲解了三种配置Linux内核的方法。
1、问:内核文件在哪里?
答:从网上下载
2、问:烧录内核给arm的流程?
答:1)、解压缩 2)、打补丁 3)、编译uImage然后烧写
二、linux内核打补丁
答:第一步:先解压文件:tar xjf linux-2.6.22.6.tar.bz2
第二步:打补丁,-P是忽略补丁文件前的几个斜杠,打到这里来,-p1是忽略linux-2.6.22.6这个目录,-p2是忽略掉arch这个目录,
cd linux-2.6.22.6/
patch -p1 < …/linux-2.6.22.6_100ask24x0.patch
三、配置内核(三种方式)
方法一:make menuconfig完全手动配置,太繁琐这里不讲;
方法二、三:使用默认的配置与使用厂家提供的内核:
1、查看提供了哪些参数可供配置 find -name “defconfig”
2、找到和单板型号匹配的CPU
4、返回到内核根目录后执行XXXX _defconfig;
5、要将config_ok这个保存到.config文件中,为了下一步的生成make menuconfig的菜单项
6、输入make menuconfig命令,读取.config文件,出现配置界面
7、配置完成后ESC退出菜单,然后执行make uImage生成内核文件。
8、测试内核文件是否正确
首先擦除掉原来的内核文件
启动会卡死
烧录完成后,重启测试
四、小结
第二节:内核启动流程分析之配置
一、看一下.config中有什么,配置就是生产了.config文件,以DM9000为例
1、搜索内核中哪些文件用到了CONFIG_DM9000
2、配置过程中在源码中自动生成了autoconfig.h文件,且把CONFIG_DM9000宏定义为1,被顶层头文件包含。
定义成Y会编译到内核,M会编译成一个模块
例如若CONFIG_M9000被定义为m/y则执行不同的操作
3、小结:Make uImage时候.config生成一个autoconfig.h(源代码使用)和auto.conf(顶层makefile包含,被子目录下的makefile使用,上图中$(CONFIG_DM9000)意思就是引用这个值从而进行不同的编译)。