check() {
local _rootdev
# No mdadm? No mdraid support.
- require_binaries mdadm || return 1
+ require_binaries mdadm expr || return 1
[[ $hostonly ]] || [[ $mount_needs ]] && {
for dev in "${!host_fs_types[@]}"; do
# called by dracut
install() {
local rule rule_path
- inst_multiple cat
+ inst_multiple cat expr
inst_multiple -o mdmon
inst $(command -v partx) /sbin/partx
inst $(command -v mdadm) /sbin/mdadm
mv "${f}.new" "$f"
done
for uuid in $MD_UUID; do
+ if strstr "$uuid" "-"; then
+ # convert ID_FS_UUID to MD_UUID format
+ uuid=$(str_replace "$uuid" "-" "")
+ uuid="$(expr substr $uuid 1 8):$(expr substr $uuid 9 8):$(expr substr $uuid 17 8):$(expr substr $uuid 25 8)"
+ fi
wait_for_dev "/dev/disk/by-id/md-uuid-${uuid}"
done
fi