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