summaryrefslogtreecommitdiffstats
path: root/builder/modules.d/dnbd3-rootfs/scripts/device-add-write-layer.sh
diff options
context:
space:
mode:
authorJonathan Bauer2017-03-07 11:14:32 +0100
committerJonathan Bauer2017-03-07 11:14:32 +0100
commit9b61577c3ceb809c2473d4757590a01054466eaf (patch)
tree2bbbd2dc0a7e79f8509b53bef2f1aba939900489 /builder/modules.d/dnbd3-rootfs/scripts/device-add-write-layer.sh
parentYannick Bilger's WLAN boot prototype (diff)
downloadsystemd-init-9b61577c3ceb809c2473d4757590a01054466eaf.tar.gz
systemd-init-9b61577c3ceb809c2473d4757590a01054466eaf.tar.xz
systemd-init-9b61577c3ceb809c2473d4757590a01054466eaf.zip
moved all dracut modules to modules.d/ + support
Diffstat (limited to 'builder/modules.d/dnbd3-rootfs/scripts/device-add-write-layer.sh')
-rwxr-xr-xbuilder/modules.d/dnbd3-rootfs/scripts/device-add-write-layer.sh26
1 files changed, 26 insertions, 0 deletions
diff --git a/builder/modules.d/dnbd3-rootfs/scripts/device-add-write-layer.sh b/builder/modules.d/dnbd3-rootfs/scripts/device-add-write-layer.sh
new file mode 100755
index 00000000..2e4116a7
--- /dev/null
+++ b/builder/modules.d/dnbd3-rootfs/scripts/device-add-write-layer.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+# -*- coding: utf-8 -*-
+# region imports
+# shellcheck source=./rebash/core.sh
+source "/usr/lib/rebash/core.sh"
+core.import exceptions
+exceptions.activate
+# endregion
+
+combined_device_name="$1"
+read_only_device="$2"
+writable_device="$3"
+persistent="$4" # P or N
+chunksize='1'
+
+partition_size="$(blockdev --getsz "$read_only_device")"
+writable_partition_name='root'
+modprobe dm_snapshot
+dmsetup create "$combined_device_name" --noudevsync --table \
+ "0 $partition_size snapshot $read_only_device $writable_device $persistent $chunksize"
+dmsetup mknodes --noudevsync "$combined_device_name"
+
+# region vim modline
+# vim: set tabstop=4 shiftwidth=4 expandtab:
+# vim: foldmethod=marker foldmarker=region,endregion:
+# endregion