Magellan Linux

Annotation 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 - (hide annotations) (download)
Thu Dec 2 13:10:11 2010 UTC (13 years, 6 months ago) by niro
File size: 7667 byte(s)
use external devicemanager hooks
1 niro 1212 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