Yocto Flash From Net: Difference between revisions
Line 32: | Line 32: | ||
<br> | <br> | ||
$ mkdir ~/flash_rootfs | $ mkdir ~/flash_rootfs | ||
$ sudo tar xf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal-{{#var:MACHINE_NAME}}.{{#ROOTFS_COMP_TARBALL_EXT}} -C ~/flash_rootfs | $ sudo tar xf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal-{{#var:MACHINE_NAME}}.{{#var:ROOTFS_COMP_TARBALL_EXT}} -C ~/flash_rootfs | ||
$ sudo cp -a ~/flash_rootfs/boot/*.dtb /tftpboot | $ sudo cp -a ~/flash_rootfs/boot/*.dtb /tftpboot | ||
$ sudo cp ~/flash_rootfs/boot/{{#var:KERNEL_IMAGE}} /tftpboot | $ sudo cp ~/flash_rootfs/boot/{{#var:KERNEL_IMAGE}} /tftpboot | ||
Line 38: | Line 38: | ||
<br> | <br> | ||
$ mkdir ~/flash_rootfs | $ mkdir ~/flash_rootfs | ||
$ sudo tar xf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal-{{#var:MACHINE_NAME}}.{{#ROOTFS_COMP_TARBALL_EXT}} -C ~/flash_rootfs | $ sudo tar xf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal-{{#var:MACHINE_NAME}}.{{#var:ROOTFS_COMP_TARBALL_EXT}} -C ~/flash_rootfs | ||
$ sudo cp tmp/deploy/images/{{#var:MACHINE_NAME}}/{{#var:KERNEL_IMAGE}} /tftpboot | $ sudo cp tmp/deploy/images/{{#var:MACHINE_NAME}}/{{#var:KERNEL_IMAGE}} /tftpboot | ||
$ for f in tmp/deploy/images/{{#var:MACHINE_NAME}}/*.dtb; do if <nowiki>[[ -L $f ]] && [[</nowiki> $f != *{{#var:MACHINE_NAME}}.dtb <nowiki>]]</nowiki>; then sudo cp $f /tftpboot/; fi done | $ for f in tmp/deploy/images/{{#var:MACHINE_NAME}}/*.dtb; do if <nowiki>[[ -L $f ]] && [[</nowiki> $f != *{{#var:MACHINE_NAME}}.dtb <nowiki>]]</nowiki>; then sudo cp $f /tftpboot/; fi done |
Revision as of 12:50, 15 July 2024
This page is using the default release RELEASE_MORTY_V1.0_DART-6UL.
To view this page for a specific Variscite SoM and software release, please follow these steps:
- Visit variwiki.com
- Select your SoM
- Select the software release
Flashing a complete Yocto system from Network using TFTP & NFS
- 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 & 3 of the Build Yocto from source code guide.
Then, append the following to the conf/local.conf file in your Yocto build directory:
IMAGE_INSTALL_append = " bash e2fsprogs-mke2fs tar mtd-utils imx-kobs mtd-utils-ubifs"
And build the image:
$ bitbake core-image-minimal
Create a root file system and copy files:
$ mkdir ~/flash_rootfs $ sudo tar xf tmp/deploy/images/imx6ul-var-dart/core-image-minimal-imx6ul-var-dart. -C ~/flash_rootfs $ sudo cp tmp/deploy/images/imx6ul-var-dart/zImage /tftpboot $ for f in tmp/deploy/images/imx6ul-var-dart/*.dtb; do if [[ -L $f ]] && [[ $f != *imx6ul-var-dart.dtb ]]; then sudo cp $f /tftpboot/; fi done $ sudo rename 's/zImage-imx/imx/' /tftpboot/zImage-*.dtb
Edit /etc/exports. E.g.
$ sudo gedit /etc/exports
...and add the following line to it (replace <uname> with the actual username):
/home/<uname>/flash_rootfs *(rw,sync,no_root_squash,no_all_squash,no_subtree_check)
Restart the NFS server:
$ sudo /etc/init.d/nfs-kernel-server restart
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:
# 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 images and/or customize install_yocto.sh to your requirements.