[source] sunxi: sysupgrade: don't write partitions twice

LEDE Commits lede-commits at lists.infradead.org
Mon May 29 14:57:12 PDT 2017


neoraider pushed a commit to source.git, branch master:
https://git.lede-project.org/6bb7b873158853efe31d760e18667d3ff8343291

commit 6bb7b873158853efe31d760e18667d3ff8343291
Author: Matthias Schiffer <mschiffer at universe-factory.net>
AuthorDate: Thu May 4 07:29:58 2017 +0200

    sunxi: sysupgrade: don't write partitions twice
    
    When existing partitions are retained, the dd call writing the uboot image
    in the space before the first partition was accidentally writing the whole
    image, making the code for individual partitions redundant. Limit the copy
    to 1016KiB (the first 8KiB are skipped, and the first partition starts at
    1024KiB).
    
    In addition, conv=notrunc is replaced with conv=fsync. It seems this was an
    oversight, as notrunc doesn't make sense for block devices and all other dd
    commands use conv=fsync.
    
    Signed-off-by: Matthias Schiffer <mschiffer at universe-factory.net>
---
 target/linux/sunxi/base-files/lib/upgrade/platform.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/linux/sunxi/base-files/lib/upgrade/platform.sh b/target/linux/sunxi/base-files/lib/upgrade/platform.sh
index f2cd970..776bdf5 100644
--- a/target/linux/sunxi/base-files/lib/upgrade/platform.sh
+++ b/target/linux/sunxi/base-files/lib/upgrade/platform.sh
@@ -43,7 +43,7 @@ platform_do_upgrade() {
 			fi
 
 			#write uboot image
-			get_image "$@" | dd of="$diskdev" bs=1024 skip=8 seek=8 conv=notrunc
+			get_image "$@" | dd of="$diskdev" bs=1024 skip=8 seek=8 count=1016 conv=fsync
 			#iterate over each partition from the image and write it to the boot disk
 			while read part start size; do
 				part="$(($part - 2))"



More information about the lede-commits mailing list