ConnectCore i.MX6UL SBC: how do I change the device tree at boot?

Hi,

Background

I have the ConnectCore i.MX6UL SBC and am trying to boot using a new Device Tree .dtb file.

Currently, I see the following line during boot:
Loading file ‘zImage-imx6ul-ccimx6ulsbc-id135.dtb’ to addr 0x83000000…

I am used to booting from SD card where I can specify the .dtb file in the bootargs, but the NAND boot seems to pull the .dtb from the two .ubifs files (dey-image-qt-x11-ccimx6ulsbc.boot.ubifs and dey-image-qt-x11-ccimx6ulsbc.ubifs).

Questions

  1. Is the .dtb file incorporated into the .ubifs files?
  2. Can I boot with a different .dtb file without changing the .ubifs files?
  3. If I have to rebuild, where do I point to the new .dtb?
  4. Is there any specific Digi documentation on how the .ubifs files work?
  5. Is there any specific Digi documentation on how to edit/update Device Tree files?

Thanks!

2 Likes

ubifs file is actualy a ubifs partition, you can mount it and make changes to it from linux:
root@ccimx6ulstarter:~# mkdir /mnt/linux
root@ccimx6ulstarter:~# mount -t ubifs /dev/ubi0_0 /mnt/linux/
root@ccimx6ulstarter:~# ls /mnt/linux/ -l
-rw-rw-r-- 1 1000 1000 648 Sep 8 2016 boot.scr
-rw-rw-r-- 1 1000 1000 5939232 Sep 8 2016 zImage-ccimx6ulstarter.bin
-rw-r–r-- 1 1000 1000 29496 Sep 8 2016 zImage-imx6ul-ccimx6ulstarter-id129.dtb
-rw-r–r-- 1 1000 1000 29496 Sep 8 2016 zImage-imx6ul-ccimx6ulstarter-wb.dtb
-rw-r–r-- 1 1000 1000 28852 Sep 8 2016 zImage-imx6ul-ccimx6ulstarter.dtb

This is just if you want to make a quick test. To make permanent changes, you’d have to use Yocto properly

I can recommend a very good book on Yocto written by digi lead developer Alex Gonzales. You can order it here:
https://www.amazon.com/Embedded-Linux-Projects-Project-Cookbook/dp/1784395188