Part5:u-boot和2.6.22.6内核源码的打补丁、配置与编译(Part4文章请先忽略)

0 学习路线
请暂时忽略Part4文章,因为走偏了路线......(若是一节节讲解硬件(SPI/I2C等)编程,无疑枯燥且容易遗忘,
因此,计划先从宏观角度俯瞰整个学习体系,看下面路线安排)
学习路线安排:
1)站在宏观角度理解整个体系(体验)
	1)前面的Part1、part2、part3(掌握Ubuntu下的基本命令与初步了解s3c2440芯片基础硬件操作)
	2)Part5:u-boot和内核源码编译 + 构建根文件系统 + LED、按键驱动编写
	(备注:”根文件系统“实际站在内核和硬件角度,以俯瞰要学习的内核架构 + 驱动编写
	            两个简单驱动编写——体验驱动开发的流程,为后续学习各种驱动做好准备)
2)深入学习整个体系(核心):目标——硬件操作 +  软件架构
	根据(1)宏观理解了要学习的内容后,首先掌握各种驱动的编写,即“硬件操作”
	然后才进一步掌握Linux内核知识,即“软件架构”
3)项目实践
	基于1)和 2)做一些项目,以梳理总结前面知识。
4)拓展:包括 应用开发 + 嵌入式Android 等,先学习完前3部分再打算把。
1 u-boot的打补丁、配置与编译
	u-boot是什么呢?u-boot的功能?请看下图

u-boot功能
可见,u-boot只是bootloader中的常见一种,主要用于引导内核,当然还有其它一些辅助功能,方便开发。
OK,对u-boot有了初步认识后,开始我们的打补丁、配置与编译。
1)u-boot的打补丁如下:
u-boot打补丁
patch命令的选项-p1什么意思呢?看下图,补丁文件内容
patch -p1选项解释
2)u-boot的配置
为啥要配置呢?看下图(u-boot的Makefile文件中截取)
u-boot支持不同开发板的配置
可见,u-boot支持不同开发版的配置,故这里以s3c24x0类开发板示例
执行命令: make 100ask24x0_config 如下图所示
u-boot的配置
3) 编译
执行 make 即可
如下图所示,即表示编译成功

编译u-boot后成功截图
最后,只需把u-boot.bin烧写进开发板即可

2 2.6.22.6内核源码的打补丁、配置与编译

对于内核,其实跟上面u-boot的编译过程几乎一样,
唯一不同在于配置方式不同,内核源码使用make menuconfig 命令配置内核以更好应用在指定开发板。

1)内核源码的打补丁看下图

内核源码的打补丁图
2)内核源码的配置
有三种方式:
1)make menuconfig(不推荐,需从头到尾配置,太繁琐复杂)
2) 使用默认配置,并在上面修改后执行make xxx_config 再make menuconfig(个性化配置,前提u are a “老司机”)
3) 使用厂家提供的配置文件(<----推荐)

看下第2)个方式的配置,看下图
使用默认配置文件
接着,只需执行 make s3c2410_defconfig 即可(此操作的结果写道.config配置文件,包含后面的make menuconfig也是)
看下图,这里不修改了,使用默认配置的
make s3c2410_defconfig
接着,在默认配置是基础上,执行make menuconfig,再弹出的菜单中即可修改默认配置文件的一些选项和其它内核配置选项
弹出的菜单如下图所示,按提示勾选/取消即可
make menuconifg菜单
而如果使用厂家提供的配置文件,只需将厂家的文件覆盖.config即可,如下图
厂家配置文件覆盖.config
3)编译
执行make 即可,我编译后的结果图如下
源码编译后的结果

3 总结
不管是u-boot还是内核源码的编译,遵循的步骤是一致的。即
1) 打补丁: patch -px < 补丁文件 (x是数字)
2)配置: make  芯片型号_config 或  make  芯片信号_defconfig 再 make menuconifg
3)编译:make

参考教程:
韦东山老师的1_2衔接视频(免费),可访问http://www.100ask.org/index.html的资料下载
(备注:不打广告,只是尊重版权,知识付费:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值