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:

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

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 FAT file system.

Update files from U-Boot

  1. Power on your target and press any key to stop automatic U-Boot boot process.

  2. List the contents of the linux partition:

    => 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
  3. Run the updatefile command to update a file from the U-Boot console, for example via TFTP:

    => updatefile linux tftp <filename>

See Update files within partition, for additional information.

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/mmcblk0p1 /mnt/linux
  2. 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
  3. Copy the file you want to the target, for example via SSH:

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