File 0318-ibft-fix-boot-flag-check.patch of Package dracut.4406

Index: dracut-037/modules.d/40network/net-lib.sh
===================================================================
--- dracut-037.orig/modules.d/40network/net-lib.sh
+++ dracut-037/modules.d/40network/net-lib.sh
@@ -232,10 +232,12 @@ ibft_to_cmdline() {
             [ -e /tmp/net.${dev}.has_ibft_config ] && continue
 
             [ -e ${iface}/flags ] && flags=$(read a < ${iface}/flags; echo $a)
-            # Skip invalid interfaces
-            (( $flags & 1 )) || continue
-            # Skip interfaces not used for booting
-            (( $flags & 2 )) || continue
+            # Skip invalid/non-booting interfaces
+            # Per spec, Bits 0 and 1 are valid and bootable,
+            # respectively, but some firmware only sets Bit 1,
+            # so just accept either bit
+            (( $flags & 3 )) || continue
+
             [ -e ${iface}/dhcp ] && dhcp=$(read a < ${iface}/dhcp; echo $a)
             [ -e ${iface}/origin ] && origin=$(read a < ${iface}/origin; echo $a)
             [ -e ${iface}/ip-addr ] && ip=$(read a < ${iface}/ip-addr; echo $a)
openSUSE Build Service is sponsored by