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@o2.pl>
(backported from
546fced2a23557e95dd34246744c3aa6cad92fe6)
# 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
}
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 =
menuentry "@TITLE@" {
linux /boot/vmlinuz @CMDLINE@ noinitrd
+ if [ -s /boot/intel-ucode.img ]; then
+ initrd /boot/intel-ucode.img
+ fi
}
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