6a2931e67d5446d2d4c23995a4625d88b5093049
[kernel-bfs] / kernel-power-settings / pre-mount
1 #!/bin/sh
2 # pre-mounting script
3 # called by /etc/default/mount-opts sourced by /etc/event.d/rcS-late
4 # (c) Copyright 2010 by Thomas Tanner <maemo@tannerlab.com>
5 # licensed under GPLv3
6 # version 0.1 (2. May 2010)
7
8 if test -f /etc/kernel-power/pre-mount.once; then
9         # execute pre-mount script once
10         mv /etc/kernel-power/pre-mount.once /etc/kernel-power/pre-mount.done
11         date >> /etc/kernel-power/pre-mount.log
12         sh /etc/kernel-power/pre-mount.done >> /etc/kernel-power/pre-mount.log
13 fi
14
15 fforce=/etc/kernel-power/force_fsck
16 #temporarly overwrite 0=off, 1=on
17 force=
18 if test -f $fforce; then
19     force=`cat $fforce` 
20     if test ! "$force" = 1; then
21         rm $fforce # disabled
22         exit 0
23     fi
24 else
25     cfg=/etc/default/kernel-boot
26     test -f $cfg || exit 0
27     FSCK_HOME=0
28     source $cfg
29     if test "$FSCK_HOME" = 1; then
30         force=
31     elif test "$FSCK_HOME" = force; then
32         force=1
33     else
34         exit 0 # disabled
35     fi 
36 fi
37
38 part=`sfdisk -l /dev/mmcblk0 | awk '$6 == 83 { print $1; exit }'`
39 test -z "$part" && exit 0
40
41 mkdir -p /etc/kernel-power/
42 date >> /etc/kernel-power/pre-mount.log
43
44 # dont continue if reboot during fsck
45 echo 0 > $fforce
46 test $force = 1 && force="-f"
47 fsck -y $force -t ext3 $part >> /etc/kernel-power/pre-mount.log
48
49 rm $fforce # use defaults
50
51 exit 0