韦东山衔接班——3.1与3.2_linux内核启动流程分析之编译体验、配置

作者: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)意思就是引用这个值从而进行不同的编译)。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
也可去华为网盘下载! http://dl.dbank.com/c0f2x98c6n# 第1课 环境搭建及工具、概念介绍 第2课 GPIO实验 第3课 存储管理器实验 第4课 MMU实验 第5课 NAND FLASH控制器 第6课 中断控制器 第7课 系统时钟和UART实验 第8课 LCD实验 第9课第1节 u-boot分析编译体验 第9课第2节 u-boot分析之Makefile结构分析 第9课第3节 u-boot分析源码第1阶段 第9课第3节 u-boot分析源码第2阶段 第9课第4节 u-boot分析之u-boot命令实现 第9课第5节 u-boot分析_uboot启动内核 第10课第1节 内核启动流程分析编译体验 第10课第2节 内核启动流程分析配置 第10课第3节 内核启动流程分析之Makefile 第10课第4节 内核启动流程分析内核启动 第11课第1节 构建根文件系统之启动第1个程序 第11课第2节 构建根文件系统之init进程分析 第11课第3节 构建根文件系统之busybox 第11课第4节 构建根文件系统之构建根文件系统 第12课第1节 字符设备驱动程序之概念介绍 第12课第2.1节 字符设备驱动程序之LED驱动程序_编写编译 第12课第2.2节 字符设备驱动程序之LED驱动程序_测试改进 第12课第2.3节 字符设备驱动程序之LED驱动程序_操作LED 第12课第3节 字符设备驱动程序之查询方式的按键驱动程序 第12课第4.1节 字符设备驱动程序之中断方式的按键驱动_Linux异常处理结构 第12课第4.2节 字符设备驱动程序之中断方式的按键驱动_Linux中断处理结构 第12课第4.3节 字符设备驱动程序之中断方式的按键驱动_编写代码 第12课第5节 字符设备驱动程序之poll机制 第12课第6节 字符设备驱动程序之异步通知 第12课第7节 字符设备驱动程序之同步互斥阻塞

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值