Yocto Flash From Net: Difference between revisions
From Variscite Wiki
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
== Build minimal file system== | == Build minimal file system== | ||
{{#ifeq: {{#var:SOC_SERIES}} | imx8 | | |||
<pre> | |||
$ bitbake core-image-minimal | |||
</pre> | |||
| | |||
<pre> | |||
$ gedit ../sources/poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb | $ gedit ../sources/poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb | ||
</pre> | |||
Set the image to include: | Set the image to include: | ||
IMAGE_INSTALL += "mtd-utils imx-kobs mtd-utils-ubifs"<br> | IMAGE_INSTALL += "mtd-utils imx-kobs mtd-utils-ubifs"<br> | ||
Build the system: | Build the system: | ||
$ bitbake core-image-minimal-mtdutils | $ bitbake core-image-minimal-mtdutils | ||
}} | |||
Create a root file system and copy files: | Create a root file system and copy files: | ||
{{#ifeq: {{#var:SOC_SERIES}} | imx8 | | {{#ifeq: {{#var:SOC_SERIES}} | imx8 | | ||
<pre> | |||
$ mkdir ~/flash_rootfs | $ mkdir ~/flash_rootfs | ||
$ sudo tar xvf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal | $ sudo tar xvf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal-{{#var:MACHINE_NAME}}.tar.gz -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 | ||
</pre> | |||
| | | | ||
<pre> | |||
$ mkdir ~/flash_rootfs | $ mkdir ~/flash_rootfs | ||
$ sudo tar xvf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal-mtdutils-{{#var:MACHINE_NAME}}.tar.bz2 -C ~/flash_rootfs | $ sudo tar xvf tmp/deploy/images/{{#var:MACHINE_NAME}}/core-image-minimal-mtdutils-{{#var:MACHINE_NAME}}.tar.bz2 -C ~/flash_rootfs | ||
Line 31: | Line 41: | ||
$ 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 | ||
$ sudo rename 's/{{#var:KERNEL_IMAGE}}-imx/imx/' /tftpboot/{{#var:KERNEL_IMAGE}}-*.dtb | $ sudo rename 's/{{#var:KERNEL_IMAGE}}-imx/imx/' /tftpboot/{{#var:KERNEL_IMAGE}}-*.dtb | ||
</pre> | |||
}} | }} | ||
Revision as of 09:05, 5 May 2020
- Flash Yocto images from network
Flashing a complete Yocto system from Network using TFTP & 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 adopt it to your system and your requirements.
- 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/{{#var:MACHINE_NAME}}/core-image-minimal-mtdutils-{{#var:MACHINE_NAME}}.tar.bz2 -C ~/flash_rootfs $ sudo cp tmp/deploy/images/{{#var:MACHINE_NAME}}/{{#var:KERNEL_IMAGE}} /tftpboot $ for f in tmp/deploy/images/{{#var:MACHINE_NAME}}/*.dtb; do if [[ -L $f ]] && [[ $f != *{{#var:MACHINE_NAME}}.dtb ]]; then sudo cp $f /tftpboot/; fi done $ sudo rename 's/{{#var:KERNEL_IMAGE}}-imx/imx/' /tftpboot/{{#var:KERNEL_IMAGE}}-*.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 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 .
You can update the images to use your images and/or customize install_yocto.sh to your requirements.