From: Mark Huang Date: Wed, 18 Aug 2004 19:44:51 +0000 (+0000) Subject: - The bootcd environment does not have device mapper enabled, and newer X-Git-Tag: after-ipod-patch~8 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=6d42e21dbadc4572b7188f93a746b9cfac01ac09;p=linux-2.6.git - The bootcd environment does not have device mapper enabled, and newer mkinitrd scripts depend upon the existence of "/dev/mapper" somewhere in the rootdev name to enable root LVM support. The initrd image generated by the initial kernel RPM installation thus ends up lacking root LVM support. --- diff --git a/scripts/kernel-2.6-planetlab.spec b/scripts/kernel-2.6-planetlab.spec index 4aa690626..367faab47 100644 --- a/scripts/kernel-2.6-planetlab.spec +++ b/scripts/kernel-2.6-planetlab.spec @@ -387,7 +387,19 @@ exit 0 exit 0 %post +# trick mkinitrd in case the current environment does not have device mapper +rootdev=$(awk '/^[ \t]*[^#]/ { if ($2 == "/") { print $1; }}' /etc/fstab) +if echo $rootdev |grep -q /dev/mapper 2>/dev/null ; then + if [ ! -f $rootdev ]; then + fake_root_lvm=1 + mkdir -p $(dirname $rootdev) + touch $rootdev + fi +fi [ -x /sbin/new-kernel-pkg ] && /sbin/new-kernel-pkg --mkinitrd --depmod --install %{KVERREL} +if [ -n "$fake_root_lvm" ]; then + rm -f $rootdev +fi if [ -x /usr/sbin/hardlink ] ; then pushd /lib/modules/%{KVERREL}/build > /dev/null ; { cd /lib/modules/%{KVERREL}/build