From cc2303001e713f2f7c3f70161c28aa95f4d339d1 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Sat, 9 Mar 2013 15:11:39 +0100
Subject: [PATCH] dracut.sh: add new default path to initramfs according to
bootloader spec
see kernel-install(8) and
http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec
---
dracut.sh | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/dracut.sh b/dracut.sh
index 7243078..8f3e5d2 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -442,7 +442,13 @@ if ! [[ $kernel ]]; then
fi
if ! [[ $outfile ]]; then
- outfile="/boot/initramfs-$kernel.img"
+ [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
+
+ if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then
+ outfile="/boot/${MACHINE_ID}/$kernel/initrd"
+ else
+ outfile="/boot/initramfs-$kernel.img"
+ fi
fi
for i in /usr/sbin /sbin /usr/bin /bin; do
@@ -726,7 +732,7 @@ outdir=${outfile%/*}
[[ $outdir ]] || outdir="/"
if [[ ! -d "$outdir" ]]; then
- dfatal "Can't write $outfile: Directory $outdir does not exist."
+ dfatal "Can't write to $outdir: Directory $outdir does not exist or is not accessible."
exit 1
elif [[ ! -w "$outdir" ]]; then
dfatal "No permission to write to $outdir."