1#!/bin/sh 2# 3# Add udev rules for ZoL to the initrd. 4# 5 6PREREQ="udev" 7PREREQ_UDEV_RULES="60-zvol.rules 69-vdev.rules" 8COPY_EXEC_LIST="/lib/udev/zvol_id /lib/udev/vdev_id" 9 10# Generic result code. 11RC=0 12 13case $1 in 14prereqs) 15 echo "$PREREQ" 16 exit 0 17 ;; 18esac 19 20for ii in $COPY_EXEC_LIST 21do 22 if [ ! -x "$ii" ] 23 then 24 echo "Error: $ii is not executable." 25 RC=2 26 fi 27done 28 29if [ "$RC" -ne 0 ] 30then 31 exit "$RC" 32fi 33 34. /usr/share/initramfs-tools/hook-functions 35 36mkdir -p "$DESTDIR/lib/udev/rules.d/" 37for ii in $PREREQ_UDEV_RULES 38do 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 50done 51 52for ii in $COPY_EXEC_LIST 53do 54 copy_exec "$ii" 55done 56 57if [ -f '/etc/default/zfs' -a -r '/etc/default/zfs' ] 58then 59 mkdir -p "$DESTDIR/etc/default" 60 cp -a '/etc/default/zfs' "$DESTDIR/etc/default/" 61fi 62 63if [ -d '/etc/zfs' -a -r '/etc/zfs' ] 64then 65 mkdir -p "$DESTDIR/etc" 66 cp -a '/etc/zfs' "$DESTDIR/etc/" 67fi 68