summaryrefslogtreecommitdiffstats
path: root/builder/modules.d/slx-dmsetup/scripts/generate-fstab-swap.sh
diff options
context:
space:
mode:
authorJonathan Bauer2019-07-31 10:28:20 +0200
committerJonathan Bauer2019-07-31 10:28:20 +0200
commit2f9e522caf8dd029d80f1f9e0cccefeb8778e584 (patch)
tree0ef45f8e15cb2614297312277fa40690a8f3b163 /builder/modules.d/slx-dmsetup/scripts/generate-fstab-swap.sh
parent[slx-network] add missing quotes (diff)
downloadsystemd-init-2f9e522caf8dd029d80f1f9e0cccefeb8778e584.tar.gz
systemd-init-2f9e522caf8dd029d80f1f9e0cccefeb8778e584.tar.xz
systemd-init-2f9e522caf8dd029d80f1f9e0cccefeb8778e584.zip
[slx-partitioner] renamed to slx-dmsetup
Diffstat (limited to 'builder/modules.d/slx-dmsetup/scripts/generate-fstab-swap.sh')
-rw-r--r--builder/modules.d/slx-dmsetup/scripts/generate-fstab-swap.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/builder/modules.d/slx-dmsetup/scripts/generate-fstab-swap.sh b/builder/modules.d/slx-dmsetup/scripts/generate-fstab-swap.sh
new file mode 100644
index 00000000..bb37d6cf
--- /dev/null
+++ b/builder/modules.d/slx-dmsetup/scripts/generate-fstab-swap.sh
@@ -0,0 +1,33 @@
+#!/usr/bin/env bash
+#
+# Script to create stage4's fstab entry for swap devices
+#
+# Will use swap partitions of MBR's type '82' or
+# GPT UUID '0657fd6d-a4ab-43c4-84e5-0933c84b4f4f'
+#
+. /etc/openslx
+
+for swap_dev in \
+ $(slx-tools dev_find_partitions "82" "0657fd6d-a4ab-43c4-84e5-0933c84b4f4f"); do
+
+ [ -z "$swap_dev" ] && continue
+
+ # Generate swap fstab entry for NEWROOT. Use priority 10 to prefer zram
+ echo -e "$swap_dev\tswap\t\tswap\t\tx-systemd.makefs,pri=10\t0\t0" \
+ >> "$NEWROOT/etc/fstab"
+
+ # check if configured not to wipe any existing filesystem
+ [ "$SLX_WIPE_SWAP_DEVICE" = "yes" ] || continue
+
+ # create a drop-in to wipe the device's filesystem
+ swap_dev_systemd_escaped="$(tr '/' '-' <<< ${swap_dev:1})"
+ base_dir="$NEWROOT/etc/systemd/system"
+ dropin_dir="$base_dir/systemd-mkswap@${swap_dev_systemd_escaped}.service.d"
+ mkdir -p "$dropin_dir"
+ cat <<- EOF > "$dropin_dir/wipefs.conf"
+ [Service]
+ ExecStartPre=/sbin/wipefs -a %f
+ EOF
+done
+
+true