Magellan Linux

Contents of /trunk/initscripts-alx/patches/initscripts-0.3.4-r10-alx-use-external-devfs-and-udev-functions.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1212 - (show annotations) (download)
Thu Dec 2 13:10:11 2010 UTC (13 years, 5 months ago) by niro
File size: 7667 byte(s)
use external devicemanager hooks
1 diff -Naur magellan-initscripts/etc/rc.d/init.d/devfs magellan-initscripts-external-udev/etc/rc.d/init.d/devfs
2 --- magellan-initscripts/etc/rc.d/init.d/devfs 1970-01-01 01:00:00.000000000 +0100
3 +++ magellan-initscripts-external-udev/etc/rc.d/init.d/devfs 2010-12-02 14:07:40.000000000 +0100
4 @@ -0,0 +1,44 @@
5 +# starts devfs devicemanager
6 +# $Header$
7 +
8 +start_devfs()
9 +{
10 + # start devfsd daemon, needed for bootsplash;
11 + # no use of '/etc/rc.d/init.d/devfs' anymore
12 + # check if devfs was mounted by the kernel,
13 + # if not mount it (mbuild_livecd needs this one)
14 + if [ ! -e /dev/.devfsd ]
15 + then
16 + echo -e ${COLOREDSTAR}"Mounting devfs file system ..."
17 + mount -n -t devfs devfs /dev
18 + evaluate_retval
19 + fi
20 +
21 + if [ -e /dev/.devfsd ]
22 + then
23 + echo -e ${COLOREDSTAR}"Starting devfsd ..."
24 + ## directory /lib/dev-state !must! exists ##
25 + /sbin/devfsd /dev &> /dev/null
26 + evaluate_retval
27 + else
28 + echo -e ${COLRED}"No devfs filesystem found ..."
29 + echo -e ${COLYELLOW}"Your Kernel doesn't support the devfs filesystem."
30 + echo -e ${COLYELLOW}"Devfs is necessary to run Magellan-Linux."
31 + echo -e ${COLYELLOW}"Please make shure that this is enabled in your kernel."
32 + echo
33 + echo -e ${COLYELLOW}"Press any key to shutdown the system safely ..."
34 + read
35 + $rc_base/init.d/halt
36 + fi
37 +}
38 +
39 +start_devicemanager()
40 +{
41 + start_devfs
42 +}
43 +
44 +stop_devicemanager()
45 +{
46 + # do nothing
47 + return 0
48 +}
49 diff -Naur magellan-initscripts/etc/rc.d/init.d/mountfs magellan-initscripts-external-udev/etc/rc.d/init.d/mountfs
50 --- magellan-initscripts/etc/rc.d/init.d/mountfs 2005-07-03 23:32:06.000000000 +0200
51 +++ magellan-initscripts-external-udev/etc/rc.d/init.d/mountfs 2010-12-02 13:50:21.000000000 +0100
52 @@ -44,7 +44,10 @@
53 # records udev as mounted
54 if is_fs_mounted udev
55 then
56 - mount -f -t ramfs udev /dev
57 + fstype=ramfs
58 + kernel_supports_fs tmpfs && fstype=tmpfs
59 + kernel_supports_fs devtmpfs && fstype=devtmpfs
60 + mount -f -t ${fstype}ramfs udev /dev
61 fi
62
63 evaluate_retval
64 diff -Naur magellan-initscripts/etc/rc.d/init.d/mountfslivecd magellan-initscripts-external-udev/etc/rc.d/init.d/mountfslivecd
65 --- magellan-initscripts/etc/rc.d/init.d/mountfslivecd 2005-08-31 23:45:02.000000000 +0200
66 +++ magellan-initscripts-external-udev/etc/rc.d/init.d/mountfslivecd 2010-12-02 13:51:15.000000000 +0100
67 @@ -63,7 +63,10 @@
68 # records udev as mounted
69 if is_fs_mounted udev
70 then
71 - mount -f -t ramfs udev /dev
72 + fstype=ramfs
73 + kernel_supports_fs tmpfs && fstype=tmpfs
74 + kernel_supports_fs devtmpfs && fstype=devtmpfs
75 + mount -f -t ${fstype} udev /dev
76 fi
77
78 # fake mounts tmpfs
79 diff -Naur magellan-initscripts/etc/rc.d/init.d/rc magellan-initscripts-external-udev/etc/rc.d/init.d/rc
80 --- magellan-initscripts/etc/rc.d/init.d/rc 2005-07-03 23:34:35.000000000 +0200
81 +++ magellan-initscripts-external-udev/etc/rc.d/init.d/rc 2010-12-02 13:24:04.000000000 +0100
82 @@ -10,26 +10,16 @@
83 # source kernel config if exists
84 [ -f /etc/conf.d/kernel ] && source /etc/conf.d/kernel
85
86 -# some needed functions functions
87 -populate_udev() {
88 - /sbin/udevstart
89 -
90 - # not provided by sysfs but needed
91 - ln -snf /proc/self/fd /dev/fd
92 - ln -snf fd/0 /dev/stdin
93 - ln -snf fd/1 /dev/stdout
94 - ln -snf fd/2 /dev/stderr
95 - ln -snf /proc/kcore /dev/core
96 - ln -snf /proc/asound/oss/sndstat /dev/sndstat
97 -
98 - # create problematic directories
99 - mkdir -p /dev/{pts,shm}
100 -
101 - # same as /dev/.devfsd
102 - touch /dev/.udev
103 +# source udev functions
104 +if [[ ${RC_USED_DEV} = udev ]] && [[ -f ${rc_base}/init.d/udev ]]
105 +then
106 + source ${rc_base}/init.d/udev
107
108 - return 0
109 -}
110 +# load devfs only with a 2.4 kernel or its really wanted with a 2.6
111 +elif [[ $(kernel_major_version) = 2.4 ]] || [[ ${RC_USED_DEV} = devfs ]] && [[ -f ${rc_base}/init.d/devfs ]]
112 +then
113 + source ${rc_base}/init.d/devfs
114 +fi
115
116 trap "" INT QUIT TSTP
117
118 @@ -70,76 +60,8 @@
119 fi
120 fi
121
122 - ## load devfs ##
123 - # load devfs only with a 2.4 kernel or its really wanted with a 2.6
124 - if [[ $(kernel_major_version) = 2.4 ]] || [[ ${RC_USED_DEV} = devfs ]]
125 - then
126 - # start devfsd daemon, needed for bootsplash;
127 - # no use of '/etc/rc.d/init.d/devfs' anymore
128 - # check if devfs was mounted by the kernel,
129 - # if not mount it (mbuild_livecd needs this one)
130 - if [ ! -e /dev/.devfsd ]
131 - then
132 - echo -e ${COLOREDSTAR}"Mounting devfs file system ..."
133 - mount -n -t devfs devfs /dev
134 - evaluate_retval
135 - fi
136 -
137 - if [ -e /dev/.devfsd ]
138 - then
139 - echo -e ${COLOREDSTAR}"Starting devfsd ..."
140 - ## directory /lib/dev-state !must! exists ##
141 - /sbin/devfsd /dev &> /dev/null
142 - evaluate_retval
143 - else
144 - echo -e ${COLRED}"No devfs filesystem found ..."
145 - echo -e ${COLYELLOW}"Your Kernel doesn't support the devfs filesystem."
146 - echo -e ${COLYELLOW}"Devfs is necessary to run Magellan-Linux."
147 - echo -e ${COLYELLOW}"Please make shure that this is enabled in your kernel."
148 - echo
149 - echo -e ${COLYELLOW}"Press any key to shutdown the system safely ..."
150 - read
151 - $rc_base/init.d/halt
152 - fi
153 - fi
154 -
155 - #### load udev ####
156 - # load udev only with a 2.6 kernel
157 - if [[ $(kernel_major_version) = 2.6 ]] && [[ ${RC_USED_DEV} = udev ]]
158 - then
159 - # create a ramdisk for populating udev
160 - echo -e ${COLOREDSTAR}"Mounting udev at /dev ..."
161 - # tmpfs was suggested by Greg Kroah-Hartman
162 - # many video drivers needed exec access
163 - mount -n -t ramfs udev /dev -o exec,nosuid,mode=0755
164 - evaluate_retval
165 -
166 - # if a device tarball exists load it and if it is activated
167 - echo -e ${COLOREDSTAR}"Configurating system to use udev ..."
168 - if [[ ${RC_DEVICE_TARBALL} = yes ]]
169 - then
170 - echo -e ${COLOREDSTAR}" Populating /dev with with device nodes ..."
171 - tar -jxpf /lib/udev-state/devices.tar.bz2 -C /dev
172 - evaluate_retval
173 - fi
174 -
175 - # now load udev
176 - populate_udev
177 -
178 - # if hotplug support exists in the kernel use it to manage udev
179 - if [ -e /proc/sys/kernel/hotplug -a -x /sbin/hotplug ]
180 - then
181 - echo -e ${COLOREDSTAR}" Using /sbin/hotplug for udev management ..."
182 -
183 - elif [ -e /proc/sys/kernel/hotplug ]
184 - then
185 - echo -e ${COLOREDSTAR}" Setting /sbin/udev as hotplug agent ..."
186 - echo "/sbin/udev" > /proc/sys/kernel/hotplug
187 - else
188 - echo -e ${COLOREDSTAR}${COLYELLOW}" Kernel was not compiled with hotplug support !"
189 - fi
190 - evaluate_retval
191 - fi
192 + # load devicemanager (udev or devfs)
193 + start_devicemanager
194
195 ## load devpts ##
196 # devfs/udev with 2.6 has no ptys, so devpts is also needed
197 @@ -193,17 +115,8 @@
198 # load bootsplash
199 splash "rc_init" "${runlevel}"
200
201 - # if requested save devices to a device tarball before halt
202 - # only for kernels >=2.6 *and* udev
203 - # make shure that udev is mounted but *not* devfs --> /dev/.devfsd
204 - if [[ ${RC_DEVICE_TARBALL} = yes ]] && \
205 - [ -e /dev/.udev -a ! -e /dev/.devfsd -a ! -e /.bootdev ]
206 - then
207 - echo -e ${COLOREDSTAR}"Saving /dev device nodes ..."
208 - ( cd /dev; tar -jclpf "/tmp/devices-$$.tar.bz2" * &> /dev/null )
209 - mv -f "/tmp/devices-$$.tar.bz2" /lib/udev-state/devices.tar.bz2
210 - evaluate_retval
211 - fi
212 + # stop devicemanager (udev or devfs)
213 + stop_devicemanager
214 fi
215
216
217 diff -Naur magellan-initscripts/sbin/rc-config magellan-initscripts-external-udev/sbin/rc-config
218 --- magellan-initscripts/sbin/rc-config 2005-07-03 15:54:15.000000000 +0200
219 +++ magellan-initscripts-external-udev/sbin/rc-config 2010-12-02 13:52:07.000000000 +0100
220 @@ -2,9 +2,9 @@
221 # $Header: /magellan-cvs/magellan-src/magellan-initscripts/sbin/rc-config,v 1.3 2005/07/03 13:54:15 niro Exp $
222
223 RC_INIT_BASE=/etc/init.d
224 -RC_EXCLUDE="rc functions template splash-functions"
225 +RC_EXCLUDE="rc functions template splash-functions devfs udev"
226
227 -VERSION=0.2
228 +VERSION=0.2.1
229
230 get_run_levels(){
231 local SCRIPT