summaryrefslogtreecommitdiffstats
path: root/modules.d/dnbd3-rootfs
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/dnbd3-rootfs')
-rwxr-xr-xmodules.d/dnbd3-rootfs/hooks/s3-copy-openslx-config.sh43
-rwxr-xr-xmodules.d/dnbd3-rootfs/module-setup.sh40
-rw-r--r--modules.d/dnbd3-rootfs/services/s3-copy-openslx-config.service11
-rw-r--r--modules.d/dnbd3-rootfs/services/s3-dnbd3root.service15
-rw-r--r--modules.d/dnbd3-rootfs/services/s3-mount-root.service12
5 files changed, 10 insertions, 111 deletions
diff --git a/modules.d/dnbd3-rootfs/hooks/s3-copy-openslx-config.sh b/modules.d/dnbd3-rootfs/hooks/s3-copy-openslx-config.sh
deleted file mode 100755
index bedceb85..00000000
--- a/modules.d/dnbd3-rootfs/hooks/s3-copy-openslx-config.sh
+++ /dev/null
@@ -1,43 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-
-source "/etc/openslx"
-
-# Merge search domain from server and from dhcp
-(
- search="$SLX_NET_SEARCH"
- source /run/openslx/network.conf
- search="$SLX_NET_SEARCH $search" # DHCP > config vars
- declare -a uniq
- declare -A dups # Don't use keys for output later as order is undefined
- for i in $search; do
- [ -n "${dups["$i"]}" ] && continue
- dups["$i"]=1
- uniq+=( "$i" )
- done
- sed -i 's/^SLX_NET_SEARCH=/# &/' "/etc/openslx" "/run/openslx/network.conf"
- echo "SLX_NET_SEARCH='${uniq[*]}'" >> "/run/openslx/network.conf"
- if grep -q '^search' "/etc/resolv.conf"; then
- sed -i "s/^search.*$/search ${uniq[*]}/" "/etc/resolv.conf"
- else
- echo "search ${uniq[*]}" "/etc/resolv.conf"
- fi
-)
-
-
-mkdir --parents "${NEWROOT}/opt/openslx"
-{
- cat "/etc/openslx"
- echo "## Generated by '$0' in stage3"
- cat "/run/openslx/network.conf"
-} > "${NEWROOT}/opt/openslx/config"
-ln -nfs "${NEWROOT}/opt/openslx/config" "/etc/openslx"
-
-# Set root/demo password for stage4, if set
-if [ -n "${SLX_ROOT_PASS}" ]; then
- sed -i "s#^root:[^:]*:#root:$SLX_ROOT_PASS:#" "$NEWROOT/etc/shadow"
-fi
-if [ -n "${SLX_DEMO_PASS}" ] && grep -q '^demo:' "$NEWROOT/etc/shadow"; then
- sed -i "s#^demo:[^:]*:#demo:$SLX_DEMO_PASS:#" "$NEWROOT/etc/shadow"
-fi
diff --git a/modules.d/dnbd3-rootfs/module-setup.sh b/modules.d/dnbd3-rootfs/module-setup.sh
index ce1b4b36..594e3380 100755
--- a/modules.d/dnbd3-rootfs/module-setup.sh
+++ b/modules.d/dnbd3-rootfs/module-setup.sh
@@ -149,45 +149,25 @@ install() {
inst_hook cmdline 90 "$moddir/hooks/set-dracut-environment-variables.sh"
# make the final blockdevice for the root system (dnbd3 -> xmount ->
# device-mapper)
- inst "$moddir/hooks/s3-dnbd3root.sh" \
- /usr/local/bin/s3-dnbd3root.sh
- inst_simple "${moddir}/services/s3-dnbd3root.service" \
- "${systemdsystemunitdir}/s3-dnbd3root.service"
- mkdir --parents \
- "${initdir}/${systemdsystemunitdir}/initrd-root-device.target.requires"
- ln_r "${systemdsystemunitdir}/s3-dnbd3root.service" \
- "${systemdsystemunitdir}/initrd-root-device.target.requires/s3-dnbd3root.service"
+ slx_service "s3-dnbd3root" "Setup dnbd3-based block device of rootfs" \
+ --after "s3-fetch-config.service" \
+ --after "dracut-pre-mount.service" \
+ --wbefore "dracut-mount.service" \
+ --wbefore "initrd-root-device.target"
# Mount the root file system
- inst "$moddir/hooks/s3-mount-root.sh" \
- /usr/local/bin/s3-mount-root.sh
- inst_simple "${moddir}/services/s3-mount-root.service" \
- "${systemdsystemunitdir}/s3-mount-root.service"
- mkdir --parents \
- "${initdir}/${systemdsystemunitdir}/initrd-root-fs.target.requires"
- ln_r "${systemdsystemunitdir}/s3-mount-root.service" \
- "${systemdsystemunitdir}/initrd-root-fs.target.requires/s3-mount-root.service"
- # Copy /opt/openslx/config to newroot
- inst "$moddir/hooks/s3-copy-openslx-config.sh" \
- /usr/local/bin/s3-copy-openslx-config.sh
- inst_simple "${moddir}/services/s3-copy-openslx-config.service" \
- "${systemdsystemunitdir}/s3-copy-openslx-config.service"
- mkdir --parents \
- "${initdir}/${systemdsystemunitdir}/initrd.target.requires"
- ln_r "${systemdsystemunitdir}/s3-copy-openslx-config.service" \
- "${systemdsystemunitdir}/initrd.target.requires/s3-copy-openslx-config.service"
+ slx_service "s3-mount-root" "Mount /dev/mapper/root as /sysroot" \
+ --after "initrd-root-device.target" \
+ --requires "initrd-root-device.target" \
+ --wbefore "initrd-root-fs.target"
# Copy systemd services to new root (so they don't get killed after
# switch_root)
inst_hook pre-pivot 90 \
"$moddir/hooks/copy-dracut-systemd-files-into-newroot.sh"
- #inst_hook pre-shutdown 00 "$moddir/hooks/shutdown-umount.sh"
- #inst_hook pre-pivot 00 \
- # "$moddir/hooks/copy-openslx-configuration-into-newroot.sh"
- # endregion
- # region scripts
# endregion
# region configuration files
mkdir --parents \
"${initdir}/etc/systemd/system.conf.d"
+ # Make sure all services know about NEWROOT=/sysroot
inst "$moddir/configuration/systemd-newroot.conf" \
"/etc/systemd/system.conf.d/systemd-newroot.conf"
# Use terminal readline settings from the template system.
diff --git a/modules.d/dnbd3-rootfs/services/s3-copy-openslx-config.service b/modules.d/dnbd3-rootfs/services/s3-copy-openslx-config.service
deleted file mode 100644
index 41de7fe3..00000000
--- a/modules.d/dnbd3-rootfs/services/s3-copy-openslx-config.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Copy final /opt/openslx/config to /sysroot
-Requires=initrd-root-fs.target
-After=initrd-root-fs.target
-DefaultDependencies=no
-IgnoreOnIsolate=true
-
-[Service]
-Type=oneshot
-RemainAfterExit=true
-ExecStart=/usr/local/bin/s3-copy-openslx-config.sh
diff --git a/modules.d/dnbd3-rootfs/services/s3-dnbd3root.service b/modules.d/dnbd3-rootfs/services/s3-dnbd3root.service
deleted file mode 100644
index 3197a9cc..00000000
--- a/modules.d/dnbd3-rootfs/services/s3-dnbd3root.service
+++ /dev/null
@@ -1,15 +0,0 @@
-[Unit]
-Description=root fs on dnbd3 (distributed network block device)
-Requires=s3-fetch-config.service
-After=s3-fetch-config.service
-After=dracut-pre-mount.service
-Wants=dracut-mount.service
-Before=dracut-mount.service
-Before=initrd-root-device.target
-DefaultDependencies=no
-IgnoreOnIsolate=true
-
-[Service]
-Type=oneshot
-RemainAfterExit=true
-ExecStart=/usr/local/bin/s3-dnbd3root.sh
diff --git a/modules.d/dnbd3-rootfs/services/s3-mount-root.service b/modules.d/dnbd3-rootfs/services/s3-mount-root.service
deleted file mode 100644
index 626e21f4..00000000
--- a/modules.d/dnbd3-rootfs/services/s3-mount-root.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=Mount dnbd3/devmapped device to /sysroot
-Requires=initrd-root-device.target
-After=initrd-root-device.target
-Before=initrd-root-fs.target
-DefaultDependencies=no
-IgnoreOnIsolate=true
-
-[Service]
-Type=oneshot
-RemainAfterExit=true
-ExecStart=/usr/local/bin/s3-mount-root.sh