summaryrefslogtreecommitdiffstats
path: root/remote/rootfs/rootfs-stage32/data
diff options
context:
space:
mode:
authorJonathan Bauer2013-08-14 17:35:31 +0200
committerJonathan Bauer2013-08-14 17:35:31 +0200
commitd78eecabe39830ff5017c993ffd818aff2033e02 (patch)
tree9f19df08ef7a469b430bb5781727f8a59507309b /remote/rootfs/rootfs-stage32/data
parentMerge branch 'master' of git.openslx.org:openslx-ng/tm-scripts (diff)
downloadtm-scripts-d78eecabe39830ff5017c993ffd818aff2033e02.tar.gz
tm-scripts-d78eecabe39830ff5017c993ffd818aff2033e02.tar.xz
tm-scripts-d78eecabe39830ff5017c993ffd818aff2033e02.zip
[rootfs-stage32] setup all addons according to /opt/openslx/config. Your config now needs: SLX_ADDONS_BASE_DIR as the URL (with http prefix) where the addons are and SLX_ADDONS_LIST as the list of addons that exists. i.e. SLX_ADDONS_BASE_DIR='http://server/distro/addons' and SLX_ADDONS_LIST='vmware'. The script would then try to wget http://serveR/distro/addons/vmware.sqfs . The file must be sqfs, as produced by mltk with ./mltk server <ip> <addon_target> -e addons
Diffstat (limited to 'remote/rootfs/rootfs-stage32/data')
-rw-r--r--remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addon@.service8
-rw-r--r--remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addons.service9
l---------remote/rootfs/rootfs-stage32/data/etc/systemd/system/sysinit.target.wants/setup-slx-addons.service1
-rwxr-xr-xremote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addon35
-rwxr-xr-xremote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons37
5 files changed, 47 insertions, 43 deletions
diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addon@.service b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addon@.service
deleted file mode 100644
index af639976..00000000
--- a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addon@.service
+++ /dev/null
@@ -1,8 +0,0 @@
-[Unit]
-Description=Download, mount and append SLX addon %I
-After=sysinit.target
-
-[Service]
-Type=oneshot
-ExecStart=/opt/openslx/scripts/systemd-setup_slx_addon %I
-RemainAfterExit=yes
diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addons.service b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addons.service
new file mode 100644
index 00000000..acc827c9
--- /dev/null
+++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/setup-slx-addons.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Download, mount and append SLX addons
+After=sysinit.target setup-partitions.service
+Wants=setup-partitions.service
+
+[Service]
+Type=oneshot
+ExecStart=/opt/openslx/scripts/systemd-setup_slx_addons
+RemainAfterExit=yes
diff --git a/remote/rootfs/rootfs-stage32/data/etc/systemd/system/sysinit.target.wants/setup-slx-addons.service b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/sysinit.target.wants/setup-slx-addons.service
new file mode 120000
index 00000000..415050b5
--- /dev/null
+++ b/remote/rootfs/rootfs-stage32/data/etc/systemd/system/sysinit.target.wants/setup-slx-addons.service
@@ -0,0 +1 @@
+../setup-slx-addons.service \ No newline at end of file
diff --git a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addon b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addon
deleted file mode 100755
index 0b52922a..00000000
--- a/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addon
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-#
-# Script to be called by systemd
-#
-# Downloads and appends addons per sqfs/aufs.
-#
-#
-
-# This script requires the addon to setup as its first parameter
-
-[ "x$1" == "x" ] && { echo "$0 requires the addon as parameter. None given." && exit 1; }
-ADDON="$1"
-
-# read openslx config
-. /opt/openslx/config
-[ -z "${SLX_ADDONS_BASE_URL}" ] && { echo "SLX_ADDONS_BASE_URL is not set in /opt/openslx/config." && exit 1; }
-[ -z "${SLX_ADDONS_LIST}" ] && { echo "SLX_ADDONS_LIST is not set in /opt/openslx/config." && exit 1; }
-
-SLX_BASE_MNT="/opt/openslx/mnt"
-SYS_TMP="/tmp"
-
-# download the addon from the given URL
-ADDON_TARGET_PATH="${SYS_TMP}/$(basename $(echo ${ADDON})).sqfs"
-echo "Downloading $SLX_ADDONS_BASE_URL/${ADDON}.sqfs to ${ADDON_TARGET_PATH}"
-wget -T 5 -q -O "${ADDON_TARGET_PATH}" "${SLX_ADDONS_BASE_URL}/${ADDON}.sqfs"|| { echo "Failed to download." && exit 1; }
-
-# now mount it to $SLX_MNT/<addon-name>
-ADDON_MOUNT_POINT="${SLX_BASE_MNT}/$(basename $(echo ${ADDON})|awk -F "." '{print $1}')"
-mkdir -p "$ADDON_MOUNT_POINT"
-echo "Mounting ${ADDON_TARGET_PATH} to ${ADDON_MOUNT_POINT}"
-mount -t squashfs "$ADDON_TARGET_PATH" ${ADDON_MOUNT_POINT} || { echo "Failed to mount." && exit 1; }
-
-# now append it to /
-echo "Appending ${ADDON_MOUNT_POINT} to /"
-mount -o remount,append:${ADDON_MOUNT_POINT}=ro / || { echo "Fail." && exit 1; }
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
new file mode 100755
index 00000000..b6f04d55
--- /dev/null
+++ b/remote/rootfs/rootfs-stage32/data/opt/openslx/scripts/systemd-setup_slx_addons
@@ -0,0 +1,37 @@
+#!/bin/bash
+#
+# Script to be called by systemd
+#
+# Downloads and appends addons per sqfs/aufs.
+#
+#
+
+# This script requires the addon to setup as its first parameter
+
+[ "x$1" == "x" ] && { echo "$0 requires the addon as parameter. None given." && exit 1; }
+ADDON="$1"
+
+# read openslx config
+. /opt/openslx/config
+[ -z "${SLX_ADDONS_BASE_URL}" ] && { echo "SLX_ADDONS_BASE_URL is not set in /opt/openslx/config." && exit 1; }
+[ -z "${SLX_ADDONS_LIST}" ] && { echo "SLX_ADDONS_LIST is not set in /opt/openslx/config." && exit 1; }
+
+SLX_BASE_MNT="/opt/openslx/mnt"
+SYS_TMP="/tmp"
+
+for ADDON in ${SLX_ADDONS_LIST}; do
+ # download the addon from the given URL
+ local ADDON_TARGET_PATH="${SYS_TMP}/$(basename $(echo ${ADDON})).sqfs"
+ echo "Downloading $SLX_ADDONS_BASE_URL/${ADDON}.sqfs to ${ADDON_TARGET_PATH}"
+ wget -T 5 -q -O "${ADDON_TARGET_PATH}" "${SLX_ADDONS_BASE_URL}/${ADDON}.sqfs"|| { echo "Failed to download." && exit 1; }
+
+ # now mount it to $SLX_MNT/<addon-name>
+ local ADDON_MOUNT_POINT="${SLX_BASE_MNT}/$(basename $(echo ${ADDON})|awk -F "." '{print $1}')"
+ mkdir -p "$ADDON_MOUNT_POINT"
+ echo "Mounting ${ADDON_TARGET_PATH} to ${ADDON_MOUNT_POINT}"
+ mount -t squashfs "$ADDON_TARGET_PATH" ${ADDON_MOUNT_POINT} || { echo "Failed to mount." && exit 1; }
+
+ # now append it to /
+ echo "Appending ${ADDON_MOUNT_POINT} to /"
+ mount -o remount,append:${ADDON_MOUNT_POINT}=ro / || { echo "Fail." && exit 1; }
+done