diff options
Diffstat (limited to 'modules.d/dnbd3-rootfs')
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 |