#!/bin/sh #INIT 10 [[ $1 = autostart ]] || exit 0 # activate swap [ -x /sbin/swapon ] && { grep swap /etc/fstab >/dev/null 2>&1 if [ $? -eq 0 ];then logger -t 'SWAP' "Activating swap" swapon -a fi } # activate any logical volumes [ -x /usr/sbin/lvm ] && { logger -t 'LVM' "Activating LVM volumes" lvm vgscan lvm vgchange -ay } # mount local filesystems fstypes="ext2 ext3 ext4 xfs vfat ntfs ntfs-3g" for fs in $fstypes; do procfs=$fs if [ $fs = "ntfs-3g" ];then procfs=fuse fi disks=$(grep -v "^#" /etc/fstab|grep "${fs}[[:blank:]]"|awk '{ print $1 }') for disk in $disks; do logger -t 'Filesystem' "Found $disk with filesystem $fs" mnt=$(grep -v "^#" /etc/fstab|grep "${disk}[[:blank:]]"|awk '{ print $2 }') grep $procfs /proc/filesystems >/dev/null 2>&1 if [ $? -eq 0 ];then [ -x /usr/sbin/fsck.$fs ] && { logger -t 'Filesystem' "checking $fs filesystem on $disk" fsck -p $disk >/dev/null 2>&1 } mkdir -p $mnt > /dev/null 2>&1 if [ -b $disk ]; then logger -t 'Filesystem' "Mounting $disk to $mnt" mount $disk else logger -t 'Filesystem' "Skipping mounting $disk, device file missing" fi else logger -t 'Filesystem' "No $procfs filesystem in kernel" fi done done exit 0