fs 805 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/sh
  2. #INIT 20
  3. [[ $1 = autostart ]] || exit 0
  4. # activate swap
  5. [ -x /sbin/swapon ] && { swapon -a; }
  6. # activate any logical volumes
  7. [ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay; }
  8. rootdisk=$(readlink /dev/root)
  9. # strip partitions (f.e. mmcblk0p2, sda2, ..)
  10. rootdisk=${rootdisk%p*}
  11. rootdisk=${rootdisk%[1-9]}
  12. rootparts=$(grep "^/dev/${rootdisk}" /etc/fstab|awk '{ print $1 }')
  13. for part in $rootparts; do
  14. fstype=$(grep "^$part" /etc/fstab|awk '{ print $3 }')
  15. mnt=$(grep "^$part" /etc/fstab|awk '{ print $2 }')
  16. [ -x /usr/sbin/fsck.$fstype ] && {
  17. logger -s "Checking $fstype filesystem on $part"
  18. fsck -p -t $fstype $part
  19. }
  20. grep $fstype /proc/filesystems >/dev/null 2>&1
  21. if [ $? -eq 0 ];then
  22. mount $mnt
  23. else
  24. logger -s "Filesystem $fstype not in kernel"
  25. exit 1
  26. fi
  27. done
  28. exit 0