Yocto Flash From Net: Difference between revisions

From Variscite Wiki
No edit summary
No edit summary
Line 40: Line 40:
Boot into U-Boot and change environment variables
Boot into U-Boot and change environment variables


  $ setenv serverip <your host ip address>
  => setenv serverip <your host ip address>
  $ setenv bootfile {{#var:KERNEL_IMAGE}}
  => setenv bootfile {{#var:KERNEL_IMAGE}}
  $ setenv fdt_file <relevant device tree>
  => setenv fdt_file <relevant device tree>
  $ setenv nfsroot /home/<your username>/flash_rootfs
  => setenv nfsroot /home/<your username>/flash_rootfs
  $ setenv console ttymxc0
  => setenv console ttymxc0


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


On the target flash your system:
On the target flash your system:

Revision as of 08:17, 7 June 2017

-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: Yocto Setup 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 minimal 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//core-image-minimal-mtdutils-.tar.bz2 -C ~/flash_rootfs
$ sudo cp tmp/deploy/images// /tftpboot
$ sudo cp tmp/deploy/images//-imx*.dtb /tftpboot/
$ sudo rename 's/-imx/imx/' /tftpboot/-*.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

=> setenv serverip <your host ip address>
=> setenv bootfile 
=> setenv fdt_file <relevant device tree>
=> setenv nfsroot /home/<your username>/flash_rootfs
=> setenv console ttymxc0
=> setenv bootcmd 'run netboot'
=> saveenv
=> boot

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 . You can update the images to use your images or custom install_yocto.sh to your requirements.