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:
-
Save the image file to your TFTP exposed folder.
-
Boot the target and press any key to stop the automatic U-Boot boot process.
-
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
-
Power on your target and press any key to stop automatic U-Boot boot process.
-
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
-
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.
-
Remount the linux partition with read/write permissions:
$ mount -o remount,rw /dev/mmcblk0p1 /mnt/linux
-
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
-
Copy the file you want to the target, for example via SSH:
$ scp zImage root@<cc6-ip>:/mnt/linux/zImage-ccimx6sbc.bin