@HasanQ was closest to the right answer, but still incomplete.
It is to do with Arch-based Distros NOT loading intel-ucode and amd-ucode from within the kernel, but performing it separately, which can be seen quite easily from the respective entries in Grub Menu, if you press 'e' to edit and examine startup parameters - look at the bottom line.
This occurs across Debian-based Distros (eg Mint, Ubuntu), RPM-based Distros (eg Fedora, Mageia) and Gentoo-based Distros (Calulate and Sabayon). I have not tried it with Slackware. You do NOT have to use the Arch-based bootloader.
You can instead create a custom.cfg
file which you can place wherever grub.cfg
is, typically /boot/grub
- no need to update grub, just reboot and choose the entry at bottom of menu.
You can read about it at linux dot org or at endeavouros forum.
Elsewhere, on Installed Manjaro or other Arch alongside other Distro, then Kernel Panic later, I have written the following:
If you are running just Manjaro (or other Arch-based Distro) on your
computer, or even dual-booting with Windows, and you then choose to
install an additional Distro that is not Arch-based, then this article
is for you.
If you are dual-booting or multi-booting even one more Linux that is
not Arch-based, chances are you are going to come across a Kernel
Panic.
It will occur following updates and upgrades executed on the non-Arch
distro, which are sufficient to cause that distro to assume the spot
of Primary Partition, that is, top of your Grub Menu.
This article applies to GRUB only, although I would be interested to
hear from rEFInd users and users of other bootloaders.
The packages updated and upgraded which will generate this change in
order include but are not limited to some combination of the
following:
- Your kernel
- Grub, grub-efi, grub-pc, grub-signed and so on
- Shim, shim-signed
- Some major firmware updates
- Other (you’ll find them, or they'll find you!)
You’ll reboot your computer, the other distro will now be in top spot
and work fine, and then you key down to choose Manjaro and...
Kernel Panic
The Kernel Panic will dump you to a black and white (tty-style) screen
with output looking similar to the following
Kernel Panic – not syncing : VFS: unable to mount root fs on unknown-block(0,0)
This will be followed by a CPU reference, hardware name, a call trace,
a Kernel Offset, and end with
---[ end Kernel Panic – not syncing : VFS: unable to mount root fs on unknown-block(0,0) ]---
You cannot exit or get a response other than to power down and start
again, and this time not choose Manjaro.
It has been said that the only way to prevent this circumstance is to
be sure the Manjaro (or other Arch, Arch-based) Grub is in control.
That is not so.
It is simply a matter of generating a file called custom.cfg
and
storing it in your (/boot/grub
) folder (could be /boot/grub2
in
some distro families) and an entry or entries for that will appear at
the end of your Grub Menu once you reboot. No need to update Grub.
Just do it.
I will now show you how to do this.
I will take the shortest way to summarising it, because I know there
are users out there in need of this, and then I will fill out more
detail for those generally and genuinely interested. So it may be a
Thread in instalments.
PREPARATION
If you are a user of Timeshift, BackInTime, Snapper or similar system restore tool, first take a snapshot/image of whatever working
OS you have operating and safeguard that.
Get the UUID of the root partition of your Endeavour or other Arch-based distro and have it handy, you will need to enter it. This
can be obtained by a number of methods, including, but not limited to
the following-
- In Gparted, right click the root partition, click info
- In Terminal use
blkid | grep -i <label of distro if labelled>
- Check for it in
/etc/fstab
- Other means
Decide what text editor, whether CLI or GUI, you want to use to make a small text file, and be aware that the resulting file will need
to be placed in (/boot/grub
), or specifically, in the folder where
your grub.cfg
file is stored.
This will require root privileges, for example sudo, or assuming root.to the non-Endeavour, non-Arch-based distro (for example boot
into Linux Mint) that is in the primary partition (top) spot on your
Grub Menu.
Boot to the non-Endeavour, non-Arch-based distro (for example boot into Linux Mint) that is in the primary partition (top) spot on your
Grub Menu.
STEPS
A typical EXT4 UUID will be in the format of 32 digits and
alphabetical characters, structured like this (8 then 4 then 4 then 4
then 12, separated by dashes)
7b52a802-aa6d-4aa2-aab5-5dffbe6833c6
For this exercise I will use
nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
and you substitute the value by copying/pasting the result you got
from Prep Step 2.
1.-4. above.
Either use touch
to create the file custom.cfg
and then your favourite text editor, or I just use nano
as follows
sudo nano custom.cfg
and enter this text, where the string of n’s is the UUID for your
Endeavour or other Arch-based distro’s root partition
menuentry "Manjaro - configfile" {
insmod part_gpt
part part_msdos
insmod ext2
search --no-floppy --fs-uuid --set=root nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn
configfile /boot/grub/grub.cfg
}
The part in quotes in the first line is a choice for you, you could
call it “My beloved Manjaro” if you wished.
Other than that, make sure the syntax matches exactly, including
those two curly brackets.
Save and exit, or exit and save, the file, with it in (/boot/grub
) or wherever your grub.cfg
file is.
Reboot (no need to update grub)
If you have followed the above correctly, when you see your GRUB menu
it will have an additional entry at the end saying what was in that
first line. That is your new entry point to Manjaro or your chosen
Arch-based distro.
There will still be the other entry for Manjaro in the ordered GRUB
menu list, but if you choose that you will still encounter the kernel
panic, so practise picking the end one.