]>
Commit | Line | Data |
---|---|---|
a73631bc PF |
1 | #!/bin/sh |
2 | # | |
3 | # Add udev rules for ZoL to the initrd. | |
4 | # | |
5 | ||
6 | PREREQ="udev" | |
7 | PREREQ_UDEV_RULES="60-zpool.rules 60-zvol.rules" | |
8 | COPY_EXEC_LIST="/lib/udev/zvol_id /lib/udev/zpool_id" | |
9 | ||
10 | # Generic result code. | |
11 | RC=0 | |
12 | ||
13 | case $1 in | |
14 | prereqs) | |
15 | echo "$PREREQ" | |
16 | exit 0 | |
17 | ;; | |
18 | esac | |
19 | ||
20 | for ii in $COPY_EXEC_LIST | |
21 | do | |
22 | if [ ! -x "$ii" ] | |
23 | then | |
24 | echo "Error: $ii is not executable." | |
25 | RC=2 | |
26 | fi | |
27 | done | |
28 | ||
29 | if [ "$RC" -ne 0 ] | |
30 | then | |
31 | exit "$RC" | |
32 | fi | |
33 | ||
34 | . /usr/share/initramfs-tools/hook-functions | |
35 | ||
36 | mkdir -p "$DESTDIR/etc/" | |
37 | mkdir -p "$DESTDIR/lib/udev/rules.d/" | |
38 | ||
39 | for ii in $PREREQ_UDEV_RULES | |
40 | do | |
41 | if [ -e "/etc/udev/rules.d/$ii" ] | |
42 | then | |
43 | cp -p "/etc/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/" | |
44 | elif [ -e "/lib/udev/rules.d/$ii" ] | |
45 | then | |
46 | cp -p "/lib/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/" | |
47 | else | |
48 | echo "Error: Missing udev rule: $ii" | |
49 | echo " This file must be in the /etc/udev/rules.d or /lib/udev/rules.d directory." | |
50 | exit 1 | |
51 | fi | |
52 | done | |
53 | ||
54 | for ii in $COPY_EXEC_LIST | |
55 | do | |
56 | copy_exec "$ii" | |
57 | done | |
58 | ||
59 | if [ -e "/etc/zfs/" ] | |
60 | then | |
61 | cp -a "/etc/zfs/" "$DESTDIR/etc/" | |
62 | fi |