72 lines
1.7 KiB
Diff
72 lines
1.7 KiB
Diff
|
From 07149fe6bea01026b3ae37afb51b0fa831e9f27a Mon Sep 17 00:00:00 2001
|
||
|
From: Harald Hoyer <harald@redhat.com>
|
||
|
Date: Thu, 7 Jan 2016 09:56:36 +0100
|
||
|
Subject: [PATCH] nbd: add missing generator
|
||
|
|
||
|
---
|
||
|
modules.d/95nbd/nbd-generator.sh | 55 ++++++++++++++++++++++++++++++++++++++++
|
||
|
1 file changed, 55 insertions(+)
|
||
|
create mode 100755 modules.d/95nbd/nbd-generator.sh
|
||
|
|
||
|
diff --git a/modules.d/95nbd/nbd-generator.sh b/modules.d/95nbd/nbd-generator.sh
|
||
|
new file mode 100755
|
||
|
index 0000000..de52d11
|
||
|
--- /dev/null
|
||
|
+++ b/modules.d/95nbd/nbd-generator.sh
|
||
|
@@ -0,0 +1,55 @@
|
||
|
+#!/bin/sh
|
||
|
+
|
||
|
+type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
|
||
|
+
|
||
|
+[ -z "$root" ] && root=$(getarg root=)
|
||
|
+
|
||
|
+[ "${root%%:*}" = "nbd" ] || exit 0
|
||
|
+
|
||
|
+GENERATOR_DIR="$2"
|
||
|
+[ -z "$GENERATOR_DIR" ] && exit 1
|
||
|
+
|
||
|
+[ -d "$GENERATOR_DIR" ] || mkdir "$GENERATOR_DIR"
|
||
|
+
|
||
|
+ROOTFLAGS="$(getarg rootflags)"
|
||
|
+
|
||
|
+nroot=${root#nbd:}
|
||
|
+nbdserver=${nroot%%:*}; nroot=${nroot#*:}
|
||
|
+nbdport=${nroot%%:*}; nroot=${nroot#*:}
|
||
|
+nbdfstype=${nroot%%:*}; nroot=${nroot#*:}
|
||
|
+nbdflags=${nroot%%:*}
|
||
|
+
|
||
|
+if [ "$nbdflags" = "$nbdfstype" ]; then
|
||
|
+ unset nbdflags
|
||
|
+fi
|
||
|
+if [ "$nbdfstype" = "$nbdport" ]; then
|
||
|
+ unset nbdfstype
|
||
|
+fi
|
||
|
+
|
||
|
+[ -n "$nbdflags" ] && ROOTFLAGS="$nbdflags"
|
||
|
+
|
||
|
+if getarg "ro"; then
|
||
|
+ if [ -n "$ROOTFLAGS" ]; then
|
||
|
+ ROOTFLAGS="$ROOTFLAGS,ro"
|
||
|
+ else
|
||
|
+ ROOTFLAGS="ro"
|
||
|
+ fi
|
||
|
+fi
|
||
|
+
|
||
|
+if [ -n "$nbdfstype" ]; then
|
||
|
+ ROOTFSTYPE="$nbdfstype"
|
||
|
+else
|
||
|
+ ROOTFSTYPE=$(getarg rootfstype=) || unset ROOTFSTYPE
|
||
|
+fi
|
||
|
+
|
||
|
+{
|
||
|
+ echo "[Unit]"
|
||
|
+ echo "Before=initrd-root-fs.target"
|
||
|
+ echo "[Mount]"
|
||
|
+ echo "Where=/sysroot"
|
||
|
+ echo "What=/dev/root"
|
||
|
+ [ -n "$ROOTFSTYPE" ] && echo "Type=${ROOTFSTYPE}"
|
||
|
+ [ -n "$ROOTFLAGS" ] && echo "Options=${ROOTFLAGS}"
|
||
|
+} > "$GENERATOR_DIR"/sysroot.mount
|
||
|
+
|
||
|
+exit 0
|