Manjaro grub entry in another linux OS' has dropped the crucial initramfs item

I should say first that this is not an error in my Manjaro installation. It is a joy to behold. I am looking for advice on how best to manage it in the other os' grub. As it is, any updating of grub on my default distro is losing the second initramfs parameter and when I select Manjaro, grub loads the amd microcode and calls it a day. Frustrating when it first occurred but I can see its point of view and it is unimpeachably in the right. This must occur to others from time to time although I have not found an entry here after a short search, so I am curious to hear opinions on the best option to minimise the inconvenience.
I held back on the obvious option of using Manjaro to be the primary install with respect to grub's management because another user prefers that I do not change anything. An ever-changing list of similarly named systems is too much. I sometimes have to peck and hope myself, so having one reliable os at the top of the list is a firm constraint.
With updates on both systems being fairly frequent, what is the simplest alternative to be able to maintain access to Manjaro while updating each os?
Is the frontloading of the microcode at each startup the only opportunity for installing it, or does it update once the system is up and an internet connection is established? If it is practical, I presume I could remove that and leave just one initramfs which would keep it simple for other instances of grub to manage.
Also from a new user perspective, the first sign of an issue was a blank screen on selecting Manjaro. Since it seems to be a grub issue with handling a less used option i.e. multiple initrd parameters, is it something you are already aware of and working on? Cheers

Hello,

I can only welcome you to the forum and suggest to read this:

Because i could not quite grasp the question, i can only point you here. It might clarify some things

Manjaro default Grub style is set to hidden. It can be changed tho.
See the /etc/default/grub file and search the forum, there are quite a lot of topics on the subject.
Once there is another system installed, the os-prober in Manjaro install will detect it, add it to the menu list, and that way the Grub Menu will become visible. Otherwise you press Esc or Shift right after BIOS loads and Grub menu will be revealed.

At the risk of heresy, make Manjaro the primary grub and use grub-customizer to put that other OS at the top of the grub menu. Updating would then have to include both systems and re-running grub customizer every time a kernel series is added to Manjaro or the other OS has a kernel update... The simplest alternative would be to set that other OS as a permanent default selection for Manjaro's grub (without using grub customizer at all.) That does violate the other OS at the top, but one enter key still loads that other OS.

Another approach would be to make a custom.cfg for that other OS that executes configfile to load Manjaro's grub menu. Then both systems can update independently of each other. The trade-off is one extra grub selection to load Manjaro if you have more than one kernel. If the system only has the other OS and Manjaro, disable os-prober in the other OS. Then there would be a single Manjaro grub entry in the other OS after an update-grub.

Due to the unique way Manjaro and Arch handle intel-ucode, they can not be correctly loaded by another Linux distro’s Grub. You should use Manjaro’s grub instead.

1 Like

Thanks for the quick responses to my concern. The references to tutorials were great as I am new to Manjaro. I have done more reading on the forum and also more about Grub.
This led to me finding this bug report " https://savannah.gnu.org/bugs/?47681 " 30_os-prober doesn't handle multiple initrd paths.
This seems properly reported but has sat since April 2016. It is a change that would likely help simplify life for more Manjaro users than just myself. I've given a vote of support for the issue to be promoted up the bug priority list on the gnu site.
In the meantime I'm booting up, editing the Manjaro initrd line to use it while I ponder options, but the graphic card is a bit unstable so I'm in Mint getting a kernel upgrade ready on USB to put in MJ non-gui that will sort that out, while wind and rain from the south pole hammers on the windows ... ahh, its not so bad. Thanks for the help, I'll get back with a report on outcomes.

Since the grub intel ucode issue is a function of how Arch and Manjaro handles said ucode, as ben81 has stated, in some way it is Manjaro's "fault" that other* distros cannot read and generate the grub entry properly. :wink:

If users of non-Arch-based distros don't know about this and if upon trying out Manjaro on a dualboot machine they choose not to let Manjaro control grub (why should they when they are merely testing it? they probably thought a simple update-grub command in their main distro would work), they would be wondering why they can't boot into Manjaro.

Regarding tutorials, gohlip is the one who has posted many of those useful grub tutorials. Try this one as well:

The information there will help you in creating your own custom.cfg, even if you don't create an os-independent grub bootloader. My custom.cfg is based on a lot of the stuff I learned from him.

PS. *For what it's worth, MX Linux has already tweaked its grub so that it can generate proper grub entries for Manjaro and other Arch-based distros.

Hi, thank you for responses, I have taken the opportunity to delve into grub again. I now have Manjaro booting, although I feel I cheated a bit.
I copied a prober generated menuentry for Manjaro into the Manjaro grub.d/40_custom (using sudo mousepad), then
sudo update-grub and reboot.
On restart selected the other OS ( Mint), sudo update-grub in there and presto! No joy. The initramfs was not picked up. This established, I think, that the os-prober of the other OS did process the information in 40_custom, omitting that detail.
So I went back deleted the /boot/amd-ucode.img portion of initrd , repeated the process, this time sucessfully.
I can now boot Manjaro from the Mint grub menu. So I can get to it, but there is still room to tidy this further. Thank you to Wongs. I have read the reference re os-independent loader and I think it might fit how I'm using my box, cheers

Editing 40_custom in Manjaro isn't going to work, because Manjaro isn't controlling grub in your computer. The intention is for you to have a custom entry for Manjaro in MINT's grub.d/40_custom and then update-grub from within MINT.

Or you can just create a /boot/grub/custom.cfg file in MINT for the Manjaro boot entry, and you dont need to update-grub after that.

The idea is that you manually create a custom grub menu entry for Manjaro that is correct, to be placed in your distro that is controlling grub.

1 Like

Forum kindly sponsored by