差别
这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
digi:arm-embedded:ccmp2:customdt [2024/10/24 23:43] – [meta-digi中修改或创建uboot的安装脚本] robin | digi:arm-embedded:ccmp2:customdt [2025/03/31 09:48] (当前版本) – robin | ||
---|---|---|---|
行 5: | 行 5: | ||
一般设备树的编译是通过内核recipe来实现的,比如MP2目前是在: | 一般设备树的编译是通过内核recipe来实现的,比如MP2目前是在: | ||
- | https:// | + | https:// |
我们一般无需更改或做一个bbapend,更方便的方法是,先手动在devshell里编译出设备树,然后在meta-custom中用文件系统复制的方式,把测试过的设备树复制到文件系统该有的位置。并通过UBoot的启动脚本在启动时加载特定设备树文件,从而让嵌入式系统镜像使用该设备树。 | 我们一般无需更改或做一个bbapend,更方便的方法是,先手动在devshell里编译出设备树,然后在meta-custom中用文件系统复制的方式,把测试过的设备树复制到文件系统该有的位置。并通过UBoot的启动脚本在启动时加载特定设备树文件,从而让嵌入式系统镜像使用该设备树。 | ||
- | 一般地,编译完任一个基础镜像后,在~/deyaio/dey4.0/ | + | 一般地,编译完任一个基础镜像后,在/home/robin/deyaio/dey5.0/ |
- | 而源码则位于:~/ | + | 而源码则位于:~/ |
建议使用[[https:// | 建议使用[[https:// | ||
行 48: | 行 48: | ||
ls arch/ | ls arch/ | ||
然后编译 | 然后编译 | ||
+ | make clean dtbs | ||
make dtbs | make dtbs | ||
如果出错,有语法错误,及时修复再编译, | 如果出错,有语法错误,及时修复再编译, | ||
检查dtb是否已经生成 | 检查dtb是否已经生成 | ||
- | ls /home/rtu/deyaio/dey4.0/ | + | ls ~/deyaio/dey5.0/ |
目录内会有和设备树源码同文件名的dtb文件,就是我们编译好的设备树文件。 | 目录内会有和设备树源码同文件名的dtb文件,就是我们编译好的设备树文件。 | ||
</ | </ | ||
行 57: | 行 58: | ||
第五步:测试设备树文件 | 第五步:测试设备树文件 | ||
首先要把它拷贝出来,因为目录都比较深,所以可以用deyaio的publish.sh脚本,快速拷贝相关文件到release目录内。 | 首先要把它拷贝出来,因为目录都比较深,所以可以用deyaio的publish.sh脚本,快速拷贝相关文件到release目录内。 | ||
+ | |||
+ | 单独测试设备树,可以重新以可读写的方式mount一下linux分区 | ||
+ | < | ||
+ | mount -o remount,rw / | ||
+ | 再把设备树拷入到内核分区中 | ||
+ | </ | ||
+ | |||
第六步:编译boot.txt和install_linux_fw_sd.txt,在启动时加载自定义的设备树。 | 第六步:编译boot.txt和install_linux_fw_sd.txt,在启动时加载自定义的设备树。 | ||
行 80: | 行 88: | ||
</ | </ | ||
- | 最后编译:bitbake | + | 最后编译,应该用bitbakey -C compile |
+ | |||
+ | ===uboot设备树的编译=== | ||
+ | |||
+ | ===反查设备树=== | ||
+ | |||
+ | $ fiptool unpack < | ||
+ | Then decompile the extracted hw-config.bin | ||
+ | $ dtc -I dtb -O dts -o uboot.dts hw-config.bin | ||
+ | Finally inspect the DTS file | ||
+ | $ less uboot.dts | ||
+ | |||
+ | |||
- | 后记:上面installer_plc_fw_sd.scr的编译不成功,应该用bitbake -C compile virtual/ | ||
下面改用在meta-digi或meta-custom内实现。 | 下面改用在meta-digi或meta-custom内实现。 |