base-files: fix nand_upgrade_ubinized()
[openwrt/staging/dedeckeh.git] / package / base-files / files / lib / upgrade / nand.sh
index 907945b349bec3c86f0cb8bee7a2543c3f76e824..fa29d575a81dafce4b271586cadf01dc643f5bf2 100644 (file)
@@ -261,10 +261,12 @@ nand_upgrade_ubinized() {
        local ubi_file="$1"
        local gz="$2"
 
+       local ubi_length=$( (${gz}cat "$ubi_file" | wc -c) 2> /dev/null)
+
        nand_detach_ubi "$CI_UBIPART" || return 1
 
        local mtdnum="$( find_mtd_index "$CI_UBIPART" )"
-       ${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -y -f - && ubiattach -m "$mtdnum"
+       ${gz}cat "$ubi_file" | ubiformat "/dev/mtd$mtdnum" -S "$ubi_length" -y -f - && ubiattach -m "$mtdnum"
 }
 
 # Write the UBIFS image to UBI rootfs volume