VAR-SOM-MX6 Yocto NAND Recovery V50plus
Variscite provides a recovery SD card image that can be used to install the pre-built U-Boot, Linux kernel and the UBI file system into the NAND-Flash This SD card image includes a script (nand-recovery.sh) that installs all the boot images and root file-system.
Preparing a rescue SD card
You can either use our pre-built SD image, or our script to create your SD card from Yocto.
Main differences are:
The pre-built SD image also contains Android recovery, in addition to the Yocto recovery options.
Naturally, the pre-built image is more straight forward and easier to use, while the script method is easier to customize.
The pre-built image's rootfs partition size is 3700MiB, which is also the default size when using the script, but the script also has an option to set the rootfs partition size to fill the whole free space of the used SD card. Anyway, you can always resize the partition later with an external tool such as gparted.
Using a pre-built SD image
- Download mx6-som-nand-recovery-sd.vXX.img.gz (latest which is available on Variscite's FTP)
- Plug-in the SD card to your Linux HOST PC, run dmesg and see which device is added (i.e. /dev/sdX or /dev/mmcblkX)
$ gunzip mx6-som-nand-recovery-sd.XX.img.gz $ sudo dd if=mx6-som-nand-recovery-sd.vXX.img of=/dev/sdX bs=128k (Replace /dev/sdX with your actual device)
Creating it from Yocto
- Follow the VAR-SOM-MX6_Yocto_Fido_R3_Build_Yocto_release guide and bitbake both fsl-image-qt5-minimal (used for the Yocto-NAND installation) and fsl-image-qt5 (used for the Yocto-eMMC installation and for the SD card itself).
- Plug-in the SD card to your Linux HOST PC, run dmesg and see which device is added (i.e. /dev/sdX or /dev/mmcblkX)
cd ~/var-som-mx6-yocto-fido/build_x11 sudo ../sources/meta-variscite-mx6/scripts/var_mk_yocto_sdcard/var-create-yocto-sdcard.sh <options> /dev/sdX (Replace /dev/sdX with your actual device)
options: -h Display help message -s Only show partition sizes to be written, without actually write them -a Automatically set the rootfs partition size to fill the SD card If you don't use the '-a' option, a default rootfs size of 3700MiB will be used
Recover NAND Flash
- Power-off the board.
- Insert the SD card into the SD/MMC slot of the carrier board (DVK)
- Press and hold the boot-select button, and power-on the board while button is pressed
- The board will automatically boot into Linux from SD card
Flash from GUI
- Click on the right arrowhead on the upper right corner to change the desktop into Utilities.
- Push Android-eMMC to flash Android into eMMC.
- Push Yocto-NAND to flash Yocto into NAND.
- Push Yocto-eMMC to flash Yocto into eMMC.
Flash from command line
- Login as root (no password)
- From Linux command line, type one of flash options
$ android-emmc.sh - Flash Android into eMMC $ yocto-emmc.sh - Flash Yocto into eMMC $ yocto-nand.sh - Flash Yocto into NAND
SD card image file tree
/media/rootfs/opt/images/ ├── Android │ └── Emmc │ ├── SPL │ ├── SPL.mmc │ ├── boot-imx6q-var-dart.img │ ├── boot-som-mx6dl-c.img │ ├── boot-som-mx6dl-r.img │ ├── boot-som-mx6q-c.img │ ├── boot-som-mx6q-r.img │ ├── boot-som-mx6q-vsc.img │ ├── boot-som-solo-c.img │ ├── boot-som-solo-r.img │ ├── boot-som-solo-vsc.img │ ├── boot.img │ ├── recovery-imx6q-var-dart.img │ ├── recovery-som-mx6dl-c.img │ ├── recovery-som-mx6dl-r.img │ ├── recovery-som-mx6q-c.img │ ├── recovery-som-mx6q-r.img │ ├── recovery-som-mx6q-vsc.img │ ├── recovery-som-solo-c.img │ ├── recovery-som-solo-r.img │ ├── recovery-som-solo-vsc.img │ ├── recovery.img │ ├── system.img │ ├── u-boot-var-imx6-nand.img │ └── u-boot-var-imx6-sd.img └── Yocto ├── SPL ├── SPL.mmc ├── rootfs.tar.bz2 ├── rootfs.ubi.img ├── u-boot.img ├── u-boot.img.mmc ├── uImage ├── uImage-imx6dl-var-som-solo-vsc.dtb ├── uImage-imx6dl-var-som-solo.dtb ├── uImage-imx6dl-var-som.dtb ├── uImage-imx6q-var-dart.dtb ├── uImage-imx6q-var-som-vsc.dtb └── uImage-imx6q-var-som.dtb
Script files located on /media/rootfs/sbin/: nand-recovery.sh mkmmc_yocto.sh yocto-dart.sh yocto-emmc.sh yocto-nand.sh mkmmc_android.sh android-emmc.sh