summaryrefslogtreecommitdiffstats
path: root/builder/modules.d/dnbd3-rootfs/hooks
diff options
context:
space:
mode:
Diffstat (limited to 'builder/modules.d/dnbd3-rootfs/hooks')
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/copy-dnbd3-service-into-newroot.sh12
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/copy-dracut-systemd-files-into-newroot.sh35
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/copy-openslx-configuration-into-newroot.sh18
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/enable-sysrq.sh5
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/fetch-config.sh50
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh12
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh9
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh107
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/hooks/set-dracut-environment-variables.sh16
-rw-r--r--builder/modules.d/dnbd3-rootfs/hooks/shutdown-umount.sh11
10 files changed, 0 insertions, 275 deletions
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/copy-dnbd3-service-into-newroot.sh b/builder/modules.d/dnbd3-rootfs/hooks/copy-dnbd3-service-into-newroot.sh
deleted file mode 100755
index ddfe4992..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/copy-dnbd3-service-into-newroot.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-
-systemd_system_unit_path="$(dirname \
- "$(systemctl show -p FragmentPath dracut-mount.service | cut -c 14-)")"
-new_systemd_system_unit_path="${NEWROOT}/lib/systemd/system"
-cp "${systemd_system_unit_path}/dnbd3root.service" \
- "${new_systemd_system_unit_path}/dnbd3root.service"
-mkdir --parents "${new_systemd_system_unit_path}/sysinit.target.wants"
-ln --symbolic '../dnbd3root.service' \
- "${new_systemd_system_unit_path}/sysinit.target.wants/dnbd3root.service"
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/copy-dracut-systemd-files-into-newroot.sh b/builder/modules.d/dnbd3-rootfs/hooks/copy-dracut-systemd-files-into-newroot.sh
deleted file mode 100755
index 5de1f2e9..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/copy-dracut-systemd-files-into-newroot.sh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-
-# Needed to be able to go back to dracut at system shutdown.
-temporary_directory_path="$(mktemp --directory)"
-mount --options bind / "$temporary_directory_path"
-cp --recursive --no-target-directory "$temporary_directory_path" /run/initramfs
-umount "$temporary_directory_path"
-rm --dir "$temporary_directory_path"
-
-# Dracut may not be installed on the new root. Thus copy all services over.
-dracut_mount_unit_path="$(systemctl show -p FragmentPath dracut-mount.service \
- | cut -c 14-)"
-systemd_system_unit_path="${dracut_mount_unit_path%/*}"
-new_systemd_system_unit_path="${NEWROOT}/lib/systemd/system"
-
-mkdir --parents "$new_systemd_system_unit_path/initrd.target.wants"
-for file in \
- dracut-cmdline.service \
- dracut-initqueue.service \
- dracut-mount.service \
- dracut-pre-mount.service \
- dracut-pre-pivot.service \
- dracut-pre-trigger.service \
- dracut-pre-udev.service
-do
- cp "${systemd_system_unit_path}/${file}" \
- "${new_systemd_system_unit_path}/${file}"
- # "ln" returns an error if the link already exists.
- source_path="../${file}"
- target_path="${new_systemd_system_unit_path}/initrd.target.wants/${file}"
- ln --symbolic "$source_path" "$targetPath" &>/dev/null || \
- warn "Failed to link \"$source_path\" to \"$target_path\"."
-done
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/copy-openslx-configuration-into-newroot.sh b/builder/modules.d/dnbd3-rootfs/hooks/copy-openslx-configuration-into-newroot.sh
deleted file mode 100755
index ff01474f..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/copy-openslx-configuration-into-newroot.sh
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-source "/etc/openslx"
-
-mkdir --parents "${NEWROOT}/opt/openslx"
-cp "/etc/openslx" "${NEWROOT}/opt/openslx/config"
-
-echo "## Generated by '$0' in stage3" >> "${NEWROOT}/opt/openslx/config"
-cat "/run/openslx/network.conf" >> "${NEWROOT}/opt/openslx/config"
-
-# 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/builder/modules.d/dnbd3-rootfs/hooks/enable-sysrq.sh b/builder/modules.d/dnbd3-rootfs/hooks/enable-sysrq.sh
deleted file mode 100755
index 323ec45e..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/enable-sysrq.sh
+++ /dev/null
@@ -1,5 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-
-# Enables magic sysrq kernel supported key combinations.
-echo 1 > /proc/sys/kernel/sysrq
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/fetch-config.sh b/builder/modules.d/dnbd3-rootfs/hooks/fetch-config.sh
deleted file mode 100755
index a11332a7..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/fetch-config.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-# region imports
-type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-# endregion
-
-slx_server="$(getarg slxsrv=)"
-slx_server_base="$(getarg slxbase=)"
-
-# build config_url
-config_url="http://${slx_server#@}/${slx_server_base}/config"
-
-# check if system's uuid was set
-if [ -s "/run/system-uuid" ]; then
- uuid=$(cat "/run/system-uuid")
- if [ -n "$uuid" ]; then
- config_url="${config_url}?uuid=${uuid}"
- fi
-fi
-
-config_path="/etc/openslx.tmp"
-
-echo "Downloading '$config_url'..."
-slx-tools download_retry -s "$config_url" > "$config_path"
-
-if [ ! -s "$config_path" ] ; then
- warn "Downloading OpenSLX configuration file from '$config_url' failed with: $return_code"
- emergency_shell "CRITICAL: System unusable."
-fi
-
-if ! ash -n "$config_path"; then
- warn "Downloaded OpenSLX configuration failed syntax check!"
- emergency_shell "CRITICAL: System unusable."
-fi
-
-# remember kcl server and base
-{
- echo "SLX_KCL_SERVERS='$slx_server'"
- echo "SLX_BASE_PATH='$slx_server_base'"
- echo "# Config fetched from $config_url"
- echo "CONFIG_DOWNLOAD_TIME=$(sed -r 's/^([0-9]+)\.([0-9]+).*$/\1\2/' /proc/uptime)"
- echo '#_RCONFIG_TAG'
-} > /etc/openslx
-
-# finally copy remote config into it
-cat "$config_path" >> /etc/openslx
-
-# slxsrv overrides SLX_DNBD3_SERVERS if prefixed with @
-[ "${slx_server#@}" != "${slx_server}" ] && sed -i "s/^SLX_DNBD3_SERVERS=.*/SLX_DNBD3_SERVERS='${slx_server#@}'/" "/etc/openslx"
-true
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh b/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh
deleted file mode 100755
index b3d3eb75..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/load-custom-kernel-modules.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-for kmod in dnbd3 \
- "loop max_loop=8" \
- loop_file_fmt_qcow \
- loop_file_fmt_raw; do
- if ! modprobe ${kmod}; then
- warn "Failed to load kernel module: $kmod"
- ! :
- fi
-done
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh b/builder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh
deleted file mode 100755
index 6f31bbac..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/mount-root-device.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-type emergency_shell >/dev/null 2>&1 || source /lib/dracut-lib.sh
-
-source "/etc/openslx"
-mount "$SLX_DNBD3_DEVICE_COW" "$NEWROOT" $SLX_MOUNT_ROOT_OPTIONS
-if [ -n "$SLX_GENERATE_FSTAB_SCRIPT" ]; then
- eval "$SLX_GENERATE_FSTAB_SCRIPT"
-else
- echo "" > "$NEWROOT/etc/fstab"
-fi
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh b/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
deleted file mode 100755
index aa782184..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/prepare-root-partition.sh
+++ /dev/null
@@ -1,107 +0,0 @@
-#!/usr/bin/env bash
-type emergency_shell > /dev/null 2>&1 || source /lib/dracut-lib.sh
-source /etc/openslx
-
-export PATH="/usr/local/bin:$PATH"
-export LD_LIBRARY_PATH="/usr/local/lib"
-
-
-# hardcode dnbd device path
-declare -rg _dnbd3_dev="/dev/dnbd0"
-
-# all outputs are redirected to stderr, since this functions should
-# only echo the path to the unpacked container to stdout.
-container_unpack_xmount() {
- local in_device="$1"
- local out_path="/mnt/xmount"
- mkdir -p "$out_path"
- # check tools first
- if ! hash xmount systemd-preserve-process-marker; then
- warn "Missing xmount deps, will try raw..." 1>&2
- elif ! systemd-preserve-process-marker xmount \
- --in qemu "$in_device" \
- --out raw "$out_path" &>/dev/null; then
- warn "xmount call failed, assuming raw image." 1>&2
- else
- in_device="${out_path}/${_dnbd3_dev##*/}.dd"
- fi
- local out_device="$(losetup -f)"
- if ! losetup "$out_device" "$in_device" --partscan; then
- warn "Failed to attach '$in_device' to '$out_device'."
- return 1
- fi
- udevadm settle
- echo "$out_device"
-}
-
-container_unpack_losetup() {
- local in_device="$1"
- local out_device="$(losetup -f)"
- if ! losetup -r -t QCOW "$out_device" "$in_device" --partscan; then
- warn "Failed to attach '$in_device' to '$out_device'."
- return
- fi
- udevadm settle
- echo "$out_device"
-}
-# endregion
-
-(
-IFS=", "
-for host in ${SLX_DNBD3_SERVERS} FAIL; do
- if [ "$host" = "FAIL" ]; then
- emergency_shell "Failed to connect '${SLX_DNBD3_IMAGE}' "\
- "${SLX_DNBD3_RID:+(revision: $SLX_DNBD3_RID)} "
- "from one of '$SLX_DNBD3_SERVERS' to '$_dnbd3_dev'."
- fi
- info "Trying host \"$host\"."
- if systemd-preserve-process-marker dnbd3-client \
- --host "$host" \
- --image "${SLX_DNBD3_IMAGE}" \
- --device "$_dnbd3_dev" \
- ${SLX_DNBD3_RID:+--rid "$SLX_DNBD3_RID"}; then
- break
- fi
-done
-)
-# endregion
-# region unpack dnbd3 image
-[ -z "$SLX_QCOW_HANDLER" ] && SLX_QCOW_HANDLER="xmount"
-if [ "$SLX_QCOW_HANDLER" = "xmount" ]; then
- read_only_device="$(container_unpack_xmount "$_dnbd3_dev")"
-elif [ "$SLX_QCOW_HANDLER" = "kernel" ]; then
- read_only_device="$(container_unpack_losetup "$_dnbd3_dev")"
-else
- warn "Unsupported QCOW handler: $SLX_QCOW_HANDLER"
-fi
-
-# Fail fast if unpacking dnbd3 image failed.
-[ -z "$read_only_device" ] && exit 1
-
-# endregion
-# region find system partition within dnbd3 image
-if [ -z "$SLX_SYSTEM_PARTITION_PREPARATION_SCRIPT" ]; then
- if [ -z "$SLX_SYSTEM_PARTITION_IDENTIFIER" ]; then
- # if empty use whole device
- read_only_partition="$read_only_device"
- true
- else
- read_only_partition="$(slx-tools dev_find_partitions \
- "$read_only_device" "$SLX_SYSTEM_PARTITION_IDENTIFIER")"
- fi
-else
- eval "$SLX_SYSTEM_PARTITION_PREPARATION_SCRIPT"
-fi
-if [[ ! $? || -z "$read_only_partition" ]]; then
- warn "Failed to find unique device with identifier" \
- "\"${SLX_SYSTEM_PARTITION_IDENTIFIER}\"; matched devices:" \
- "\"${read_only_partition}\""
- exit 1
-fi
-info "Using read-only partition: $read_only_partition"
-# endregion
-
-# region add rw layer to dnbd3 image
-# don't be fooled to think we are done, the next part is crucial
-dmsetup-slx-device "$read_only_partition"
-# endregion
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/set-dracut-environment-variables.sh b/builder/modules.d/dnbd3-rootfs/hooks/set-dracut-environment-variables.sh
deleted file mode 100755
index ad80349b..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/set-dracut-environment-variables.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env bash
-# -*- coding: utf-8 -*-
-
-# Set rootok and root as dracut expects them to be set by the module preparing
-# the root filesystem.
-
-# Tell dracut that we parsed the command line and all needed parameters are
-# available.
-rootok=1
-# Tell dracut where the final root fs will be located.
-root=block:/dev/devicemapper/root
-
-# region vim modline
-# vim: set tabstop=4 shiftwidth=4 expandtab:
-# vim: foldmethod=marker foldmarker=region,endregion:
-# endregion
diff --git a/builder/modules.d/dnbd3-rootfs/hooks/shutdown-umount.sh b/builder/modules.d/dnbd3-rootfs/hooks/shutdown-umount.sh
deleted file mode 100644
index ab78733c..00000000
--- a/builder/modules.d/dnbd3-rootfs/hooks/shutdown-umount.sh
+++ /dev/null
@@ -1,11 +0,0 @@
-#!/usr/bin/env bash
-
-source /etc/openslx
-
-export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
-
-umount /oldroot
-dmsetup --noudevsync remove root
-losetup --detach-all
-umount /mnt/*
-dnbd3-client --device "$SLX_DNBD3_DEVICE" --close