This topic shows how to deploy a customized kernel and/or device tree to your target device.

After customizing the kernel source code, you may either have built a full Digi Embedded Yocto image recipe or just the kernel recipe.

Program image files (full partition update)

If you built a full image recipe (dey-image-qt, for example), Digi Embedded Yocto generates an image file for the linux partition, such as:

  • core-image-base-ccimx6ulstarter.boot.ubifs or similar on the ConnectCore 6UL SBC Express.

  • dey-image-qt-x11-ccimx6ulsbc.boot.ubifs or similar on the ConnectCore 6UL SBC Pro.

The most straightforward way to program image files is from U-Boot console, using the update command. For example, to program via Ethernet:

  1. Save the image file to your TFTP exposed folder.

  2. Boot the target and press any key to stop the automatic U-Boot boot process.

  3. Run the update command to update the entire linux partition:

    => update linux tftp <image-filename>

See Program firmware from U-Boot for additional information on updating from U-Boot.

Program single files

If you built only the kernel recipe, you can find the kernel binary and device tree blobs in the tmp/deploy/images/ folder of your project. You can deploy these single files to your linux partition, which is formatted in UBIFS file system.

Update files from Linux

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

  1. Remount the linux partition with read/write permissions:

    $ mount -o remount,rw /dev/ubi0_0 /mnt/linux
  2. List the contents of the linux partition:

    # ls /mnt/linux/ -l
    -rw-r--r--    1 1000     1000          1177 Jan 13 06:20 boot.scr
    -rw-r--r--    1 1000     1000         54919 Jan 13 06:16 imx6ul-ccimx6ulsbc-id135.dtb
    -rw-r--r--    1 1000     1000         54919 Jan 13 06:16 imx6ul-ccimx6ulsbc-id136.dtb
    -rw-r--r--    1 1000     1000         54919 Jan 13 06:16 imx6ul-ccimx6ulsbc-wb.dtb
    -rw-r--r--    1 1000     1000         52555 Jan 13 06:16 imx6ul-ccimx6ulsbc.dtb
    -rw-r--r--    1 1000     1000       6923328 Jan 13 06:16 zImage-ccimx6ulsbc.bin
  3. Copy the file you want to the target, for example via SSH:

    $ scp zImage root@<cc6ul-ip>:/mnt/linux/zImage-ccimx6ulsbc.bin