Magellan Linux

Contents of /trunk/busybox-initscripts/rc/mountfs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 735 - (show annotations) (download)
Tue Jun 10 23:08:56 2008 UTC (15 years, 10 months ago) by niro
File size: 3031 byte(s)
-added noswap to prevent some errors

1 #!/bin/sh
2 # $Header: /home/cvsd/magellan-cvs/magellan-src/busybox-initscripts/rc/mountfs,v 1.2 2008-06-10 23:08:56 niro Exp $
3
4 #%rlevels: 7:s 0:k
5 #%start: 40
6 #%stop: 60
7
8 #deps
9 #%needs:
10 #%before:
11 #%after:
12
13 source /etc/conf.d/rc
14 source ${rc_functions}
15
16 case "$1" in
17 start)
18 # fake mounts rootfs (taken from /.bootdev)
19 if [ -e /.bootdev ]
20 then
21 source /.bootdev
22 mount -f ${BOOTDEV} /mnt/cdrom -t ${FSTYPE} -o ro
23 # we don't delete this for the alx settings import
24 # wanna check if usbstorage or not
25 # rm /.bootdev
26
27 # fake mounts cloop, loop or sqsh
28 if [ -f /mnt/cdrom/livecdrootfs.loop ]
29 then
30 mount -f /mnt/cdrom/livecdrootfs.loop /mnt/cloop -t ext2 -o ro
31
32 elif [ -f /mnt/cdrom/livecdrootfs.cloop ]
33 then
34 mount -f /mnt/cdrom/livecdrootfs.cloop /mnt/cloop -t ext2 -o ro
35
36 elif [ -f /mnt/cdrom/livecdrootfs.sqsh ]
37 then
38 mount -f /mnt/cdrom/livecdrootfs.sqsh /mnt/cloop -t ext2 -o ro
39 fi
40 else
41 echo -e ${COLOREDSTAR}"Remounting root file system in read-write mode ..."
42 mount -n -o remount,rw /
43 evaluate_retval
44 fi
45
46 echo -e ${COLOREDSTAR}"Recording existing mounts in /etc/mtab ..."
47 > /etc/mtab
48
49 mount -f / && mount -f /proc
50
51 # records devfs as mounted
52 is_fs_mounted devfs && mount -f -t devfs devfs /dev
53
54 # records devpts as mounted
55 is_fs_mounted devpts && mount -f -t devpts devpts /dev/pts
56
57 # records sysfs as mounted
58 is_fs_mounted sysfs && mount -f -t sysfs sysfs /sys
59
60 # records udev as mounted
61 if is_fs_mounted udev
62 then
63 # get the fstype of udev - it may be ramfs or tmpfs
64 udev_fstype="$(cat /proc/mounts | grep udev | cut -d ' ' -f3)"
65 # get the right mount opts - udev with tmpfs comes nosuid
66 udev_mopts="$(cat /proc/mounts | grep udev | cut -d ' ' -f4)"
67 mount -f -t ${udev_fstype} -o ${udev_mopts} udev /dev
68 fi
69
70 # records usbfs as mounted
71 is_fs_mounted usbfs && mount -f -t usbfs usbfs /proc/bus/usb
72
73 evaluate_retval
74
75 # The following mount command will mount all file systems. If you
76 # have other (network based) file system that should not be or
77 # cannot be mounted at this time, add them to the NO_FS variable
78 # below. All file systems that are added to the variable in the
79 # form of no<filesystem> will be skipped.
80 NO_FS="noswap,nonfs,nosmbfs,noproc,nocoda,noncpfs,noshm"
81 echo -e ${COLOREDSTAR}"Mounting remaining file systems ..."
82 mount -a -t $NO_FS
83 evaluate_retval
84
85 update_svcstatus $1
86 splash svc_started "$(basename $0)" 0
87 ;;
88
89 stop)
90 echo -e ${COLOREDSTAR}"Unmounting all other currently mounted file systems ..."
91 if [ -e /dev/.udev ]
92 then
93 NO_FS="noramfs,notmpfs"
94 umount -a -r -d -t ${NO_FS}
95 else
96 # -d, umount loop devices as well
97 umount -a -r -d
98 fi
99 evaluate_retval
100
101 if [ -e /.bootdev ] && [ -x /usr/bin/eject ]
102 then
103 echo -e ${COLOREDSTAR}"Trying to eject the live-media ..."
104 eject -m /mnt/cdrom &> /dev/null
105 evaluate_retval
106 fi
107
108 update_svcstatus $1
109 splash svc_stopped "$(basename $0)" 0
110 ;;
111
112 *)
113 echo "Usage: $0 {start|stop}"
114 exit 1
115 ;;
116 esac