]>
Commit | Line | Data |
---|---|---|
a73631bc PF |
1 | #!/bin/sh |
2 | # | |
3 | # Add udev rules for ZoL to the initrd. | |
4 | # | |
5 | ||
6 | PREREQ="udev" | |
4f9f0bb5 CALP |
7 | PREREQ_UDEV_RULES="60-zvol.rules 69-vdev.rules" |
8 | COPY_EXEC_LIST="/lib/udev/zvol_id /lib/udev/vdev_id" | |
a73631bc PF |
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 | ||
a73631bc | 36 | mkdir -p "$DESTDIR/lib/udev/rules.d/" |
a73631bc PF |
37 | for ii in $PREREQ_UDEV_RULES |
38 | do | |
39 | if [ -e "/etc/udev/rules.d/$ii" ] | |
40 | then | |
41 | cp -p "/etc/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/" | |
42 | elif [ -e "/lib/udev/rules.d/$ii" ] | |
43 | then | |
44 | cp -p "/lib/udev/rules.d/$ii" "$DESTDIR/lib/udev/rules.d/" | |
45 | else | |
46 | echo "Error: Missing udev rule: $ii" | |
47 | echo " This file must be in the /etc/udev/rules.d or /lib/udev/rules.d directory." | |
48 | exit 1 | |
49 | fi | |
50 | done | |
51 | ||
52 | for ii in $COPY_EXEC_LIST | |
53 | do | |
54 | copy_exec "$ii" | |
55 | done | |
56 | ||
dd37b338 DH |
57 | if [ -f '/etc/default/zfs' -a -r '/etc/default/zfs' ] |
58 | then | |
4f9f0bb5 | 59 | mkdir -p "$DESTDIR/etc/default" |
dd37b338 DH |
60 | cp -a '/etc/default/zfs' "$DESTDIR/etc/default/" |
61 | fi | |
62 | ||
ac109ee1 | 63 | if [ -d '/etc/zfs' -a -r '/etc/zfs' ] |
a73631bc | 64 | then |
ac109ee1 DH |
65 | mkdir -p "$DESTDIR/etc" |
66 | cp -a '/etc/zfs' "$DESTDIR/etc/" | |
a73631bc | 67 | fi |