查看: 310|回复: 0

[提问] iTOP-iMX6开发板-设备树内核-缺省文件文件的配置 [复制链接]

就是塔塔 (离线)
积分
1310
帖子
47
发表于 2019-7-11 11:28:15 |显示全部楼层

本文档主要讲解在iTOP-iMX6Q/D/PLUS 开发板的设备树内核(4.1.15)的缺省文件配置。

这里以 imx6q(imx6d 和 plus 的类似)的 qt 系统内核编译为例,Ubuntu16 的内核和

qt 通用,android6.0 的配置和 qt 的类似。

1 内核源码中默认缺省文件的位置

如下图所示,进入源码的“kernel_imx”目录,可以看到两个脚本

“build_android_kernel.sh”和“build_qt_kernel.sh”,分别用来编译 android 和 qt 的内

核和设备树,这部分在用户手册上有介绍,根据不同参数即可完成编译。

01.jpg

打开“build_qt_kernel.sh”文件,如下图所示,是脚本的一部分。

02.jpg

注意上图中的“make imx_v7_linux_defconfig”,这一句脚本是用来配置却文件的,这

是 linux 内核编译的一个默认用法,它表示内核的配置 config 文件,使用

“arch/arm/configs/”路径下一个叫“imx_v7_linux_defconfig”的缺省文件。如下图所

示,我们可以找到这个缺省文件。

03.jpg

另外还有 android 的缺省文件,使用命令“ls

arch/arm/configs/imx_v7_android_defconfig”,如下图所示。

04.jpg

2 配置缺省文件

知道了默认缺省文件之后,接下来我们来通过 menuconfig 修改缺省文件,检验到底对

不对。

启动开发板,如下图所示,可以看到有一个设备节点“/dev/leds_ctl”,这是 led 小灯的

设备节点。

05.jpg

我们现在要配置缺省文件,去掉这个驱动,让内核不能生成这个设备节点。首先,备份一

下默认的缺省文件,以免修改错误,使用命令“cp

arch/arm/configs/imx_v7_linux_defconfig imx_v7_linux_defconfig”

如下图所示,如果配置失败无法编译内核,可以用备份在 kernel_imx 路径下的

imx_v7_linux_defconfig 缺省文件覆盖掉 arch/arm/configs/路径下的

imx_v7_linux_defconfig 缺省文件。

06.jpg



接着配置配置需要使用.config 文件,如下图所示,使用命令“cp

arch/arm/configs/imx_v7_linux_defconfig .config”覆盖掉.config 文件。

07.jpg

启动 menuconfig,使用“export ARCH=arm”,然后使用“make menuconfig”命

令,进入 menuconfig 界面,如下图所示,一定要确保进入的是 arm 4.1.15 界面。

08.jpg

选择“Device Drivers->”->“Character devices->”,找到“Enable LEDS

config”,如下图所示。

09.jpg

敲回车,然后去掉 led 驱动的配置,如下图所示。

10.jpg

最后退出,保存修改,这样我们就得到新的.config 文件,选择 Yes。

11.jpg

使用新的.config 文件覆盖掉“arch/arm/configs”目录下的 imx_v7_linux_defconfig

文件,使用命令“cp -r .config arch/arm/configs/imx_v7_linux_defconfig”,如下图所

示。

12.jpg

最后编译执行“./build_qt_kernel.sh”脚本(其它版本核心板,需要传递参数,参考用

用户手册对应章节),编译 imx6q 的 qt 的内核,烧写到开发板。

会发现 led 的设备节点“/dev/leds_ctl”没有了,表明.config 和 menuconfig 以及缺省

文件使用方法正确。


您需要登录后才可以发表评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
回顶部