Contents of /tags/busybox-init-0_1_13/rc/mountfs
Parent Directory | Revision Log
Revision 735 -
(show annotations)
(download)
Tue Jun 10 23:08:56 2008 UTC (16 years, 3 months ago) by niro
Original Path: trunk/busybox-initscripts/rc/mountfs
File size: 3031 byte(s)
Tue Jun 10 23:08:56 2008 UTC (16 years, 3 months ago) by niro
Original Path: trunk/busybox-initscripts/rc/mountfs
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 |