From 725f3171fa77f6dfc2edb5cff14e3dbe3110671e Mon Sep 17 00:00:00 2001 From: Jeffrey Townsend Date: Fri, 26 May 2017 16:02:07 +0000 Subject: [PATCH] Improve SWI handling for reduced processor/memory environments. - Increase SWI bootmode timeout - Unzip the rootfs directly into the target directory instead of through a pipe. --- .../base/all/initrds/loader-initrd-files/src/bin/swiprep | 7 +++++-- .../base/all/initrds/loader-initrd-files/src/bootmodes/swi | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep b/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep index e0aa0da2..426b773e 100755 --- a/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep +++ b/packages/base/all/initrds/loader-initrd-files/src/bin/swiprep @@ -149,8 +149,11 @@ esac if test "${mode_install}${mode_overlay}"; then for arch in $ARCH_LIST; do - unzip -pq "$swipath" "rootfs-${arch}.sqsh" > "$workdir/rootfs.sqsh" - if test -s "$workdir/rootfs.sqsh"; then break; fi + unzip -q "$swipath" "rootfs-${arch}.sqsh" -d "$workdir" + if test -s "$workdir/rootfs-${arch}.sqsh"; then + mv "$workdir/rootfs-${arch}.sqsh" "$workdir/rootfs.sqsh" + break; + fi done if test ! -s "$workdir/rootfs.sqsh"; then echo "*** cannot find a valid rootfs" 1>&2 diff --git a/packages/base/all/initrds/loader-initrd-files/src/bootmodes/swi b/packages/base/all/initrds/loader-initrd-files/src/bootmodes/swi index a4c8c446..5fabddd1 100755 --- a/packages/base/all/initrds/loader-initrd-files/src/bootmodes/swi +++ b/packages/base/all/initrds/loader-initrd-files/src/bootmodes/swi @@ -19,7 +19,7 @@ fi # for url in $SWI; do msg_info "Trying ${url}..." - timeout -t 60 boot "${url}" && exit 0 + timeout -t 180 boot "${url}" && exit 0 done exit 1