kisslinux / init

KISS Linux - Init Framework
https://kisslinux.github.io
MIT License
90 stars 27 forks source link

Multiple Hard Drives fails to find correct system ROOT #1

Closed a-schaefers closed 4 years ago

a-schaefers commented 4 years ago

Here is a thread that is likely related to this bug, https://www.reddit.com/r/kisslinux/comments/e257uh/installation_trouble_kernel_panic_unable_to_mount/ , but regardless, my issue is when I have my second hard drive inserted, KISS linux init fails to mount ROOT properly and result is kernel panic. I will try to get the exact error message when I get a chance and post it back here as a reply.

So basically, let's make this smarter so that we can have computers with more than one hard drive okay.

Thanks

dylanaraps commented 4 years ago

I've also seen this exact error message with an invalid/incomplete/incorrectly configured kernel config. I also only have one builtin drive on my only piece of hardware so I can't discount this from being a cause either.

If this is a cause I find it funny that it wasn't found through testing by myself (or others) during KISSdevelopment! The workaround right now is to install an alternative init system ifbusybox init` (and the boot script) are at fault.

Can anyone using KISS with multiple drives chime in? Or someone using KISS with a single drive and the ability to attach a second drive to possibly reproduce?

a-schaefers commented 4 years ago

I too am hoping others with 2 or more hard disks will chime in. But just for clarity, here I go. When I remove one HDD, I boot fine, but any time I plug in my second HDD, I get kernel panic. Will post the error details shortly.

dylanaraps commented 4 years ago

It sounds to me like a simple solution would be to tell grub to act on the UUID instead of /dev/sda or equivalent.

a-schaefers commented 4 years ago

OK, @dylanaraps I am now booting KISS linux with both Hard Drives, and this is how I resolved it:

  1. I had to create /etc/fstab (addressing the disk partitions by UUID), but that alone was not enough.

  2. I had to put my PARTUUID (linux cannot receive the UUID on the kernel CMD parameters, only the PARTUUID https://unix.stackexchange.com/questions/93767/why-cant-i-specify-my-root-fs-with-a-uuid ) in my /etc/default/grub file as follows:

GRUB_CMDLINE_LINUX_DEFAULT="root=PARTUUID=ebc1e7b0-02"

  1. I had to grub-mkconfig -o /boot/grub/grub.cfg again.

So this is resolved, but needs to be better documented in the install guide perhaps

For documentation purposes, without the PARTUUID on the linux CMDLINE I get the following error when I have more than one hard disk in the computer:

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,2)

And without an /etc/fstab (BUT WITH PARTUUID parameter) I drop to an emergency shell.

It takes both for me to boot properly with two hard disks in the computer

a-schaefers commented 4 years ago

@dylanaraps We could close this, i'm not sure it's actually a bug, other than lack of documentation. You know more than me about the init we are using....

dylanaraps commented 4 years ago

It's lack of documentation as the init will read/use fstab if it exists.