From 7a85f98b98a684311c267687037ec121d7a8e342 Mon Sep 17 00:00:00 2001 From: Marcel Ziswiler Date: Wed, 6 May 2015 17:32:45 +0200 Subject: colibri_t20: implement migration in update scripts --- .../files/colibri-t20/colibri-t20_bin/flash_blk.scr | 19 +++++++++++++++++-- .../files/colibri-t20/colibri-t20_bin/flash_eth.scr | 19 +++++++++++++++++-- 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/recipes/images/files/colibri-t20/colibri-t20_bin/flash_blk.scr b/recipes/images/files/colibri-t20/colibri-t20_bin/flash_blk.scr index 9346761..fe0ffbb 100644 --- a/recipes/images/files/colibri-t20/colibri-t20_bin/flash_blk.scr +++ b/recipes/images/files/colibri-t20/colibri-t20_bin/flash_blk.scr @@ -1,11 +1,26 @@ test -n ${interface} || setenv interface mmc test -n ${drive} || setenv drive 1 +test -n ${hw-version} || if test $lnxoffset = 0x1200000; then setenv hw-version v11; else setenv hw-version v12; fi + +setenv check_configblock 'setexpr toradex_oui_addr $loadaddr + 8; nand read $loadaddr 0x300000 0x64; crc32 -v $toradex_oui_addr 3 94305232' + +setenv migrate_1 'nand read $loadaddr 0x15C0000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_2 'nand read $loadaddr 0x1C80000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_3 'nand read $loadaddr 0x7380000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_4 'nand read $loadaddr 0x7900000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_configblock 'setexpr toradex_oui_addr $loadaddr + 8; run migrate_1; run migrate_2; run migrate_3; run migrate_4' + setenv prepare_rootfs 'ubi part ubi && ubi check rootfs || ubi create rootfs' setenv update_configblock 'load ${interface} 0:1 ${loadaddr} configblock.bin && nand erase.part cfgblock && nand write ${loadaddr} cfgblock ${filesize}' -setenv update_uboot 'load ${interface} 0:1 ${loadaddr} colibri_t20-${ram-size}-${hw-version}-nand.img && nand erase.part u-boot && nand erase.part u-boot-env && nand write ${loadaddr} u-boot ${filesize}' +setenv update_uboot 'fatload ${interface} 0:1 ${loadaddr} colibri_t20-${ram-size}-${hw-version}-nand.img && nand erase 0x0 0x300000 && nand write ${loadaddr} 0x0 ${filesize}' setenv update_rootfs 'load ${interface} 0:1 ${loadaddr} ubifs_${leb-size}.img && run prepare_rootfs && ubi write ${loadaddr} rootfs ${filesize}' -setenv update 'run update_uboot; run update_rootfs; reset' +setenv echo_v2.3b7 echo "successfully updated U-Boot," \${note} "power-cycle and enter \"run setupdate\; run migrate_v2.3b7\" to complete update" +setenv migrate_v2.3b7 'run migrate_configblock; nand erase.part ubi; run update_new' +setenv update_v2.3b7 'setenv ram-size 256; run update_uboot && setenv note "wait a sec," && run echo_v2.3b7 && md 0x1ffffffc 1 && setenv ram-size 512 && run update_uboot && setenv note && run echo_v2.3b7' + +setenv update_new 'run check_configblock || run migrate_configblock; run update_uboot; run update_rootfs; reset' +setenv update 'if test -v $ver; then run update_new; else run update_v2.3b7; fi' echo 'enter "run update" to update the entire module' diff --git a/recipes/images/files/colibri-t20/colibri-t20_bin/flash_eth.scr b/recipes/images/files/colibri-t20/colibri-t20_bin/flash_eth.scr index 7c9ad4a..27bb296 100644 --- a/recipes/images/files/colibri-t20/colibri-t20_bin/flash_eth.scr +++ b/recipes/images/files/colibri-t20/colibri-t20_bin/flash_eth.scr @@ -1,8 +1,23 @@ +test -n ${hw-version} || if test $lnxoffset = 0x1200000; then setenv hw-version v11; else setenv hw-version v12; fi + +setenv check_configblock 'setexpr toradex_oui_addr $loadaddr + 8; nand read $loadaddr 0x300000 0x64; crc32 -v $toradex_oui_addr 3 94305232' + +setenv migrate_1 'nand read $loadaddr 0x15C0000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_2 'nand read $loadaddr 0x1C80000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_3 'nand read $loadaddr 0x7380000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_4 'nand read $loadaddr 0x7900000 0x40; crc32 -v $toradex_oui_addr 3 94305232 && nand erase.part cfgblock && nand write $loadaddr 0x300000 0x64' +setenv migrate_configblock 'setexpr toradex_oui_addr $loadaddr + 8; run migrate_1; run migrate_2; run migrate_3; run migrate_4' + setenv prepare_rootfs 'ubi part ubi && ubi check rootfs || ubi create rootfs' setenv update_configblock 'tftpboot ${loadaddr} configblock.bin && nand erase.part cfgblock && nand write ${loadaddr} cfgblock ${filesize}' -setenv update_uboot 'tftpboot ${loadaddr} colibri_t20-${ram-size}-${hw-version}-nand.img && nand erase.part u-boot && nand erase.part u-boot-env && nand write ${loadaddr} u-boot ${filesize}' +setenv update_uboot 'tftpboot ${loadaddr} colibri_t20-${ram-size}-${hw-version}-nand.img && nand erase 0x0 0x300000 && nand write ${loadaddr} 0x0 ${filesize}' setenv update_rootfs 'tftpboot ${loadaddr} ubifs_${leb-size}.img && run prepare_rootfs && ubi write ${loadaddr} rootfs ${filesize}' -setenv update 'run update_uboot; run update_rootfs; reset' +setenv echo_v2.3b7 echo "successfully updated U-Boot," \${note} "power-cycle and enter \"run setupdate\; run migrate_v2.3b7\" to complete update" +setenv migrate_v2.3b7 'run migrate_configblock; nand erase.part ubi; run update_new' +setenv update_v2.3b7 'setenv ram-size 256; run update_uboot && setenv note "wait a sec," && run echo_v2.3b7 && md 0x1ffffffc 1 && setenv ram-size 512 && run update_uboot && setenv note && run echo_v2.3b7' + +setenv update_new 'run check_configblock || run migrate_configblock; run update_uboot; run update_rootfs; reset' +setenv update 'if test -v $ver; then run update_new; else run update_v2.3b7; fi' echo 'enter "run update" to update the entire module' -- cgit v1.2.3