79 lines
2.1 KiB
Bash
79 lines
2.1 KiB
Bash
|
[ -n "$VIRTUALIZATION" ] && return 0
|
||
|
|
||
|
#msg "Remounting rootfs read-only..."
|
||
|
#mount -o remount,ro / || emergency_shell
|
||
|
|
||
|
if [ -x /sbin/dmraid -o -x /bin/dmraid ]; then
|
||
|
msg "Activating dmraid devices..."
|
||
|
dmraid -i -ay
|
||
|
fi
|
||
|
|
||
|
if [ -x /bin/mdadm ]; then
|
||
|
msg "Activating software RAID arrays..."
|
||
|
mdadm -As
|
||
|
fi
|
||
|
|
||
|
if [ -x /bin/btrfs ]; then
|
||
|
msg "Activating btrfs devices..."
|
||
|
btrfs device scan || emergency_shell
|
||
|
fi
|
||
|
|
||
|
if [ -x /sbin/vgchange -o -x /bin/vgchange ]; then
|
||
|
msg "Activating LVM devices..."
|
||
|
vgchange --sysinit -a ay || emergency_shell
|
||
|
fi
|
||
|
|
||
|
if [ -e /etc/crypttab ]; then
|
||
|
msg "Activating encrypted devices..."
|
||
|
awk -f /etc/runit/crypt.awk /etc/crypttab
|
||
|
|
||
|
if [ -x /sbin/vgchange -o -x /bin/vgchange ]; then
|
||
|
msg "Activating LVM devices for dm-crypt..."
|
||
|
vgchange --sysinit -a ay || emergency_shell
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
if [ -x /usr/bin/zpool -a -x /usr/bin/zfs ]; then
|
||
|
if [ -e /etc/zfs/zpool.cache ]; then
|
||
|
msg "Importing cached ZFS pools..."
|
||
|
zpool import -N -a -c /etc/zfs/zpool.cache
|
||
|
else
|
||
|
msg "Scanning for and importing ZFS pools..."
|
||
|
zpool import -N -a -o cachefile=none
|
||
|
fi
|
||
|
|
||
|
msg "Mounting ZFS file systems..."
|
||
|
zfs mount -a -l
|
||
|
|
||
|
msg "Sharing ZFS file systems..."
|
||
|
zfs share -a
|
||
|
|
||
|
# NOTE(dh): ZFS has ZVOLs, block devices on top of storage pools.
|
||
|
# In theory, it would be possible to use these as devices in
|
||
|
# dmraid, btrfs, LVM and so on. In practice it's unlikely that
|
||
|
# anybody is doing that, so we aren't supporting it for now.
|
||
|
fi
|
||
|
|
||
|
[ -f /fastboot ] && FASTBOOT=1
|
||
|
[ -f /forcefsck ] && FORCEFSCK="-f"
|
||
|
for arg in $(cat /proc/cmdline); do
|
||
|
case $arg in
|
||
|
fastboot) FASTBOOT=1;;
|
||
|
forcefsck) FORCEFSCK="-f";;
|
||
|
esac
|
||
|
done
|
||
|
|
||
|
if [ -z "$FASTBOOT" ]; then
|
||
|
msg "Checking filesystems:"
|
||
|
fsck -A -T -a -t noopts=_netdev $FORCEFSCK
|
||
|
if [ $? -gt 1 ]; then
|
||
|
s emergency_shell
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
msg "Mounting all non-network filesystems..."
|
||
|
mount -a -t "nosysfs,nonfs,nonfs4,nosmbfs,nocifs" -O no_netdev || emergency_shell
|
||
|
# data module
|
||
|
msg "Creating and mounting data directories..."
|
||
|
/usr/local/bin/mount-data || emergency_shell
|