From ced0638e2c0d8805551b1153b9e153241c646262 Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Wed, 29 Jun 2016 10:45:22 +0200 Subject: [PATCH] Disable early microcode for non-x86 architecures --- dracut.sh | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/dracut.sh b/dracut.sh index 6bbde70b..b85d42dd 100755 --- a/dracut.sh +++ b/dracut.sh @@ -819,13 +819,6 @@ readonly initdir="$(mktemp --tmpdir="$TMPDIR/" -d -t initramfs.XXXXXX)" exit 1 } -if [[ $early_microcode = yes ]] || ( [[ $acpi_override = yes ]] && [[ -d $acpi_table_dir ]] ); then - readonly early_cpio_dir="$(mktemp --tmpdir="$TMPDIR/" -d -t early_cpio.XXXXXX)" - [ -d "$early_cpio_dir" ] || { - printf "%s\n" "dracut: mktemp --tmpdir=\"$TMPDIR/\" -d -t early_cpio.XXXXXX failed." >&2 - exit 1 - } -fi # clean up after ourselves no matter how we die. trap ' ret=$?; @@ -879,6 +872,26 @@ fi dracutfunctions=$dracutbasedir/dracut-functions.sh export dracutfunctions + + +case "$(arch)" in + i686|x86_64) + ;; + *) + early_microcode=no + dinfo "Disabling early microcode for $(arch)" + ;; +esac + +if [[ $early_microcode = yes ]] || ( [[ $acpi_override = yes ]] && [[ -d $acpi_table_dir ]] ); then + readonly early_cpio_dir="$(mktemp --tmpdir="$TMPDIR/" -d -t early_cpio.XXXXXX)" + [ -d "$early_cpio_dir" ] || { + printf "%s\n" "dracut: mktemp --tmpdir=\"$TMPDIR/\" -d -t early_cpio.XXXXXX failed." >&2 + exit 1 + } +fi + + if (( ${#drivers_l[@]} )); then drivers='' while pop drivers_l val; do @@ -1470,6 +1483,7 @@ if [[ $do_strip = yes ]] && ! [[ $DRACUT_FIPS_MODE ]]; then dinfo "*** Stripping files done ***" fi + if [[ $early_microcode = yes ]]; then dinfo "*** Generating early-microcode cpio image ***" ucode_dir=(amd-ucode intel-ucode)