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 9901321 Image.gz-ccimx8mn-dvk.bin 66645 ccimx8mn-dvk.dtb 858 _ov_board_lvds_ccimx8m-dvk.dtbo 731 _ov_board_user-leds_ccimx8m-dvk.dtbo 1783 _ov_board_v1-v2_ccimx8mn-dvk.dtbo 710 _ov_som_bt_ccimx8m.dtbo 656 _ov_som_mca-keypad_ccimx8m.dtbo 2146 _ov_som_v1_ccimx8mn.dtbo 605 _ov_som_wifi_ccimx8m.dtbo 2112 boot.scr 10 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 9901321 Feb 28 20:25 Image.gz-ccimx8mn-dvk.bin -rwxr-xr-x 1 root root 858 Feb 28 20:25 _ov_board_lvds_ccimx8m-dvk.dtbo -rwxr-xr-x 1 root root 731 Feb 28 20:25 _ov_board_user-leds_ccimx8m-dvk.dtbo -rwxr-xr-x 1 root root 1783 Feb 28 20:25 _ov_board_v1-v2_ccimx8mn-dvk.dtbo -rwxr-xr-x 1 root root 710 Feb 28 20:25 _ov_som_bt_ccimx8m.dtbo -rwxr-xr-x 1 root root 656 Feb 28 20:25 _ov_som_mca-keypad_ccimx8m.dtbo -rwxr-xr-x 1 root root 2146 Feb 28 20:25 _ov_som_v1_ccimx8mn.dtbo -rwxr-xr-x 1 root root 605 Feb 28 20:25 _ov_som_wifi_ccimx8m.dtbo -rwxr-xr-x 1 root root 2112 Feb 28 20:25 boot.scr -rwxr-xr-x 1 root root 66645 Feb 28 20:25 ccimx8mn-dvk.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@<cc8mnano-ip>:/mnt/linux/Image.gz-ccimx8mn-dvk.bin
When building from Digi Embedded Yocto, all the elements are packaged together in a single file:
-
dey-image-qt-xwayland-ccimx8mn-dvk.boot.vfat or similar on the ConnectCore 8M Nano Development Kit.
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>