更新Jetson TX2内核及dtb文件

        正在研究JetsonTX2,目的是开发一个图像采集模块。按照L4T的文档说明改写了板卡自带摄像头模块的dtsi文件,在板子上重编内核生成了Image文件和dts文件夹。到此为止一切顺利,然后按照文档说明更新内核和dtb之后,意想不到的问题发生了。文档介绍的更新内核方法,是将Image复制到板卡的/boot目录下覆盖同名文件,将dts文件夹中的dtb文件复制到/boot/dtb目录下覆盖同名文件,文档宣称重启板卡即可加载新内核。重启后用uname -a命令测试内核信息,发现正在运行的内核确实是刚才编译得到的,然而在/proc/device-tree/下却找不到自己开发的设备节点。
        首先怀疑是修改后的dtsi文件没有编译进dtb文件。用dtc工具从.dtb文件导出.dts文件,以文本编辑器查看.dts,发现修改的内容已经编译进去了。又对照文档检查了无数次操作步骤,确认操作无误。折腾很久无果,无奈放弃了在板卡上编译、更新的念头。在pc端重新编译了tx2的内核,将新内核和dtb文件拷贝到JetPack安装目录下存放内核镜像和dtb文件的位置,刷机、重启板卡,加到dtsi里的设备节点终于出现了!
PC端刷内核的命令为:
./flash.sh -k kernel jetson-tx2 mmcblk0p1
刷dtb文件的命令为:
./flash.sh -k kernel-dtb jetson-tx2 mmcblk0p1
        更新dtb文件似乎涉及到uboot,仅仅更新板卡上的/boot文件夹是不行的,必须要用pc刷机。

你可能感兴趣的:(C++,-,吹泡泡,LINUX,-,令你死)