bcm53xx: sysupgrade: simplify extracting image from Seama seal
authorRafał Miłecki <rafal@milecki.pl>
Fri, 26 Nov 2021 17:01:50 +0000 (18:01 +0100)
committerRafał Miłecki <rafal@milecki.pl>
Thu, 2 Dec 2021 08:15:18 +0000 (09:15 +0100)
Use "oseama extract" which supports now writing to stdout.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
target/linux/bcm53xx/base-files/lib/upgrade/platform.sh

index cbb82902752b5adf72e3edf2d5859fedfa6453c5..0973e4048be0921848b51bdb128e675e0f21e527 100644 (file)
@@ -396,20 +396,8 @@ platform_img_from_safeloader() {
        echo -n $dir/os-image
 }
 
-platform_img_from_seama() {
-       local dir="/tmp/sysupgrade-bcm53xx"
-       local offset=$(oseama info "$1" -e 0 | grep "Entity offset:" | sed "s/.*:\s*//")
-       local size=$(oseama info "$1" -e 0 | grep "Entity size:" | sed "s/.*:\s*//")
-
-       # Busybox doesn't support required iflag-s
-       # echo -n dd iflag=skip_bytes,count_bytes skip=$offset count=$size
-
-       rm -fR $dir
-       mkdir -p $dir
-       dd if="$1" of=$dir/image-noheader.bin bs=$offset skip=1
-       dd if=$dir/image-noheader.bin of=$dir/image-entity.bin bs=$size count=1
-
-       echo -n $dir/image-entity.bin
+platform_img_from_seama_cmd() {
+       echo -n oseama extract "$1" -e 0
 }
 
 platform_other_do_upgrade() {
@@ -438,7 +426,7 @@ platform_other_do_upgrade() {
                "lxl")          cmd=$(platform_trx_from_lxl_cmd "$trx");;
                "lxlold")       cmd=$(platform_trx_from_lxlold_cmd "$trx");;
                "safeloader")   trx=$(platform_img_from_safeloader "$trx"); PART_NAME=os-image;;
-               "seama")        trx=$(platform_img_from_seama "$trx");;
+               "seama")        cmd=$(platform_img_from_seama_cmd "$trx");;
        esac
 
        default_do_upgrade "$trx" "$cmd"