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-ccimx8x-sbc-pro.boot.vfat or similar on the ConnectCore 8X 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 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
      9906645   Image.gz-ccimx8x-sbc-pro.bin
       135527   ccimx8x-sbc-pro.dtb
          540   _ov_board_flexcan1_ccimx8x-sbc-pro.dtbo
          602   _ov_board_gpio-watchdog_ccimx8x-sbc-pro.dtbo
          964   _ov_board_hsd101pfw2-lvds_ccimx8x-sbc-pro.dtbo
          467   _ov_board_lpuart3_ccimx8x-sbc-pro.dtbo
         1529   _ov_board_lt8912-hdmi-dsi0_ccimx8x-sbc-pro.dtbo
         1497   _ov_board_lvds1_ccimx8x-sbc-pro.dtbo
          729   _ov_board_parallel-camera_ccimx8x-sbc-pro.dtbo
         1050   _ov_board_pcie-card_ccimx8x-sbc-pro.dtbo
         1132   _ov_board_pcie-modem_ccimx8x-sbc-pro.dtbo
          731   _ov_board_user-leds_ccimx8x-sbc-pro.dtbo
         1074   _ov_board_v1-v3_ccimx8x-sbc-pro.dtbo
          712   _ov_som_bt_ccimx8x.dtbo
          530   _ov_som_mca-keypad_ccimx8x.dtbo
         2791   _ov_som_quad_ccimx8x.dtbo
          808   _ov_som_wifi_ccimx8x.dtbo
         2490   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       9901398 Mar  1 01:54 Image.gz-ccimx8x-sbc-pro.bin
    -rwxr-xr-x    1 root     root           540 Mar  1 01:54 _ov_board_flexcan1_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root           602 Mar  1 01:54 _ov_board_gpio-watchdog_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root           964 Mar  1 01:54 _ov_board_hsd101pfw2-lvds_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root           467 Mar  1 01:54 _ov_board_lpuart3_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root          1529 Mar  1 01:54 _ov_board_lt8912-hdmi-dsi0_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root          1497 Mar  1 01:54 _ov_board_lvds1_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root           729 Mar  1 01:54 _ov_board_parallel-camera_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root          1050 Mar  1 01:54 _ov_board_pcie-card_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root          1132 Mar  1 01:54 _ov_board_pcie-modem_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root           731 Mar  1 01:54 _ov_board_user-leds_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root          1074 Mar  1 01:54 _ov_board_v1-v3_ccimx8x-sbc-pro.dtbo
    -rwxr-xr-x    1 root     root           712 Mar  1 01:54 _ov_som_bt_ccimx8x.dtbo
    -rwxr-xr-x    1 root     root           530 Mar  1 01:54 _ov_som_mca-keypad_ccimx8x.dtbo
    -rwxr-xr-x    1 root     root          2791 Mar  1 01:54 _ov_som_quad_ccimx8x.dtbo
    -rwxr-xr-x    1 root     root           808 Mar  1 01:54 _ov_som_wifi_ccimx8x.dtbo
    -rwxr-xr-x    1 root     root          2490 Mar  1 01:54 boot.scr
    -rwxr-xr-x    1 root     root        135527 Mar  1 01:54 ccimx8x-sbc-pro.dtb
  3. Copy the file you want to the target, for example via SSH:

    $ scp Image.gz root@<cc8x-ip>:/mnt/linux/Image.gz-ccimx8x-sbc-pro.bin