summaryrefslogtreecommitdiffstats
path: root/hooks/filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'hooks/filesystems')
-rw-r--r--hooks/filesystems25
1 files changed, 25 insertions, 0 deletions
diff --git a/hooks/filesystems b/hooks/filesystems
new file mode 100644
index 0000000..c676832
--- /dev/null
+++ b/hooks/filesystems
@@ -0,0 +1,25 @@
+# vim: set ft=sh:
+run_hook ()
+{
+ msg -n ":: Loading root filesystem module..."
+ if [ "x${rootfstype}" != "x" ]; then
+ FSTYPE="${rootfstype}"
+ else
+ if [ "x${root}" != "x" ]; then
+ msg "Attempting to create root device '${root}'"
+ dev_t=$( /bin/parseblock "${root}" )
+ if [ "x${dev_t}" != "x" ]; then
+ /bin/mknod "${root}" b ${dev_t}
+ eval $( /bin/fstype < "${root}" )
+ else
+ FSTYPE="unknown"
+ echo "ERROR: Failed to parse block device '${root}'"
+ fi
+ else
+ FSTYPE="unknown"
+ echo "ERROR: root fs cannot be detected. Try using the rootfstype= kernel parameter."
+ fi
+ fi
+ msg " ${FSTYPE}"
+ /bin/modprobe -q "${FSTYPE}" >/dev/null 2>&1
+}