8. 设备树的编译¶
在OpenWrt工程中,我们无需手动编译设备树,在OpenWrt的构建过程中会自动编译。
为了让大家对设备树的构建构建过程有一个初步的了解,仍然添加了手动构建的部分,以下内容与OpenWrt构建过程无关。
8.1. 下载安装编译镜像系统(如果没有编译环境)¶
使用平台:Ubuntu 18.04 LTS 版本
可以使用我们提供的虚拟机镜像 https://doc.embedfire.com/products/link/zh/latest/linux/ebf_i.mx6ull.html#id4
也可以自己下载ubuntu 18.04 LTS官方镜像搭建 https://mirrors.aliyun.com/ubuntu-releases/bionic
8.2. 安装编译工具和依赖¶
编译设备树之前需要安装必要的环境工具。
1 | sudo apt install make gcc-arm-linux-gnueabihf gcc bison flex libssl-dev dpkg-dev lzop vim
|
8.3. 获取kernel¶
这里以我们板子的OP-kernel源码演示
1 | git clone -b ebf_4.19.35_imx6ul http://gitlab.ebf.local/openwrt/gateway/ebf_gateway_linux_kernel.git
|
8.4. 编译设备树¶
在编写完设备树后,假设取名为(mmc:imx6ull-mmc-npi.dts nand:imx6ull-nand-npi.dts)
在./ebf_linux_kernel/arch/arm/boot/dts/Makefile文件中添加
1 2 | imx6ull-mmc-npi.dtb \
imx6ull-nand-npi.dtb \
|
再执行如下命令全部编译
1 | make dtbs ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
|
或者使用如下命令进行单独编译
1 | make imx6ull-mmc-npi.dtb ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
|