# initrd dedicated rules
inst_rules 01-ignore.rules 59-persistent-storage.rules 61-persistent-storage.rules 11-dm.rules
+ local e
for e in ata_id cdrom_id collect firmware scsi_id v4l_id; do
inst_exec $initrd_dir/udev/$e /lib/udev/$e
done
inst_exec $initrd_dir/blkid /sbin/blkid
- inst_exec $initrd_dir/dmsetup /sbin/dmsetup
+
+ local dir dmsetup
+ for dir in $initrd_dir /sbin; do
+ if [ "$($dir/dmsetup udevcookies 2>&1|grep -c 'Command not supported')" -eq 0 ]; then
+ dmsetup=$dir/dmsetup
+ break
+ fi
+ done
+ if [ -z "$dmsetup" ]; then
+ warn "Can't find dmsetup with udev support"
+ else
+ inst_exec $dmsetup /sbin/dmsetup
+ fi
mount_dev
mount_sys