The linux partition contains the following elements:
-
The kernel binary.
-
Device tree blobs and overlays.
-
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 9906645 Image.gz-ccimx8x-sbc-pro.bin 135527 ccimx8x-sbc-pro.dtb 540 _ov_board_flexcan1_ccimx8x-sbc-pro.dtbo 964 _ov_board_hsd101pfw2-lvds_ccimx8x-sbc-pro.dtbo 467 _ov_board_lpuart3_ccimx8x-sbc-pro.dtbo 1529 _ov_board_lt9812-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 17 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 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 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_lt9812-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
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 Image.gz root@<cc8x-ip>:/mnt/linux/Image.gz-ccimx8x-sbc-pro.bin
When building from Digi Embedded Yocto, all the elements are packaged together in a single file:
-
dey-image-qt-xwayland-ccimx8x-sbc-pro.boot.vfat or similar on the ConnectCore 8X SBC Pro.
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>