summaryrefslogtreecommitdiff
path: root/recipes-images/images/files/library/imx6
diff options
context:
space:
mode:
authorSanchayan Maity <maitysanchayan@gmail.com>2016-12-02 12:59:15 +0530
committerStefan Agner <stefan.agner@toradex.com>2017-01-10 16:17:43 -0800
commit76c3e0659420b3d715bb7a4dce05fe5e04bf3fdc (patch)
treeeae66925df175241d748593a255e004e8977b4d5 /recipes-images/images/files/library/imx6
parent422c6b5ae112f0ddd4a41ef58dd1518240376225 (diff)
images: Remove update script limitation of 5GB rootfs
Our current update procedure reads the rootfs payload in pre split files of 64 MB size. However due to the workaround for u-boot counting in hex and split did in decimal, the number of chunks is limited to 89 resulting in a maximum size of 5.5GB. Update the u-boot counting procedure to count in 3 digits from the current 2 digits. This allows more than 800 plus chunks which should take care of rootfs size and any future eMMC update requirements. Signed-off-by: Sanchayan Maity <sanchayan.maity@toradex.com> Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Diffstat (limited to 'recipes-images/images/files/library/imx6')
-rw-r--r--recipes-images/images/files/library/imx6/flash_blk.scr4
-rw-r--r--recipes-images/images/files/library/imx6/flash_eth.scr6
-rwxr-xr-xrecipes-images/images/files/library/imx6/update.sh2
3 files changed, 5 insertions, 7 deletions
diff --git a/recipes-images/images/files/library/imx6/flash_blk.scr b/recipes-images/images/files/library/imx6/flash_blk.scr
index 48a355f..ec3e00b 100644
--- a/recipes-images/images/files/library/imx6/flash_blk.scr
+++ b/recipes-images/images/files/library/imx6/flash_blk.scr
@@ -4,7 +4,7 @@ setenv uboot_hwpart 1
setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200'
#workaround U-Boot counting in hex and split did in decimal
-setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow ${filenum} % 0x10; test ${filenrlow} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
+setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow1 ${filenum} % 0x100; setexpr filenrlow2 ${filenrlow1} % 0x10; test ${filenrlow1} -eq "9a" && test ${filenrlow2} -ne "9" && setexpr filenum ${filenum} + 0x66; test ${filenrlow1} -ne "9a" && test ${filenrlow2} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
setenv set_nextnum 'run incr_decimal; setexpr blkstart ${blkstart} + ${blkcnt}'
setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1'
@@ -32,7 +32,7 @@ setenv update_configblock 'run check_configblock; load ${interface} ${drive}:1 $
setenv update_1 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1'
setenv update_2 'load ${interface} ${drive}:1 ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}'
#do it in chunks of 64M to fit into DDR RAM of the smallest module
-setenv update_3 'setenv filesize 4000000; setenv filenum 10; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
+setenv update_3 'setenv filesize 4000000; setenv filenum 100; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
setenv migrate 'run migrate_configblock; run update_latest; reset'
diff --git a/recipes-images/images/files/library/imx6/flash_eth.scr b/recipes-images/images/files/library/imx6/flash_eth.scr
index 281bf5b..77e2ac9 100644
--- a/recipes-images/images/files/library/imx6/flash_eth.scr
+++ b/recipes-images/images/files/library/imx6/flash_eth.scr
@@ -2,7 +2,7 @@ setenv uboot_hwpart 1
setenv set_blkcnt 'setexpr blkcnt ${filesize} + 0x1ff && setexpr blkcnt ${blkcnt} / 0x200'
#workaround U-Boot counting in hex and split did in decimal
-setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow ${filenum} % 0x10; test ${filenrlow} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
+setenv incr_decimal 'setexpr filenum ${filenum} + 1; setexpr filenrlow1 ${filenum} % 0x100; setexpr filenrlow2 ${filenrlow1} % 0x10; test ${filenrlow1} -eq "9a" && test ${filenrlow2} -ne "9" && setexpr filenum ${filenum} + 0x66; test ${filenrlow1} -ne "9a" && test ${filenrlow2} -eq "a" && setexpr filenum ${filenum} + 0x6; true'
setenv set_nextnum 'run incr_decimal; setexpr blkstart ${blkstart} + ${blkcnt}'
setenv check_1 'setenv conf_blk_offset 0x1fff; mmc read ${loadaddr} ${conf_blk_offset} 1'
@@ -30,9 +30,7 @@ setenv update_configblock 'run check_configblock; tftpboot ${loadaddr} ${board_n
setenv update_1 'tftpboot ${loadaddr} ${board_name}/mbr.bin && mmc dev 0 0 && mmc write ${loadaddr} 0x0 0x1'
setenv update_2 'tftpboot ${loadaddr} ${board_name}/boot.vfat && run set_blkcnt && mmc dev 0 0 && mmc write ${loadaddr} 0x2000 ${blkcnt}'
#do it in chunks of 64M to fit into DDR RAM of the smallest module
-#split root.ext3 into multiple 64M chunks before copying to TFTP folder as follows
-#split -a 2 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=10 root.ext3 root.ext3-
-setenv update_3 'setenv filesize 4000000; setenv filenum 10; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
+setenv update_3 'setenv filesize 4000000; setenv filenum 100; setenv blkstart a000; while test ${filesize} -eq "4000000"; do run cp_file_chunk; run set_nextnum; done; true'
setenv echo_migrate echo "successfully updated U-Boot, power-cycle and enter \"run setupdate\; run migrate\" to complete update"
setenv migrate 'run migrate_configblock; run update_latest; reset'
diff --git a/recipes-images/images/files/library/imx6/update.sh b/recipes-images/images/files/library/imx6/update.sh
index 6781f78..71dda6d 100755
--- a/recipes-images/images/files/library/imx6/update.sh
+++ b/recipes-images/images/files/library/imx6/update.sh
@@ -305,7 +305,7 @@ sudo cp ${BINARIES}/fwd_eth.img "$OUT_DIR/../flash_eth.img"
sudo cp ${BINARIES}/fwd_mmc.img "$OUT_DIR/../flash_mmc.img"
if [ "$SPLIT" -ge 1 ] ; then
-sudo split -a 2 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=10 ${BINARIES}/${IMAGEFILE} "$OUT_DIR/root.ext3-"
+sudo split -a 3 -b `expr 64 \* 1024 \* 1024` --numeric-suffixes=100 ${BINARIES}/${IMAGEFILE} "$OUT_DIR/root.ext3-"
fi
#cleanup intermediate files