Skip to content
Snippets Groups Projects

airoha: update u-boot script to zero art/boarddata on production image expansion during first boot

Merged Mikhail Kshevetskiy requested to merge mkshevetskiy-production-cleanup into devel
1 file
+ 31
1
Compare changes
  • Side-by-side
  • Inline
+ 31
1
@@ -36,8 +36,38 @@ setenv __script_emmc_write_gpt '
@@ -36,8 +36,38 @@ setenv __script_emmc_write_gpt '
env delete gpt_entry_start gpt_alt_start fileaddr filesize tmp;
env delete gpt_entry_start gpt_alt_start fileaddr filesize tmp;
run do_report_result;
run do_report_result;
';
';
 
setenv __script_emmc_clear_part '
 
test $? -eq 0 && part size mmc 0 ${part_name} part_size;
 
test $? -eq 0 && setexpr mw_size ${part_size} * 0x80;
 
test $? -eq 0 && mw.l ${loadaddr} 0 ${mw_size};
 
test $? -eq 0 && write mmc 0#${part_name} ${loadaddr} 0 ${part_size};
 
env set result $?;
 
echo;
 
echo -n "Clear partition ${part_name} -- ";
 
env delete part_name part_size mw_size;
 
run do_report_result;
 
';
 
# This command by design should delete all environment variables added by
 
# this script during its sourcing. All variables, including this one...
 
setenv __script_cleanup_env '
 
echo Cleanup...;
 
env delete __script_get_sysupgrade_cfg_name __script_emmc_write_gpt __script_emmc_clear_part;
 
env delete __script_emmc_write_sysupgrade __script_emmc_write_production;
 
env delete __script_cleanup_env;
 
';
 
# Used by u-boot 'update_itb_force_all_emmc' command
 
setenv __script_emmc_write_sysupgrade '
 
run __script_emmc_write_gpt update_itb_prepare do_update_bank2 do_update_bank1 do_update_uboot_img do_update_uboot_env clear_overlay2 clear_overlay1;
 
test $? -eq 0 && run __script_cleanup_env;
 
test $? -eq 0 && run update_itb_reset_active_image;
 
';
 
# Used by production image. This command can't "run __script_emmc_write_sysupgrade"
 
# because __script_cleanup_env by design should remove all script variables (including
 
# __script_emmc_clear_part one).
setenv __script_emmc_write_production '
setenv __script_emmc_write_production '
run __script_emmc_write_gpt update_itb_prepare do_update_bank2 do_update_bank1 do_update_uboot_img do_update_uboot_env clear_overlay2 clear_overlay1;
run __script_emmc_write_gpt update_itb_prepare do_update_bank2 do_update_bank1 do_update_uboot_img do_update_uboot_env clear_overlay2 clear_overlay1;
test $? -eq 0 && env delete __script_get_sysupgrade_cfg_name __script_emmc_write_gpt __script_emmc_write_production;
test $? -eq 0 && setenv part_name art && run __script_emmc_clear_part;
 
test $? -eq 0 && setenv part_name boarddata && run __script_emmc_clear_part;
 
test $? -eq 0 && run __script_cleanup_env;
test $? -eq 0 && run update_itb_reset_active_image;
test $? -eq 0 && run update_itb_reset_active_image;
';
';
Loading