This is a follow on regardng the issue of rebuilding DTB for IMX219 cameras with the latest L4T 32.4.3
We have a custom carrier board which supports RPi’s IMX219 and OV5647 sensors, working well on previous L4T versions. As the OS changes, we need to rebuild the kernel and DTB for the newer environment. We ran into several issues.
One of problems is to figure out the way to update the kernel and DTB on TX2. We are developing the DTS and driver C codes on a host PC running Ubuntu 18.04. There seems getting different results by flashing the Image and DTB using SDK Manager versus copy Image and flashing DTB only.
From the timestamps in /boot/, the files seem not all got updated by SDKM flashing. Here is the list:
tmx3@tmx3:/boot$ ll
total 56960
drwxr-xr-x 5 root root 4096 Aug 17 23:50 ./
drwxr-xr-x 22 root root 4096 Jul 28 15:33 …/
drwxr-xr-x 2 root root 4096 Jul 28 15:28 dtb/
drwxr-xr-x 2 root root 4096 Jul 28 15:34 extlinux/
drwxr-xr-x 2 root root 4096 Aug 17 23:50 grub/
-rw-r–r-- 1 root root 34330632 Jul 28 15:28 Image
-rw-r–r-- 1 root root 5565615 Jul 28 15:28 initrd
lrwxrwxrwx 1 root root 24 Aug 17 23:49 initrd.img → initrd.img-4.9.140-tegra
-rw-r–r-- 1 root root 15232206 Aug 17 23:50 initrd.img-4.9.140-tegra
-rw-r–r-- 1 root root 370903 Jun 25 21:38 tegra186-quill-p3310-1000-a00-00-base.dtb
-rw-r–r-- 1 root root 368634 Jun 25 21:38 tegra186-quill-p3310-1000-as-0888.dtb
-rw-r–r-- 1 root root 1010 Jun 25 21:38 tegra186-quill-p3310-1000-c03-00-base-adafruit-sph0645lm4h.dtbo
-rw-r–r-- 1 root root 371412 Jul 28 15:28 tegra186-quill-p3310-1000-c03-00-base.dtb
-rw-r–r-- 1 root root 2716 Jun 25 21:38 tegra186-quill-p3310-1000-c03-00-base-fe-pi-audio-z-v2.dtbo
-rw-r–r-- 1 root root 3381 Jun 25 21:38 tegra186-quill-p3310-1000-c03-00-base-hdr40.dtbo
-rw-r–r-- 1 root root 371432 Jun 25 21:38 tegra186-quill-p3310-1000-c03-00-dsi-hdmi-dp.dtb
-rw-r–r-- 1 root root 364294 Jun 25 21:38 tegra186-quill-p3489-0888-a00-00-base.dtb
-rw-r–r-- 1 root root 364388 Jun 25 21:38 tegra186-quill-p3489-1000-a00-00-ucm1.dtb
-rw-r–r-- 1 root root 364388 Jun 25 21:38 tegra186-quill-p3489-1000-a00-00-ucm2.dtb
-rw-r–r-- 1 root root 1010 Jun 25 21:38 tegra194-p2888-0001-p2822-0000-adafruit-sph0645lm4h.dtbo
-rw-r–r-- 1 root root 275957 Jun 25 21:38 tegra194-p2888-0001-p2822-0000.dtb
-rw-r–r-- 1 root root 2716 Jun 25 21:38 tegra194-p2888-0001-p2822-0000-fe-pi-audio-z-v2.dtbo
-rw-r–r-- 1 root root 3505 Jun 25 21:38 tegra194-p2888-0001-p2822-0000-hdr40.dtbo
-rw-r–r-- 1 root root 275994 Jun 25 21:38 tegra194-p2888-0001-p2822-0000-maxn.dtb
-rw-r–r-- 1 root root 1010 Jun 25 21:38 tegra194-p3668-all-p3509-0000-adafruit-sph0645lm4h.dtbo
-rw-r–r-- 1 root root 2716 Jun 25 21:38 tegra194-p3668-all-p3509-0000-fe-pi-audio-z-v2.dtbo
-rw-r–r-- 1 root root 3697 Jun 25 21:38 tegra194-p3668-all-p3509-0000-hdr40.dtbo
Notice that initrd.img link was created last near midnight, which was the time SDKM ran. However, the Image file stays at “July 28”.
My questions are:
- Does SDK Manager take the Image from the host and put it to /boot/Image? If not, where is the Image placed on TX2?
- As suggested by various sources online, can I directly copy the Image built on the host to TX2’s /boot/Image? If that’s the case, how the boot sequence load the Image?
- Do I need to do “sync” aferward?
- What about DTB? How the files relates the dtb under /boot?
I’ll report on DTB and kernel driver related coding issues on a separate topic.
Thanks in advance.