On 11/20/18 5:20 PM, Tomasz Maciej Nowak wrote: > 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 <tome...@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
Are we sure that the early loading always works on Intel systems? What happens when we try to load the microcode here again? > 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 Is test needed to support "if"? > 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 >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel