9. 设备树的编译¶
9.1. 安装编译工具和依赖¶
编译设备树之前需要安装必要的环境工具。
1 | sudo apt install make gcc-arm-linux-gnueabihf gcc bison flex libssl-dev dpkg-dev lzop vim
|
9.2. 获取kernel¶
详细可参考“Linux内核的编译”章节的5.3小节获取内核源码,以下使用野火内核源码。
1 2 | #使用-b参数指定ebf_4.19.35_imx6ul分支,使用--depth指定拉取最新的10次提交
git clone -b ebf_4.19.35_imx6ul --depth=10 https://github.com/Embedfire/ebf_linux_kernel.git
|
其中eMMC和nand设备树源码分别为
emmc版本设备树:ebf_linux_kernel/arch/arm/boot/dts/imx6ull-mmc-npi-lite.dts
nand版本设备树:ebf_linux_kernel/arch/arm/boot/dts/imx6ull-nand-npi-lite.dts
9.3. 编译设备树¶
可以手动执行命令或者使用野火编写的make_lite.sh脚本进行编译,推荐使用make_lite.sh脚本。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #方法一:手动编译
#清除之前编译输出
make mrproper
#编译设备树
make ARCH=arm npi_v7_lite_defconfig
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs -j8
#方法二:使用编译便捷脚本 (推荐)
#查看脚本内容
cat ./make_lite.sh
#清除之前编译输出
./make_lite.sh cleanall
#单独编译设备树
./make_lite.sh dtbs
|
编译得到的设备树dtb文件在 arch/arm/boot/dts
目录下,设备树分为:
emmc版本:imx6ull-mmc-npi-lite.dtb
nand版本:imx6ull-mmc-npi-lite.dtb