diff options
Diffstat (limited to 'hooks/filesystems')
-rw-r--r-- | hooks/filesystems | 25 |
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 +} |