Flash Yocto Images from Network¶
Flashing a Complete Yocto System from Network Using TFTP and NFS¶
NOTES:
- Please make sure your host system is ready to use TFTP/NFS. Use our Wiki if required: Yocto Setup TFTP/NFS
- This is a concept Wiki. Please adapt it to your system and your requirements.
- Android and Debian can be flashed in the same way.
Build Minimal File System¶
To setup a build environment follow steps 1 and 3 of the Build Yocto from source code guide. Then, append the following to the conf/local.conf file in your Yocto build directory:
And build the image:
Create a root file system and copy files:
mkdir ~/flash_rootfs
sudo tar xf tmp/deploy/images/imx8qxp-var-som/core-image-minimal-imx8qxp-var-som*.tar.zst -C ~/flash_rootfs
sudo cp -a ~/flash_rootfs/boot/*.dtb /tftpboot
sudo cp ~/flash_rootfs/boot/Image.gz /tftpboot
Edit /etc/exports. For example:
And add the following line to it (replace <uname> with the actual username):
Restart the NFS server:
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 the board, stop the autoboot to get to the U-Boot command line, and set the following environment variables:
setenv serverip <your host ip address>
setenv nfsroot /home/<your username>/flash_rootfs
# If you want to set the fdt file yourself, instead of using the default auto detection:
setenv fdt_file <relevant device tree>
setenv bootcmd 'run netboot'
saveenv
boot
On the target flash your system:
A complete system is flashed into the SOM internal storage (NAND flash/eMMC). Once the file system is built you can use it again and again to flash your VAR-SOM-MX8X. You can update the images to use your images and/or customize install_yocto.sh to your requirements.