diff --git a/mxgrub/mxgrub b/mxgrub/mxgrub index a86e0673..216b867a 100755 --- a/mxgrub/mxgrub +++ b/mxgrub/mxgrub @@ -249,7 +249,7 @@ sub update_grub_cfg { for my $label (@MARIUX) { my $image=label_to_image($label); - $kernellist.="\tmenuentry \"$label\" --unrestricted { save_env chosen ; linux /boot/$image root=LABEL=root $KERNEL_PARAMETER ; initrd /boot/grub/initramfs.igz }\n"; + $kernellist.="\tmenuentry \"$label\" --unrestricted { save_env chosen ; linux /boot/$image root=LABEL=root $KERNEL_PARAMETER ; initrd /boot/amd-ucode.img /boot/intel-ucode.img /boot/grub/initramfs.igz }\n"; } my $GRUB_CFG_NEW=<<"EOF"; @@ -267,7 +267,7 @@ insmod all_video if [ -e /etc/local/USB.usb ]; then set default="mariuxUSB" - menuentry "mariuxUSB" --unrestricted { save_env chosen ; linux /boot/bzImage.x86_64 root=LABEL=rootusb rootdelay=5 $KERNEL_PARAMETER ; initrd /boot/grub/initramfs.igz } + menuentry "mariuxUSB" --unrestricted { save_env chosen ; linux /boot/bzImage.x86_64 root=LABEL=rootusb rootdelay=5 $KERNEL_PARAMETER ; initrd /boot/amd-ucode.img /boot/intel-ucode.img /boot/grub/initramfs.igz } else menuentry "$MARIUX_DEFAULT" --unrestricted { set chosen="$submenu>$MARIUX_DEFAULT" ; save_env chosen ; linux /boot/bzImage.x86_64 root=LABEL=root $KERNEL_PARAMETER ; initrd /boot/grub/initramfs.igz } @@ -354,6 +354,8 @@ sub cmd_update { } sub cmd_initramfs { + sys('bash','-c','DSTDIR= "$TMPDIR/kernel/x86/microcode"; mkdir "$DSTDIR"; cd "$DSTDIR" ; cat /lib/firmware/amd-ucode/microcode_amd*.bin > $DSTDIR/AuthenticAMD.bin ; find . | cpio -o -H newc > /boot/amd-ucode.img ; rm -rf "$TMPDIR/kernel"'); + sys('bash','-c','DSTDIR= "$TMPDIR/kernel/x86/microcode"; mkdir "$DSTDIR"; cd "$DSTDIR" ; cat /lib/firmware/intel-ucode/* > $DSTDIR/GenuineIntel.bin ; find . | cpio -o -H newc > /boot/intel-ucode.img ; rm -rf "$TMPDIR/kernel"'); sys('bash','-c','cd /project/admin/initramfs ; find . -name ".git*" -prune -or -print | cpio -H newc -o | gzip > /boot/grub/initramfs.igz'); }