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-