The linux partition contains the following elements:

  • The kernel binary.

  • Several device tree blobs for each SOM and carrier board variant.

  • A U-Boot bootscript to boot the system.

    The main purpose of the bootscript is to select the appropriate device tree blob and overlays depending on the detected SOM variant and carrier board. This element is provided by the bootloader Digi Embedded Yocto recipe, not the kernel.

The linux partition is formatted in FAT file system.

Update files from U-Boot

To list the contents of the linux partition on MMC media, run ls mmc x:y in the U-Boot console where x is the device index (starting at 0) and y is the partition index (starting at 1). For example:

=> ls mmc 0:1
  5721120   zimage-ccimx6sbc.bin
    49226   zimage-imx6dl-ccimx6sbc.dtb
    49405   zimage-imx6dl-ccimx6sbc-w.dtb
    49492   zimage-imx6dl-ccimx6sbc-wb.dtb
    51877   zimage-imx6q-ccimx6sbc.dtb
    52052   zimage-imx6q-ccimx6sbc-w.dtb
    52139   zimage-imx6q-ccimx6sbc-wb.dtb
    52335   zimage-imx6q-ccimx6sbc-wb-ldo-bypass.dtb
    52073   zimage-imx6q-ccimx6sbc-id129.dtb
    52147   zimage-imx6q-ccimx6sbc-id130.dtb
    49474   zimage-imx6dl-ccimx6sbc-id131.dtb
     2336   boot.scr

12 file(s), 0 dir(s

To update the files from U-Boot console, run updatefile command. See Update files within partition.

Update files from Linux

The linux partition is automatically mounted to /mnt/linux, but as a read-only filesystem.

To list the contents of the linux partition:

~# ls -l /mnt/linux
-rwxr-xr-x    1 root     root          2628 Mar  1 06:19 boot.scr
-rwxr-xr-x    1 root     root         67938 Mar  1 06:19 imx6dl-ccimx6sbc-id131.dtb
-rwxr-xr-x    1 root     root         67823 Mar  1 06:19 imx6dl-ccimx6sbc-w.dtb
-rwxr-xr-x    1 root     root         67960 Mar  1 06:19 imx6dl-ccimx6sbc-wb.dtb
-rwxr-xr-x    1 root     root         67644 Mar  1 06:19 imx6dl-ccimx6sbc.dtb
-rwxr-xr-x    1 root     root         71640 Mar  1 06:19 imx6q-ccimx6sbc-id129.dtb
-rwxr-xr-x    1 root     root         71648 Mar  1 06:19 imx6q-ccimx6sbc-id130.dtb
-rwxr-xr-x    1 root     root         71503 Mar  1 06:19 imx6q-ccimx6sbc-w.dtb
-rwxr-xr-x    1 root     root         71836 Mar  1 06:19 imx6q-ccimx6sbc-wb-ldo-bypass.dtb
-rwxr-xr-x    1 root     root         71640 Mar  1 06:19 imx6q-ccimx6sbc-wb.dtb
-rwxr-xr-x    1 root     root         71328 Mar  1 06:19 imx6q-ccimx6sbc.dtb
-rwxr-xr-x    1 root     root       6910352 Mar  1 06:19 zImage-ccimx6sbc.bin

To update the files from user space, remount the linux partition with read/write permissions:

~$ mount -o remount,rw /dev/mmcblk0p1 /mnt/linux

From your development machine, you can now copy the files to the target via ssh. For example:

~$ scp zImage root@<cc6-ip>:/mnt/linux/zImage-ccimx6sbc.bin

When building from Digi Embedded Yocto, all the elements are packaged together in a single file:

  • dey-image-qt-xwayland-ccimx6sbc.boot.vfat or similar on the ConnectCore 6 SBC.

To update the entire linux partition from U-Boot console, save the image file to your TFTP server and use the update command in U-Boot:

=> update linux tftp <filename>