summaryrefslogtreecommitdiffstats
path: root/modules.d/95rootfs-block/block-genrules.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d/95rootfs-block/block-genrules.sh')
-rwxr-xr-xmodules.d/95rootfs-block/block-genrules.sh16
1 files changed, 16 insertions, 0 deletions
diff --git a/modules.d/95rootfs-block/block-genrules.sh b/modules.d/95rootfs-block/block-genrules.sh
new file mode 100755
index 0000000..d5df0ee
--- /dev/null
+++ b/modules.d/95rootfs-block/block-genrules.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+if [ "${root%%:*}" = "block" ]; then
+ {
+ printf 'KERNEL=="%s", SYMLINK+="root"\n' \
+ "${root#block:/dev/}"
+ printf 'SYMLINK=="%s", SYMLINK+="root"\n' \
+ "${root#block:/dev/}"
+ } >> /etc/udev/rules.d/99-root.rules
+
+ # shellcheck disable=SC2016
+ printf '[ -e "%s" ] && { ln -s "%s" /dev/root 2>/dev/null; rm "$job"; }\n' \
+ "${root#block:}" "${root#block:}" > "$hookdir"/initqueue/settled/blocksymlink.sh
+
+ wait_for_dev "${root#block:}"
+fi