summaryrefslogtreecommitdiffstats
path: root/hooks/filesystems
diff options
context:
space:
mode:
authorAaron Griffin <aaron@archlinux.org>2006-04-22 01:00:28 +0200
committerAaron Griffin <aaron@archlinux.org>2006-04-22 01:00:28 +0200
commitea20a441f8fecc9fa84e0e1f12c4b71bf436f872 (patch)
tree1f2ff1cec1b0629f4ba5639729c9438bcdaf7d44 /hooks/filesystems
parentacc783c8af5514083e542fe7d91be6a1c5920ad7 (diff)
downloadmkinitcpio-ea20a441f8fecc9fa84e0e1f12c4b71bf436f872.tar.gz
mkinitcpio-ea20a441f8fecc9fa84e0e1f12c4b71bf436f872.tar.xz
Hook updates and changes...
git-svn-id: http://projects.archlinux.org/svn/initramfs/mkinitcpio@7 880c04e9-e011-0410-abf7-b926e227c9cd
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
+}