[OpenWrt-Devel] [PATCH v4 5/6] x86: add intel microcode entries to grub config
Tomasz Maciej Nowak
tomek_n at o2.pl
Tue Nov 20 11:20:43 EST 2018
Create initrd enries for x86 images, that'll load intel microcode as
early as possible. To achieve that the test module for grub is enabled
which provides shell-like conditionals. Also restrict the late load of
microcode to AMD processors.
Signed-off-by: Tomasz Maciej Nowak <tomek_n at o2.pl>
---
target/linux/x86/base-files/lib/preinit/02_load_x86_ucode | 6 ++++--
target/linux/x86/image/Makefile | 4 ++--
target/linux/x86/image/grub-iso.cfg | 3 +++
target/linux/x86/image/grub.cfg | 3 +++
4 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
index fb309c75c1..d3a23e24b2 100644
--- a/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
+++ b/target/linux/x86/base-files/lib/preinit/02_load_x86_ucode
@@ -2,8 +2,10 @@
# Copyright (C) 2018 OpenWrt.org
do_load_x86_ucode() {
- if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then
- echo 1 > /sys/devices/system/cpu/microcode/reload
+ if grep -q AuthenticAMD /proc/cpuinfo; then
+ if [ -e "/sys/devices/system/cpu/microcode/reload" ]; then
+ echo 1 > /sys/devices/system/cpu/microcode/reload
+ fi
fi
}
diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile
index dbf8a8594b..f8c3700d32 100644
--- a/target/linux/x86/image/Makefile
+++ b/target/linux/x86/image/Makefile
@@ -9,8 +9,8 @@ include $(INCLUDE_DIR)/image.mk
export PATH=$(TARGET_PATH):/sbin
-GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
-GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga
+GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial test vga
+GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial test vga
GRUB_TERMINALS =
GRUB_SERIAL_CONFIG =
GRUB_TERMINAL_CONFIG =
diff --git a/target/linux/x86/image/grub-iso.cfg b/target/linux/x86/image/grub-iso.cfg
index 9c59bdf6d4..5d128aa3aa 100644
--- a/target/linux/x86/image/grub-iso.cfg
+++ b/target/linux/x86/image/grub-iso.cfg
@@ -7,4 +7,7 @@ set root='(cd)'
menuentry "@TITLE@" {
linux /boot/vmlinuz @CMDLINE@ noinitrd
+ if [ -s /boot/intel-ucode.img ]; then
+ initrd /boot/intel-ucode.img
+ fi
}
diff --git a/target/linux/x86/image/grub.cfg b/target/linux/x86/image/grub.cfg
index dedfa0a636..a665686863 100644
--- a/target/linux/x86/image/grub.cfg
+++ b/target/linux/x86/image/grub.cfg
@@ -7,6 +7,9 @@ set root='(@ROOT@)'
menuentry "@TITLE@" {
linux /boot/vmlinuz @CMDLINE@ noinitrd
+ if [ -s /boot/intel-ucode.img ]; then
+ initrd /boot/intel-ucode.img
+ fi
}
menuentry "@TITLE@ (failsafe)" {
linux /boot/vmlinuz failsafe=true @CMDLINE@ noinitrd
--
2.19.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list