summaryrefslogtreecommitdiffstats
path: root/builder
diff options
context:
space:
mode:
authortorben2015-11-12 15:11:29 +0100
committertorben2015-11-12 15:11:29 +0100
commitba6de8b5b486c9ee70bcbfed7a554350ae919e19 (patch)
tree909d598cdc9725d786e401f4f23a3aa309dd09da /builder
parentFixing kcl modification. (diff)
downloadsystemd-init-ba6de8b5b486c9ee70bcbfed7a554350ae919e19.tar.gz
systemd-init-ba6de8b5b486c9ee70bcbfed7a554350ae919e19.tar.xz
systemd-init-ba6de8b5b486c9ee70bcbfed7a554350ae919e19.zip
Adding persistent storage support.
Diffstat (limited to 'builder')
-rwxr-xr-xbuilder/dnbd3-rootfs/hooks/cmdline/prepare-kernel-command-line-parameter.sh (renamed from builder/dnbd3-rootfs/hooks/cmdline/prepare-network-kcl-parameter.sh)0
-rwxr-xr-xbuilder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh41
-rwxr-xr-xbuilder/dnbd3-rootfs/module-setup.sh28
-rw-r--r--builder/dnbd3-rootfs/udev/70-openslx-disk.rules8
4 files changed, 33 insertions, 44 deletions
diff --git a/builder/dnbd3-rootfs/hooks/cmdline/prepare-network-kcl-parameter.sh b/builder/dnbd3-rootfs/hooks/cmdline/prepare-kernel-command-line-parameter.sh
index 6d6b9950..6d6b9950 100755
--- a/builder/dnbd3-rootfs/hooks/cmdline/prepare-network-kcl-parameter.sh
+++ b/builder/dnbd3-rootfs/hooks/cmdline/prepare-kernel-command-line-parameter.sh
diff --git a/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh b/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh
index a90481c8..91662d6c 100755
--- a/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh
+++ b/builder/dnbd3-rootfs/hooks/pre-mount/fetch-config.sh
@@ -1,4 +1,4 @@
-# load dracut functions
+# Load dracut library if not already loaded.
command -v getarg >/dev/null || . /lib/dracut-lib.sh
# read SLX_SERVER and SLX_BASE from the kernel command line
@@ -8,32 +8,25 @@ SLX_CONFIG_DIR="/opt/openslx"
SLX_CONFIG_FILE="/opt/openslx/config"
if [ -z "$SLX_SERVER" ]; then
- warn "No 'slxsrv' parameter found in the kernel command line!"
- warn "Skipping OpenSLX configuration..."
- return 1
+ warn "No 'slxsrv' parameter found in the kernel command line!"
+ warn "Skipping OpenSLX configuration..."
+ return 1
fi
if [ -z "$SLX_BASE" ]; then
- warn "No 'slxbase' parameter found in the kernel command line!"
- warn "Skipping OpenSLX configuration..."
- return 1
+ warn "No 'slxbase' parameter found in the kernel command line!"
+ warn "Skipping OpenSLX configuration..."
+ return 1
fi
-info "Getting configuration from OPENSLX-Server..."
-WGET="$(busybox which wget)"
-if [ -z $WGET ]; then
- # do nothing
- warn "'wget' not found. Skipping openslx configuration..."
- return 1
-fi
-
-# ok then we are ready to download the config
-mkdir -p "${SLX_CONFIG_DIR}"
-$WGET -T 5 -q "http://${SLX_SERVER}/${SLX_BASE}/config" -O "${SLX_CONFIG_FILE}"
-RET="$?"
-if [ $RET -ne 0 ]; then
- warn "Downloading OpenSLX configuration from ${SLX_SERVER}/${SLX_BASE} failed: $RET"
- emergency_shell -n "$0"
- return 1
+info "Getting configuration from OPENSLX-Server..." && \
+mkdir -p "${SLX_CONFIG_DIR}" && \
+wget --timeout 5 --quiet "http://${SLX_SERVER}/${SLX_BASE}/config" \
+ --output-document "${SLX_CONFIG_FILE}" && \
+return_code="$?"
+if [ $result -ne 0 ]; then
+ warn "Downloading OpenSLX configuration from ${SLX_SERVER}/${SLX_BASE} failed. Return code: $return_code"
+ emergency_shell -n "$0"
+ return 1
else
- return 0
+ return 0
fi
diff --git a/builder/dnbd3-rootfs/module-setup.sh b/builder/dnbd3-rootfs/module-setup.sh
index 3c96e1e4..907b5cee 100755
--- a/builder/dnbd3-rootfs/module-setup.sh
+++ b/builder/dnbd3-rootfs/module-setup.sh
@@ -60,18 +60,13 @@ install() {
# region hooks
inst_hook cmdline 00 "$moddir/hooks/cmdline/enable-sysrq.sh"
- inst_hook cmdline 10 "$moddir/hooks/cmdline/prepare-network-kcl-parameter.sh"
+ inst_hook cmdline 10 "$moddir/hooks/cmdline/prepare-kernel-command-line-parameter.sh"
inst_hook cmdline 90 "$moddir/hooks/cmdline/set-dracut-environment-variables.sh"
inst_hook pre-udev 00 "$moddir/hooks/pre-udev/load-custom-kernel-modules.sh"
inst_hook pre-udev 00 "$moddir/hooks/pre-udev/setup-loopback-device.sh"
- # this is the configuration hook where the config stuff is wget'ed
- # TODO
- #inst_hook pre-mount 00 "$moddir/hooks/pre-mount/fetch-config.sh"
- # this is the main hook where all the magic is triggered
- #inst_hook pre-mount 10 "$moddir/hooks/pre-mount/mount-qcow.sh"
-
+ inst_hook pre-mount 00 "$moddir/hooks/pre-mount/fetch-config.sh"
inst_hook pre-mount 10 "$moddir/hooks/pre-mount/prepare-root-partition.sh"
inst_hook mount 10 "$moddir/hooks/mount/mount-root-device.sh"
@@ -83,18 +78,19 @@ install() {
# region scripts
inst "$moddir/scripts/utils.sh" "/usr/lib/utils.sh"
+ # This script is triggered by udev upon finding the right partitions for
+ # persistent sessions.
+ inst "$moddir/scripts/prepare-persistent-disks" /sbin/prepare-persistent-disks
# endregion
- ## TODO deprecated
- # the main magic script containing all the functions needed
- # to prepare the qcow2-based root filesystem
- #inst "$moddir/scripts/setup-qcow2" /sbin/setup-qcow2
- # the script triggered by udev upon finding the right partitions
- #inst "$moddir/scripts/prepare-disks" /sbin/prepare-disks
- # udev rules detecting 44, 45, 46 partitions and running
- # 'prepare-disks' to do then format/mount/use them
- #inst "$moddir/udev/70-openslx-disk.rules" /etc/udev/rules.d/70-openslx-disk.rules
+ # region configuration files
+
+ # Udev rules detecting 44, 45, 46 partitions and running
+ # "prepare-persistent-disks" to prepare persistent partitions.
+ inst "$moddir/udev/70-openslx-disk.rules" /etc/udev/rules.d/70-openslx-disk.rules
+
+ # endregion
# Debugging:
inst_multiple lsblk ping ip ifconfig sshd htop tail head vim touch sed \
diff --git a/builder/dnbd3-rootfs/udev/70-openslx-disk.rules b/builder/dnbd3-rootfs/udev/70-openslx-disk.rules
index 5cb3fa52..9aad9a41 100644
--- a/builder/dnbd3-rootfs/udev/70-openslx-disk.rules
+++ b/builder/dnbd3-rootfs/udev/70-openslx-disk.rules
@@ -1,7 +1,7 @@
# GPT rules
-KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="gpt" ENV{ID_PART_ENTRY_NAME}=="OPENSLX_TMP" RUN+="/sbin/prepare-disks %E{ID_PART_ENTRY_NAME} %k"
-KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="gpt" ENV{ID_PART_ENTRY_NAME}=="OPENSLX_SYS" RUN+="/sbin/prepare-disks %E{ID_PART_ENTRY_NAME} %k"
+KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="gpt" ENV{ID_PART_ENTRY_NAME}=="OPENSLX_TMP" RUN+="/sbin/prepare-persistent-disks %E{ID_PART_ENTRY_NAME} %k"
+KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="gpt" ENV{ID_PART_ENTRY_NAME}=="OPENSLX_SYS" RUN+="/sbin/prepare-persistent-disks %E{ID_PART_ENTRY_NAME} %k"
# MBR rules
-KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="dos" ENV{ID_PART_ENTRY_TYPE}=="0x44" RUN+="/sbin/prepare-disks OPENSLX_TMP %k"
-KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="dos" ENV{ID_PART_ENTRY_TYPE}=="0x46" RUN+="/sbin/prepare-disks OPENSLX_SYS %k"
+KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="dos" ENV{ID_PART_ENTRY_TYPE}=="0x44" RUN+="/sbin/prepare-persistent-disks OPENSLX_TMP %k"
+KERNEL=="sd?[0-9]" SUBSYSTEM=="block" ENV{ID_PART_TABLE_TYPE}=="dos" ENV{ID_PART_ENTRY_TYPE}=="0x46" RUN+="/sbin/prepare-persistent-disks OPENSLX_SYS %k"