diff options
Diffstat (limited to 'remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons')
-rwxr-xr-x | remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons index 8d4d2d1a..71ed70a7 100755 --- a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons +++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons @@ -14,7 +14,7 @@ # # ###################################################################################### - +set -x # read global OpenSLX config . /opt/openslx/config || { echo "Could not source config!"; exit 23; } @@ -35,6 +35,9 @@ BASE_MOUNT_POINT="/opt/openslx/mnt" DOWNLOAD_DEST="/tmp/addons" mkdir -p "$DOWNLOAD_DEST" || { echo "Failed to create $DOWNLOAD_DEST"; exit 1; } +# Check if HDD Boot is active +if grep -qs 'hdd_boot' /proc/cmdline; then HDD="yes"; fi + ###################################################################################### # # NO ARGUMENTS -> LOOP OVER ALL ADDONS @@ -54,13 +57,19 @@ fi if [ $# -eq 1 ]; then ADDON="$1" - - # download the addon from the given URL ADDON_TARGET_PATH="${DOWNLOAD_DEST}/$(basename "$ADDON").sqfs" - if ! download "${SLX_BASE_PATH}/${ADDON}.sqfs" "${ADDON_TARGET_PATH}"; then - slxlog --echo "addon-download" "Download of '${HTTP_BASE_PATH}/${ADDON}.sqfs' failed." - exit 1 + + if [ -z "$HDD" ]; then + # download the addon from the given URL + if ! download "${SLX_BASE_PATH}/${ADDON}.sqfs" "${ADDON_TARGET_PATH}"; then + slxlog --echo "addon-download" "Download of '${HTTP_BASE_PATH}/${ADDON}.sqfs' failed." + exit 1 + fi + else + # copy from /boot + cp /boot/${SLX_BASE_PATH}/${ADDON}.sqfs ${ADDON_TARGET_PATH} fi + # now mount it to $BASE_MOUNT_POINT/<addon-name> ADDON_MOUNT_POINT="${BASE_MOUNT_POINT}/$(basename "$ADDON")" |