File 0114-91zipl-Translate-ext2-3-into-ext4.patch of Package dracut.12460

From 12131d99811c9829ed1c19e164f2ef22634ba4e5 Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Fri, 11 Jul 2014 12:55:55 +0200
Subject: 91zipl: Translate 'ext2/3' into ext4

91zipl tries to read the filesystem for the /boot/zipl device.
On SLE12, however, the ext2 and ext3 filesystems are handled
by the ext4 module.
And due to bug#886839 no error is registered and booting fails.
So implement a band-aid to translate it into ext4.

Signed-off-by: Hannes Reinecke <hare@suse.de>
---
 modules.d/91zipl/module-setup.sh | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

Index: dracut-042/modules.d/91zipl/module-setup.sh
===================================================================
--- dracut-042.orig/modules.d/91zipl/module-setup.sh	2015-06-24 18:02:15.773737066 +0200
+++ dracut-042/modules.d/91zipl/module-setup.sh	2015-06-24 18:02:16.101755740 +0200
@@ -17,7 +17,20 @@ depends() {
 
 # called by dracut
 installkernel() {
-    instmods ext2
+    local _boot_zipl
+
+    _boot_zipl=$(sed -n 's/\(.*\)\w*\/boot\/zipl.*/\1/p' /etc/fstab)
+    if [ -n "$_boot_zipl" ] ; then
+        eval $(blkid -s TYPE -o udev ${_boot_zipl})
+        if [ -n "$ID_FS_TYPE" ] ; then
+            case "$ID_FS_TYPE" in
+                ext?)
+                    ID_FS_TYPE=ext4
+                    ;;
+            esac
+            instmods ${ID_FS_TYPE}
+        fi
+    fi
 }
 
 # called by dracut
openSUSE Build Service is sponsored by