blob: 306277b1dd7bad3dcc8ee6d8ba078f4164897db2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# vim: set ft=sh:
run_hook ()
{
msg -n ":: Loading root filesystem module..."
if [ -n "${rootfstype}" ]; then
FSTYPE="${rootfstype}"
else
if [ ! -e "${root}" ]; then
msg "\nAttempting to create root device '${root}'"
if [ -n "${rootdelay}" ]; then
msg -n "Waiting for devices to settle..."
/bin/sleep "${rootdelay}"
msg "done."
export rootdelay=0
fi
eval $(/bin/parseblock "${root}")
if [ "${BLOCKNAME}" = "unknown" ]; then
FSTYPE="unknown"
echo "ERROR: Failed to parse block device name for '${root}'"
elif [ -z "${BLOCKDEVICE}" ]; then
FSTYPE="unknown"
echo "ERROR: Failed to parse block device ids for '${root}'"
else
export root="${BLOCKNAME}"
echo "/bin/mknod \"${BLOCKNAME}\" b ${BLOCKDEVICE}"
/bin/mknod "${BLOCKNAME}" b ${BLOCKDEVICE} >/dev/null
fi
fi
if [ -e "${root}" ]; then
eval $( /bin/fstype < "${root}" )
else
FSTYPE="unknown"
fi
fi
msg " ${FSTYPE}"
if [ "${FSTYPE}" = "unknown" ]; then
echo "ERROR: root fs cannot be detected. Try using the rootfstype= kernel parameter."
else
kinit_params="${kinit_params} rootfstype=${FSTYPE}"
/sbin/modprobe -q "${FSTYPE}" >/dev/null 2>&1
fi
}
|