rEFInd - intel-ucode

@Chrysostomus

Is there a way to have intel-ucode booted up using rEFInd?
That is, booting up the OS directly (vmlinuz and initramfs) without booting up any grubx64.efi (or bootx64.efi) first. Of course, booting up grubx64.efi (from rEFInd) will bring up grub and intel-ucode can be booted up from grub.

I've tried making manual entries in refind.conf - adding 2 initrd lines (like in systemd - bootctl) or a single initrd line with 2 entries (like in grub) but both don't work [1]. Checked this with "dmesg | grep microcode".

Oh.. any way to add Manjaro icon into rEFInd menu?
Putting a manjaro.png icon into refind icon directory don't work either. Neither in manual entries.

Thanks. Happy New Year!

[1] - to be clear, manual entries boot up, but intel-ucode does not start.

Does this help?

https://wiki.archlinux.org/index.php/REFInd#For_kernels_automatically_detected_by_rEFInd

Separate initrd parameters for microcode and initramfs.

For example, a Microcode passed before the initramfs: ... initrd=/boot/intel-ucode.img initrd=/boot/initramfs-linux.img.

Thanks @sueridgepipe, I've read that.

I just found a workaround.
In refind_linux.conf, I changed the line of

"Boot with standard options"  "root=UUID=c69d25c9-73a6-4a1e-a586-805d060cc822  rw"

to

"Boot with standard options"  "root=UUID=c69d25c9-73a6-4a1e-a586-805d060cc822 initrd=\intel-ucode.img initrd=\initramfs-4.15-x86_64.img rw"

Changing to

"Boot with standard options"  "root=UUID=c69d25c9-73a6-4a1e-a586-805d060cc822 initrd=\intel-ucode.img  rw"

won't work. Note original does not have any initrd in it. Have to add both initrd; without any, it will boot the kernel without intel-ucode.

Now, I'm off to merging kernel with intel-ucode :grin:

Happy New Year!

[edit] - The above does not apply for manual entries so I cannot do that for manual entries.
And this workaround unfortunately won't automatically make an option to boot an older kernel (linux414) though I can boot this older kernel with manual changes at the boot menu.

1 Like

Yes!!

[pop@Dec ~]$ dmesg | grep microcode
[    0.000000] microcode: microcode updated early to revision 0x29, date = 2013-06-12
[    0.310891] microcode: sig=0x206a7, pf=0x2, revision=0x29
[    0.311065] microcode: Microcode Update Driver: v2.2.
[pop@Dec ~]$ 

Merged intel-ucode.img with manjaro initramfs and booted successfully with that one initramfs file with intel-ucode incorporated early into it. So the above issue is moot.

As a side benefit, merging the initrd files and booting from the single file will eliminate the problem (kernel panic) of booting Manjaro from another OS bootloader. Personally, I still think the better way is just to incorporate intel-ucode into the kernel (not modules). But anyway, here's a workaround.

sudo cat /boot/intel-ucode.img /boot/initramfs-4.15-x86_64.img > ~/intelmanjaro.img
sudo cp ~/intelmanjaro.img /boot/

ps: for some reason, merging directly in /boot doesn't work

sudo cat /boot/intel-ucode.img /boot/initramfs-4.15-x86_64.img /boot/intelmanjaro.img

Permission denied.
If anybody can explain why this don't work, that will be good.

Cheers all and Happy New Year!

2 Likes

I haven't gotten microcode to work with automatic boot entries. Afaik, the way to use microcode with refind is

  1. use manual boot stanzas
  2. have 2 initrd lines in the manual boot stanzas

I haven't tried it yet, but I'll give it a try to see if it can be done.

As for the icons... With the automatic mode, you have to either

A) replace the default linux icon with manjaro icon (if you have only manjaro on the system)
B) rename the manjaro kernel so that it's name has manjaro.

Refind gives automatic entries icons based on their name, so for example manjaro grub gets manjaro icon. But manjaro kernels don't have unique enough names to identify them as manjaro kernels, so they get a generic linux icon.

In manual boot stanzas, you just specify the path to icon.

I have been toying with the idea of making a pacman hook similar to update-grub for refind, which would automatically generate boot entries for the installed manjaro kernels. This would make it possible to do all kinds of things, like have manjaro entries with manjaro icon, use encrypted /boot with refind and use microcode. But so far I haven't gotten around to doing it.

Appreciate the help, Chrysostomus.
It's been a long time I haven't tested rEFInd.
Thought I'd give it a spin and see if it has changed much.
Thanks too, sueridgepipe.

Cheers.

Discussing with Chrysostomus on the merits/demerits of refind, it suddenly dawned on me the reason the above didn't work was that kde is becoming 'a nanny state' (relax, folks, just teasing our favourite, venerated and worshiped :slightly_smiling_face: DE).

Yup.

[pop@Nov ~]$ su -
Password: 
[root@Nov ~]# cat /boot/intel-ucode.img /boot/initramfs-4.15-x86_64.img > /boot/initramfs-nannynanny.img
[root@Nov ~]# exit
logout
[pop@Nov ~]$ ls /boot/initramfs-nannynanny.img
/boot/initramfs-nannynanny.img                                                                                   
[pop@Nov ~]$          

Just to follow up. Cheers.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.

Forum kindly sponsored by