]> git.pld-linux.org Git - projects/geninitrd.git/blob - mod-udev.sh
- udev modularized
[projects/geninitrd.git] / mod-udev.sh
1 #!/bin/sh
2 #
3 # geninitrd mod: udev
4
5 #
6 # TODO:
7 # - make udev start before insmods
8 # - make proper use of USE_UDEV - don't copy rules if USE_UDEV is off no!
9
10 udevd=$(find_tool $initrd_dir/udevd /sbin/initrd-udevd)
11 udevadm=$(find_tool $initrd_dir/initrd-udevadm /sbin/initrd-udevadm)
12
13 if [ "$kernel_version" -ge "002006" -a -x "$udevd" -a -a -x "$udevadm" -f /etc/udev/udev.conf ]; then
14         USE_UDEV=yes
15         . /etc/udev/udev.conf
16 else
17         USE_UDEV=no
18 fi
19
20 # generate initrd fragment
21 # @access       public
22 initrd_gen_udev() {
23         debug "Setting up udev..."
24
25         inst_d /sbin /etc/udev
26         inst_exec $udevd /sbin/udevd
27         inst_exec $udevadm /sbin/udevadm
28         inst /etc/udev/udev.conf /etc/udev/udev.conf
29
30         mount_dev
31         mount_sys
32         add_linuxrc <<-'EOF'
33                 : 'Starting udev'
34                 /sbin/udevd --daemon
35                 /sbin/udevadm trigger
36                 /sbin/udevadm settle
37         EOF
38 }
39
40 initrd_gen_stop_udevd() {
41         busybox_applet killall
42         add_linuxrc     <<-'EOF'
43                 killall udevd
44         EOF
45 }
This page took 0.03072 seconds and 4 git commands to generate.