]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
dracut: Do not create early_cpio if no suitable microcode exist in hostonly case
authorThomas Renninger <trenn@suse.de>
Fri, 27 Sep 2013 18:10:38 +0000 (20:10 +0200)
committerHarald Hoyer <harald@redhat.com>
Wed, 2 Oct 2013 10:47:11 +0000 (12:47 +0200)
Intel microcodes only exist for very specific family/model/stepping CPUs.
If no microcode gets added, there is no need to create an empty
(only directories) cpio later that gets glued to the initrd.

This also fixes:

*** Constructing GenuineIntel.bin ****
cat: /lib/firmware/intel-ucode/06-3c-03: No such file or directory

in hostonly mode if there is no suitable microcode for the CPU.

Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: Thomas Renninger <trenn@suse.de>
dracut.sh

index b3b80886af772400551eb9ddcf2724884e9be291..e43227e834092a2c8e49d600525be85b0333fc4c 100755 (executable)
--- a/dracut.sh
+++ b/dracut.sh
@@ -1326,12 +1326,15 @@ if [[ $early_microcode = yes ]]; then
                 dinfo "*** Constructing ${ucode_dest[$idx]} ****"
                 if [[ $hostonly ]]; then
                     _src=$(get_ucode_file)
+                    if ! [[ -r $_fwdir/$_fw/$_src ]];then
+                        break;
+                    fi
                 fi
                 cat $_fwdir/$_fw/$_src > $_dest_dir/${ucode_dest[$idx]}
+                create_early_cpio="yes"
             fi
         done
     done
-    create_early_cpio="yes"
 fi
 
 rm -f -- "$outfile"