check_crypt() {
local dev=$1 fs=$2
- [[ $fs = "crypto_LUKS" ]] || continue
+ [[ $fs = "crypto_LUKS" ]] || return 1
ID_FS_UUID=$(udevadm info --query=property --name=$dev \
| while read line; do
[[ ${line#ID_FS_UUID} = $line ]] && continue
echo $ID_FS_UUID
break
done)
- [[ ${ID_FS_UUID} ]] || continue
- echo " rd.luks.uuid=luks-${ID_FS_UUID} " >> "${initdir}/etc/cmdline.d/90crypt.conf"
+ [[ ${ID_FS_UUID} ]] || return 1
+ if ! [[ $kernel_only ]]; then
+ echo " rd.luks.uuid=luks-${ID_FS_UUID} " >> "${initdir}/etc/cmdline.d/90crypt.conf"
+ fi
+ return 0
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_fs check_crypt
- [ -f "${initdir}/etc/cmdline.d/90crypt.conf" ] || return 1
+ for_each_host_dev_fs check_crypt || return 1
}
return 0
check_dmraid() {
local dev=$1 fs=$2 holder DEVPATH DM_NAME
- [[ "$fs" = "linux_raid_member" ]] && continue
- [[ "$fs" = "${fs%%_raid_member}" ]] && continue
+ [[ "$fs" = "${fs%%_raid_member}" ]] && return 1
DEVPATH=$(udevadm info --query=property --name=$dev \
| while read line; do
done)
done
- [[ ${DM_NAME} ]] || continue
- echo " rd.dm.uuid=${DM_NAME} " >> "${initdir}/etc/cmdline.d/90dmraid.conf"
+ [[ ${DM_NAME} ]] || return 1
+ if ! [[ $kernel_only ]]; then
+ echo " rd.dm.uuid=${DM_NAME} " >> "${initdir}/etc/cmdline.d/90dmraid.conf"
+ fi
+ return 0
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_fs check_dmraid
- [ -f "${initdir}/etc/cmdline.d/90dmraid.conf" ] || return 1
+ for_each_host_dev_fs check_dmraid || return 1
}
return 0
unset DM_VG_NAME
unset DM_LV_NAME
eval $(udevadm info --query=property --name=$1|egrep '(DM_VG_NAME|DM_LV_NAME)=')
- [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return
+ [[ ${DM_VG_NAME} ]] && [[ ${DM_LV_NAME} ]] || return 1
if ! strstr " ${_activated[*]} " " ${DM_VG_NAME}/${DM_LV_NAME} "; then
- echo " rd.lvm.lv=${DM_VG_NAME}/${DM_LV_NAME} " >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ if ! [[ $kernel_only ]]; then
+ echo " rd.lvm.lv=${DM_VG_NAME}/${DM_LV_NAME} " >> "${initdir}/etc/cmdline.d/90lvm.conf"
+ fi
push _activated "${DM_VG_NAME}/${DM_LV_NAME}"
fi
+ return 0
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_fs check_lvm
- [ -f "${initdir}/etc/cmdline.d/90lvm.conf" ] || return 1
+ for_each_host_dev_fs check_lvm || return 1
}
return 0
check_mdraid() {
local dev=$1 fs=$2 holder DEVPATH MD_UUID
- [[ "$fs" = "linux_raid_member" ]] && continue
- [[ "$fs" = "${fs%%_raid_member}" ]] && continue
+ [[ "$fs" = "${fs%%_raid_member}" ]] && return 1
- DEVPATH=$(udevadm info --query=property --name=$dev \
+ MD_UUID=$(/sbin/mdadm --examine --export $dev \
| while read line; do
- [[ ${line#DEVPATH} = $line ]] && continue
+ [[ ${line#MD_UUID} = $line ]] && continue
eval "$line"
- echo $DEVPATH
+ echo $MD_UUID
break
done)
- for holder in /sys/$DEVPATH/holders/*; do
- [[ -e $holder ]] || continue
- MD_UUID=$(udevadm info --query=property --path=$holder \
- | while read line; do
- [[ ${line#MD_UUID} = $line ]] && continue
- eval "$line"
- echo $MD_UUID
- break
- done)
- done
-
- [[ ${MD_UUID} ]] || continue
- echo " rd.md.uuid=${MD_UUID} " >> "${initdir}/etc/cmdline.d/90mdraid.conf"
+ [[ ${MD_UUID} ]] || return 1
+ if ! [[ $kernel_only ]]; then
+ echo " rd.md.uuid=${MD_UUID} " >> "${initdir}/etc/cmdline.d/90mdraid.conf"
+ fi
+ return 0
}
[[ $hostonly ]] || [[ $mount_needs ]] && {
- for_each_host_dev_fs check_mdraid
- [[ -f "${initdir}/etc/cmdline.d/90mdraid.conf" ]] || return 1
+ for_each_host_dev_fs check_mdraid || return 1
}
return 0