diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2018-12-16 10:37:46 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2019-03-06 13:44:33 +0100 |
commit | c73402f49cc0dd0e76cdea25db14ffebf3452104 (patch) | |
tree | c3ed70080b0d02e364a13940014df2cee31ad47f /recipes-images/images/files/colibri-vf/update/colibri-vf_bin/flash_eth.scr | |
parent | 4a9030893315b99967e83f06c815a5120101f44f (diff) |
image-fstype: rework files installation
This adds a new recipe tdx-updater which provides the files needed by
tdx-image-fstype.inc rather than copying them in a non OE way in
tdx-image-fstype.inc.
This required to restructure the layout in files. An additional update
directory is inserted. Also in each of the overrides directories a
symlink to library is created.
This now allows to build legacy update images with a custom machine
configuration if one adds the relevant machine override, e.g. for a
machine targeting a colibri-imx6 module:
MACHINEOVERRIDES .= ":colibri-imx6"
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'recipes-images/images/files/colibri-vf/update/colibri-vf_bin/flash_eth.scr')
-rw-r--r-- | recipes-images/images/files/colibri-vf/update/colibri-vf_bin/flash_eth.scr | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/recipes-images/images/files/colibri-vf/update/colibri-vf_bin/flash_eth.scr b/recipes-images/images/files/colibri-vf/update/colibri-vf_bin/flash_eth.scr new file mode 100644 index 0000000..b0e4904 --- /dev/null +++ b/recipes-images/images/files/colibri-vf/update/colibri-vf_bin/flash_eth.scr @@ -0,0 +1,28 @@ +setenv create_bcb 'nand erase.part vf-bcb && writebcb 0x20000 0x20000' +setenv update_configblock 'tftpboot ${fdt_addr_r} ${board_name}/configblock.bin && nand write ${fdt_addr_r} 0x800 ${filesize}' + +# Migrate to UBI volume based boot schema +setenv prepare_kernel_fdt 'ubi create kernel 0x800000 static && ubi create dtb 0x20000 static' +setenv prepare_rootfs 'ubi create rootfs 0 dynamic' +setenv prepare_ubi 'ubi part ubi && if ubi check rootfs; then if ubi check kernel; then else ubi remove rootfs && run prepare_kernel_fdt && run prepare_rootfs; fi; else run prepare_kernel_fdt && run prepare_rootfs; fi' + +setenv update_uboot 'tftpboot ${fdt_addr_r} ${board_name}/u-boot-nand.imx && nand erase.part u-boot && nand erase.part u-boot-env && nand write ${fdt_addr_r} u-boot' +setenv update_kernel 'tftpboot ${fdt_addr_r} ${board_name}/zImage && ubi write ${fdt_addr_r} kernel ${filesize}' +setenv update_fdt 'tftpboot ${fdt_addr_r} ${board_name}/${soc}-colibri-${fdt_board}.dtb && ubi write ${fdt_addr_r} dtb ${filesize}' +setenv update_rootfs 'tftpboot ${fdt_addr_r} ${board_name}/ubifs.img && ubi write ${fdt_addr_r} rootfs ${filesize}' + +setenv update_new 'run update_uboot; run prepare_ubi && run update_kernel && run update_fdt && run update_rootfs; reset' + +# Upgrade part 1, write new U-Boot, but with old ECC format still... +# Store config block temporarly in memory at kernel_addr_r. +setenv upgrade_part1 'run update_uboot && nand read ${kernel_addr_r} 0x800 0x20 && echo "${upgrade_part1_msg}"' +setenv upgrade_part1_msg 'Successfully updated U-Boot, NAND upgrade required. Enter "reset", interrupt boot process and enter "run setupdate; run upgrade_part2" to complete upgrade.' + +# Upgrade part 2, use new ECC format for the whole device... +setenv upgrade_part2 'run create_bcb && nand write ${kernel_addr_r} 0x800 0x20 && run update_uboot && nand erase.part ubi && run update_rootfs && echo ${upgrade_part2_msg}' +setenv upgrade_part2_msg 'Successfully upgraded module, enter "reset" to restart the module.' + +# fsl_nfc indicates old NAND format (24-bit ECC), start migration process +setenv update 'mtdparts default && if test "${mtdids}" = "nand0=fsl_nfc"; then; run upgrade_part1; else run update_new; fi' + +echo 'enter "run update" to update the entire module' |