bcm53xx: use iflag=skip_bytes for dd command during sysupgrade
[openwrt/openwrt.git] / target / linux / bcm53xx / base-files / lib / upgrade / platform.sh
index 6a9e4950450cb896db7ebb3eb901b5cf51030295..06451f17fd91a50e4ab4d358200347b94afbaeb7 100644 (file)
@@ -1,4 +1,4 @@
-RAMFS_COPY_BIN='/usr/bin/osafeloader /usr/bin/oseama'
+RAMFS_COPY_BIN='osafeloader oseama'
 
 PART_NAME=firmware
 
@@ -8,10 +8,6 @@ get_magic_long_at() {
        dd if="$1" skip=$2 bs=1 count=4 2>/dev/null | hexdump -v -e '1/1 "%02x"'
 }
 
-platform_machine() {
-       cat /proc/device-tree/compatible | tr '\0' '\t' | cut -f 1
-}
-
 platform_flash_type() {
        # On NAND devices "rootfs" is UBI volume, so won't be find in /proc/mtd
        grep -q "\"rootfs\"" /proc/mtd && {
@@ -23,7 +19,7 @@ platform_flash_type() {
 }
 
 platform_expected_image() {
-       local machine=$(platform_machine)
+       local machine=$(board_name)
 
        case "$machine" in
                "dlink,dir-885l")       echo "seama wrgac42_dlink.2015_dir885l"; return;;
@@ -278,11 +274,11 @@ platform_pre_upgrade() {
 platform_trx_from_chk_cmd() {
        local header_len=$((0x$(get_magic_long_at "$1" 4)))
 
-       echo -n dd bs=$header_len skip=1
+       echo -n dd skip=$header_len iflag=skip_bytes
 }
 
 platform_trx_from_cybertan_cmd() {
-       echo -n dd bs=32 skip=1
+       echo -n dd skip=32 iflag=skip_bytes
 }
 
 platform_img_from_safeloader() {