【北京迅为】iTOP-4412全能版使用手册-第十一章 设备树Linux系统编译
iTOP-4412全能版采用四核Cortex-A9,主频为1.4GHz-1.6GHz,配备S5M8767 电源管理,集成USB HUB,选用高品质板对板连接器稳定可靠,大厂生产,做工精良。接口一应俱全,开发更简单,搭载全网通4G、支持WIFI、蓝牙、陀螺仪、CAN总线、RS485总线、500万摄像头等模块,稳定运行Android 4.0.3/Android 4.4操作,系统通用Linux-3.0.15+Qt操作系统(QT支持5.7版本),Ubuntu版本:12.04,接口智能分配 方便好用。
第十一章 设备树Linux系统编译
SCP版本的Linux源码和交叉编译器在“iTOP4412开发板资料汇总(不含光盘内容)\4412-设备树资料-20200616\scp\源码”下的itop4412_kernel_4_14_2_bsp_SCP-20200616.tar.gz内(日期可能不同)。
POP版本的Linux源码和交叉编译器在“iTOP4412开发板资料汇总(不含光盘内容)\4412-设备树资料-20200616\pop\源码”下的itop4412_kernel_4_14_2_bsp_POP-20200616.tar.gz内(日期可能不同)。
11.1 交叉编译环境
编译设备树源码需要Ubuntu14.04或Ubuntu16,搭建好的Ubuntu 14.04在网盘“iTOP4412 开发板资料汇总(不含光盘内容)\iTOP-4412 开发板搭建编译环境所需要的工具包以及补丁包\08-Android5.1 开发工具包\01-Ubuntu14.04 镜像”目录下。安装方法参考用户使用手册 3.2 小节,和Ubuntu16.04 版本安装方法一样。
编译设备树Linux系统可以使用我们搭建好的Ubuntu14.04或Ubuntu16.04虚拟机。QtCreator需要Ubuntu16环境,为了使用Qt5.7的用户开发方便,我们提供了搭建好的Ubuntu 16.04。
安装设备树编译器:apt-get install device-tree-compiler
我们将下载的源码包 itop4412_kernel_4_14_2_bsp_SCP-20200403.tar.gz 拷贝到Ubuntu上,
然后输入命令“tar -vxf itop4412_kernel_4_14_2_bsp_SCP-20200403.tar.gz” 解压压缩包,
作者拷贝的路径是/home/topeet/driver/4412, 如下图所示:
拷贝交叉编译器 gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz 到 Ubuntu“/usr/local/arm/” 目录下, 然后输入命令“tar -vxf gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12.tar.gz ” 解压压缩包, 如下图所示解压完成后如下图所示:
11.2编译源码
整体编译
进入itop4412_kernel_4_14_2_bsp目录,然后运行该目录下的编译脚本: ./build_all.sh ,开始编译uboot、 kernel 和设备树,如下图:
完成后编译出uboot和内核的镜像,以及设备树(DTB)文件
Uboot镜像路径:u-boot-2017.11/u-boot/u-boot-iTOP-4412.bin
内核镜像路径:linux-4.14.2_iTop-4412_scp/arch/arm/boot/uImage
设备树镜像路径:linux-4.14.2_iTop-4412_scp/arch/arm/boot/dts/exynos4412-itop-elite.dtb
编译完成后即可参照“6.5 OTG烧写设备树系统”烧写章节将镜像烧写到开发板。
单独编译U-boot和Kernel镜像
进入u-boot-2017.11/u-boot/目录下,执行 ./build.sh 脚本单独编译 uboot;
进入linux-4.14.2_iTop-4412_scp 目录下,执行./build_kernel.sh 脚本单独编译内核和设备树
11.3配置menuconfig
以SCP开发板为例,arch/arm/configs/iTop-4412_scp_defconfig 是默认的编译配置文件, 如果修改内核配置文件,需要覆盖掉 iTop-4412_scp_defconfig才能修改成功。
进入内核源码目录,cd linux-4.14.2_iTop-4412_scp/
拷贝内核配置文件,cp arch/arm/configs/iTop-4412_scp_defconfig .config
执行配置菜单命令,make menuconfig
我们在图形化界面配置完驱动后,我们将系统默认配置文件arch/arm/configs/iTop-4412_scp_defconfig 备份为arch/arm/configs/iTop-4412_scp_defconfigbak,执行命令:
cp arch/arm/configs/iTop-4412_scp_defconfig arch/arm/configs/iTop-4412_scp_defconfigbak
图形化界面配置完驱动后会生成新的.config,将根目录上配置好的.config 覆盖原来的配置文件 arch/arm/configs/iTop-4412_scp_defconfig,执行如下命令:
cp .config arch/arm/configs/iTop-4412_scp_defconfig
如下图:
完成后即可生成arch/arm/boot/uImage内核镜像和arch/arm/boot/dts/exynos4412-itop-elite.dtb设备树镜像。
11.4文件系统
文件系统可使用最小linux文件系统,QtE4.7文件系统,Qt5.7文件系统。
编译好的最小linux文件系统路径:iTOP4412开发板资料汇总(不含光盘内容)\iTOP-4412开发板系统源码及镜像(其他)\最小Linux文件系统\systemimg.tar.gz,拷贝到Ubuntu系统下解压得到可烧写的镜像system.img
编译好的QtE4.7文件系统路径:iTOP4412开发板资料汇总(不含光盘内容)\iTOP-4412开发板系统源码及镜像(其他)\QtE4.7根文件系统升级目录\system.img
编译好的Qt5.7文件系统路径:iTOP4412开发板资料汇总(不含光盘内容)\iTOP-4412开发板系统源码及镜像(其他)\QtE5.7移植资料\QtE5.7系统升级目录\20180511\system.img
参考“6.5 OTG烧写设备树系统”章节进行烧写。