独立编译设备树
如果没有修改内核源码或者 menuconfig 配置菜单,则不需要重新编译内核。只需要将
修改的设备树文件,重新编译一下。
vmuser@Linux-host:~/A7-kernel/linux-src$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- dtbs
只有设备树源文件 dts 的内容被修改,时间戳与 dtb 不一致(或者 dtb 不存在)的情况
下,才会重新编译 dts,生成 dtb 文件。
在线更新 dtb 和内核
更新 dtb 以及内核,可以使用 nandwrite 命令,该命令也已经打包在 EPC-6G2C-L 的出
厂默认固件中。使用时,要将待烧写的 dtb 以及 zImage 文件复制到 EPC-6G2C-L 的 Linux
系统的某个目录下(本文示例为/opt),然后擦除掉对应分区中的旧固件,再分别使用
nandwrite 命令将新的固件写到对应的分区中。参考命令如下所示:
[root@EPC-M6G2C ~]# ls /opt/
imx6g2c.dtb
zImage
logo.bmp
# 待烧写的新固件
[root@EPC-M6G2C ~]# flash_erase /dev/mtd1 0 0
# 擦除 dtb 分区
Erasing 128 Kibyte @ e0000 -- 100 % complete
[root@EPC-M6G2C ~]# nandwrite -p /dev/mtd1 -p /opt/imx6g2c.dtb
# 写入新的 dtb
Writing data to block 0 at offset 0x0