Slackware-current, huge: Kernel panic when 'root=UUID' in GRUB configuration
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Sounds all very logical, but I just got curious again after I got reminded of this issue. I got to wonder if there was anything interesting I could learn about it.
Did you know that the humans have a tail too? It's vestigial and usually it's hidden under skin (in the place you expect to be), but the anthropologists says that long time ago our tail was long and a very useful thing to have while our ancestors still lived above trees.
Same's with the huge kernels. Long time ago, probably they was a useful thing to have in your Slackware, but today they are just a vestigial tail. Nothing interesting there.
I dunno, for a regular user it seems equally fine to just use /dev/sdaX. Might get messed up if you boot from USB sticks or such, but should work in general.
NVME is great for this actually
Personally I boot /dev/nvmexyz for my custom kernel without initrd.
I confirm what LuckyCyborg said: the UUID (or filesystem uuid) is stored in the file system thus not available to the kernel at boot time.
So if you insist to use a huge kernel with no initrd you have two solutions:
Name the partition like /dev/<something> (only if the order of drives will never change and the drive is not removable).
Name the partition by partuuid (or partition uuid) as suggested by Labinnah.
To use the naming by partuuid you can just set in /etc/default/grub:
GRUB_DISABLE_LINUX_UUID="true"
GRUB_DISABLE_LINUX_PARTUUID="false"
and re-generate /boot/grub/grub.cfg using grub-mkconfig or update-grub
This being said I also agree with LuckyCyborg on this: there is zero benefit using a huge kernel instead of a generic one.
Last edited by Didier Spaier; 04-21-2022 at 12:19 AM.
I use LILO. I have entries for both the generic kernel and the huge kernel. Defaults to generic, but huge is there for a manual choice - like when I forget to make a new initrd after a kernel upgrade.
What can I say. I like backups, and having choices.
Because to use UUIDs on your bootloader, means that you need to use always the generic kernel and this is end of line. And the usage of an initrd with the huge kernels makes no sense.
Wrong. Using UUIDs requires the use of an initrd. It doesn't matter if you boot the generic or huge kernel itself. It is possible you might run into issues booting the huge with a initrd, but I've personally never ran into them.
As you're well aware, "generic" and "huge" aren't kernel terms, but Slackware terms. An initrd can load a generic or huge kernel. I purposefully build in my ext4 module while using a "generic" config, just out of sheer laziness so I don't have to build an initrd (I'm using a single NVMe drive on my system and that happens to contain my EFI partition, so I have no current need for UUIDs).
As pointed out elsewhere, you can always use PARTUUIDs without needing an initrd.
Quote:
Originally Posted by LuckyCyborg
Secondly, never, BUT never mess with the bootloader of one OS on another OS.
This is totally wrong too. You can absolutely "mess" with a bootloader within another distro, as long as you understand how the bootloaders work and how kernels need to be referenced. I am *very* familiar with that with lilo, so I would have no problems getting multiple linux systems booting while editing /etc/lilo.conf in a single distro. However, I don't have that knowledge on how grub works, so I wouldn't risk it without a lot of work.
Quote:
Originally Posted by LuckyCyborg
Eventually, use chainloading, eventually use different hard disks, BUT trust me, the Ubuntu tools mess with all configuration, not only "regenerates" its own entries.
I've only ever used chainloading with Windows. It's not hard with a little bit of research to get multiple distros to boot using the same bootloader.
Distribution: Slackware64 {15.0,-current}, FreeBSD, stuff on QEMU
Posts: 452
Rep:
Quote:
Originally Posted by luvr
I’m assuming that the messing around that I want to undertake with getting my own GRUB copy properly installed and the Ubuntu GRUB getting removed, may well render my system unbootable a few times because I’m still unfamiliar with UEFI. In any case, it will be a learning process.
It might be easier than you think. Ubuntu provides /boot symlinks to the kernel and initrd, so it should be possible to keep a static GRUB configuration on Slackware that points to symlinks only.
It might be easier than you think. Ubuntu provides /boot symlinks to the kernel and initrd, so it should be possible to keep a static GRUB configuration on Slackware that points to symlinks only.
Yes, that won't be the hard part. I got into the habit of maintaining similar symlinks under Slackware, so I generally don't have to touch my GRUB configuration unless and until I add or remove or replace any systems.
I'm just not sure how easy or hard it is to add a bootloader to a UEFI system, or to remove one from it, without messing up the boot process.
Ideally, I would end up with two installed GRUB bootloaders: a "stable" one and an "experimental" one that I can play with without messing up the "stable" one. Under Legacy BIOS, I installed the "stable" GRUB as my primary bootloader onto the MBR, and I used chainloading to arrive at the "experimental" one. I have no idea, as of yet, how I could do such a thing under UEFI.
It might be easier than you think. Ubuntu provides /boot symlinks to the kernel and initrd, so it should be possible to keep a static GRUB configuration on Slackware that points to symlinks only.
This is what I do on my slackware systems. The only thing I do is run mkinitrd with kernel upgrades.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.