commit: 17cdd9c8ca954c180a216b9e33cf8de7be5f4a43
Author: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
AuthorDate: Thu Jul 23 21:05:18 2020 +0000
Commit: Thomas Deutschmann <whissi <AT> gentoo <DOT> org>
CommitDate: Thu Jul 23 22:56:48 2020 +0000
URL: https://gitweb.gentoo.org/proj/genkernel.git/commit/?id=17cdd9c8
dmraid: Switch to UDEV usage
Signed-off-by: Thomas Deutschmann <whissi <AT> gentoo.org>
defaults/initrd.scripts | 18 +++++++++---------
defaults/software.sh | 2 +-
gen_initramfs.sh | 2 ++
3 files changed, 12 insertions(+), 10 deletions(-)
diff --git a/defaults/initrd.scripts b/defaults/initrd.scripts
index 7d852ee..d2db059 100644
--- a/defaults/initrd.scripts
+++ b/defaults/initrd.scripts
@@ -1548,10 +1548,12 @@ start_volumes() {
if [ "${USE_DMRAID_NORMAL}" = '1' ]
then
- if [ -x '/sbin/dmraid' ]
+ if ! hash dmraid >/dev/null 2>&1
then
+ bad_msg "dodmraid invoked but 'dmraid' not found;
Skipping dmraid activation ..."
+ else
good_msg "Activating Device-Mapper RAID(s) ..."
- local dmraid_cmd="run /sbin/dmraid -ay"
+ local dmraid_cmd="run dmraid -ay"
if [ -z "${DMRAID_OPTS}" ]
then
dmraid_cmd="${dmraid_cmd} 2>&1"
@@ -1559,16 +1561,14 @@ start_volumes() {
dmraid_cmd="${dmraid_cmd} ${DMRAID_OPTS} 2>&1"
fi
is_log_enabled && dmraid_cmd="${dmraid_cmd} | tee -a
'${GK_INIT_LOG}'"
- eval "${dmraid_cmd}"
- if [ -x '/sbin/kpartx' ]
+ eval "${dmraid_cmd}"
+ if [ $? -ne 0 ]
then
- dmraid_cmd="run /sbin/dmsetup ls --exec
'/sbin/kpartx -a -s' 2>&1"
- is_log_enabled && dmraid_cmd="${dmraid_cmd} |
tee -a '${GK_INIT_LOG}'"
- eval "${dmraid_cmd}"
+ bad_msg "Activation of Device-Mapper RAID(s)
failed!"
+ else
+ udevsettle
fi
- else
- bad_msg "dodmraid invoked but /sbin/dmraid not found;
Skipping dmraid activation ..."
fi
fi
diff --git a/defaults/software.sh b/defaults/software.sh
index ae7532f..d8dbfc9 100644
--- a/defaults/software.sh
+++ b/defaults/software.sh
@@ -60,7 +60,7 @@
GKPKG_CRYPTSETUP_BINPKG="${GKPKG_CRYPTSETUP_BINPKG:-%%CACHE%%/cryptsetup-${GKPKG
GKPKG_DMRAID_PN="dmraid"
GKPKG_DMRAID_PV="${GKPKG_DMRAID_PV:-VERSION_DMRAID}"
-GKPKG_DMRAID_DEPS="lvm"
+GKPKG_DMRAID_DEPS="eudev lvm"
GKPKG_DMRAID_SRCTAR="${GKPKG_DMRAID_SRCTAR:-${DISTDIR}/dmraid-${GKPKG_DMRAID_PV}.tar.bz2}"
GKPKG_DMRAID_SRCDIR="${GKPKG_DMRAID_SRCDIR:-dmraid/${GKPKG_DMRAID_PV}/dmraid}"
GKPKG_DMRAID_BINPKG="${GKPKG_DMRAID_BINPKG:-%%CACHE%%/dmraid-${GKPKG_DMRAID_PV}-%%ARCH%%.tar.xz}"
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 1b8c829..24b23bb 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -775,6 +775,8 @@ append_dmraid() {
unpack "$(get_gkpkg_binpkg "${PN}")" "${TDIR}"
+ mkdir -p "${TDIR}"/run/lock/dmraid || gen_die "Failed to create
'${TDIR}/run/lock/dmraid'!"
+
cd "${TDIR}" || gen_die "Failed to chdir to '${TDIR}'!"
# Delete unneeded files