DART-6UL R2 Yocto Flash From Net

From Variscite Wiki
Revision as of 08:16, 7 June 2017 by Eran (talk | contribs)
Flash From Network Yocto system

Flashing a complete Yocto system from Network using tftp & nfs

NOTES:
  1. Please make sure your host system is ready to use TFTP/NFS. Use our WIKI if required. TFTP & NFS
  2. Mix and match the nand-recovery version with the system you would like to flash.
  3. This is a concept WIKI. Please adopt it to your system and your requirements.
  4. Android can be flashed in the same way.

Build mininal file system

$ gedit ../sources/poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb

Set the image to include: IMAGE_INSTALL += "mtd-utils imx-kobs mtd-utils-ubifs"
Build the system:

$ bitbake core-image-minimal-mtdutils

Create a root file system and copy files

$ mkdir ~/flash_rootfs
$ sudo tar xvf tmp/deploy/images/imx6ul-var-dart/core-image-minimal-mtdutils-imx6ul-var-dart.tar.bz2 -C ~/flash_rootfs
Linux:
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage  /tftpboot
Device Tree:
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ul-var-dart-emmc_wifi.dtb /tftpboot/imx6ul-var-dart-emmc_wifi.dtb
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ul-var-dart-nand_wifi.dtb /tftpboot/imx6ul-var-dart-nand_wifi.dtb
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ul-var-dart-sd_emmc.dtb /tftpboot/imx6ul-var-dart-sd_emmc.dtb
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ul-var-dart-sd_nand.dtb /tftpboot/imx6ul-var-dart-sd_nand.dtb
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ull-var-dart-emmc_wifi.dtb /tftpboot/imx6ull-var-dart-emmc_wifi.dtb
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ull-var-dart-nand_wifi.dtb /tftpboot/imx6ull-var-dart-nand_wifi.dtb
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ull-var-dart-sd_emmc.dtb /tftpboot/imx6ull-var-dart-sd_emmc.dtb
$ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage-imx6ull-var-dart-sd_nand.dtb /tftpboot/imx6ull-var-dart-sd_nand.dtb

Insert the recovery SD card into your host PC and copy the following files from it (assuming it is mounted at /media):

$ sudo cp -a /media/rootfs/opt/images ~/flash_rootfs/opt/
$ sudo cp  /media/rootfs/usr/bin/*.sh ~/flash_rootfs/usr/bin/

Boot into U-Boot and change environment variables

Select one:
=> setenv fdt_file imx6ul-var-dart-nand_wifi.dtb
=> setenv fdt_file imx6ul-var-dart-emmc_wifi.dtb
=> setenv fdt_file imx6ul-var-dart-sd_nand.dtb
=> setenv fdt_file imx6ul-var-dart-sd_emmc.dtb
=> setenv fdt_file imx6ull-var-dart-nand_wifi.dtb
=> setenv fdt_file imx6ull-var-dart-emmc_wifi.dtb
=> setenv fdt_file imx6ull-var-dart-sd_nand.dtb
=> setenv fdt_file imx6ull-var-dart-sd_emmc.dtb

=> setenv serverip 192.168.1.38
=> setenv image zImage

=> setenv nfsroot /home/<your username>/flash_rootfs
=> setenv console ttymxc0

=> setenv bootcmd 'run netboot'
=> saveenv
=> boot

TFTP & NFS detail
On the target flash your system:

$ install_yocto.sh

A complete system is flashed into the SOMs internal storage (NAND flash/eMMC).
Once the file system is built you can use it again and again to flash your DART-6UL.
You can update the images to use your own images or customize the install_yocto.sh script to your requirements.