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