iTOP-iMX6开发板-设备树内核-缺省文件文件的配置

2019年07月11日 11:28    发布者:就是塔塔
本文档主要讲解在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 的内核和设备树,这部分在用户手册上有介绍,根据不同参数即可完成编译。打开“build_qt_kernel.sh”文件,如下图所示,是脚本的一部分。注意上图中的“make imx_v7_linux_defconfig”,这一句脚本是用来配置却文件的,这是 linux 内核编译的一个默认用法,它表示内核的配置 config 文件,使用“arch/arm/configs/”路径下一个叫“imx_v7_linux_defconfig”的缺省文件。如下图所示,我们可以找到这个缺省文件。另外还有 android 的缺省文件,使用命令“lsarch/arm/configs/imx_v7_android_defconfig”,如下图所示。2 配置缺省文件知道了默认缺省文件之后,接下来我们来通过 menuconfig 修改缺省文件,检验到底对不对。启动开发板,如下图所示,可以看到有一个设备节点“/dev/leds_ctl”,这是 led 小灯的设备节点。我们现在要配置缺省文件,去掉这个驱动,让内核不能生成这个设备节点。首先,备份一下默认的缺省文件,以免修改错误,使用命令“cparch/arm/configs/imx_v7_linux_defconfig imx_v7_linux_defconfig”如下图所示,如果配置失败无法编译内核,可以用备份在 kernel_imx 路径下的imx_v7_linux_defconfig 缺省文件覆盖掉 arch/arm/configs/路径下的imx_v7_linux_defconfig 缺省文件。

接着配置配置需要使用.config 文件,如下图所示,使用命令“cparch/arm/configs/imx_v7_linux_defconfig .config”覆盖掉.config 文件。启动 menuconfig,使用“export ARCH=arm”,然后使用“make menuconfig”命令,进入 menuconfig 界面,如下图所示,一定要确保进入的是 arm 4.1.15 界面。选择“Device Drivers->”->“Character devices->”,找到“Enable LEDSconfig”,如下图所示。敲回车,然后去掉 led 驱动的配置,如下图所示。最后退出,保存修改,这样我们就得到新的.config 文件,选择 Yes。使用新的.config 文件覆盖掉“arch/arm/configs”目录下的 imx_v7_linux_defconfig文件,使用命令“cp -r .config arch/arm/configs/imx_v7_linux_defconfig”,如下图所示。最后编译执行“./build_qt_kernel.sh”脚本(其它版本核心板,需要传递参数,参考用用户手册对应章节),编译 imx6q 的 qt 的内核,烧写到开发板。会发现 led 的设备节点“/dev/leds_ctl”没有了,表明.config 和 menuconfig 以及缺省文件使用方法正确。

网友评论

就是塔塔 2019年09月16日
200539
岁月玉峰 2019年09月24日
看过内容学习了