summaryrefslogtreecommitdiff
path: root/templates/labelmount.handler
diff options
context:
space:
mode:
Diffstat (limited to 'templates/labelmount.handler')
-rw-r--r--templates/labelmount.handler17
1 files changed, 17 insertions, 0 deletions
diff --git a/templates/labelmount.handler b/templates/labelmount.handler
new file mode 100644
index 00000000..22090bd4
--- /dev/null
+++ b/templates/labelmount.handler
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# Mount a block device with the specified label ('label') onto the given
+# directory ('dest').
+
+getconf label
+getconf dest
+
+if [ ! -b "/dev/disk/by-label/$label" ]; then
+ halt "No partition labelled '$label' is available"
+fi
+
+if [ ! -d "$dest" ]; then
+ halt "Destination directory does not exist"
+fi
+
+mount -t auto /dev/disk/by-label/$label $dest || halt "Mount failed"