After installation of slackware I am getting this error.It happens just after fresh installation and solution mentioned here doesn't work. Tried reinstalling 4 times but same error.When booting with huge kernel I got this error. Please let me know am I missing something?? Thanks in advance !!
1 Answers
Your first screenshot only shows "prepare_namespace" and "mount_root" functions as the last thing before panic.
The second one has the correct error message:
VFS: unable to mount root fs on unknown-block...
I had the same problem, with different kernels; the kernel panics are very variable, depending on how unable the kernel is. In one word, it is the essential root= boot param that is not working, directly or indirectly.
One simple reason is mentioned here: VFS: unable to mount root. This gives some context.
In my case it was the missing initrd= boot param. Most kernels need the modules from the initrd to access the disk.
I guess you booted and installed from a USB Flash with a slackware image. So it is only a configuration problem.
Tried reinstalling 4 times
I know what you mean, and sometimes I try a fifth time, but then I try to take a systematic approach.
Here are the two kernel command lines I saved for booting slackware from Uefi Shell.
slack\huge.s root=/dev/sda2
and
slack\huge.s initrd=slack\initrd.img
Neither will work like that, though: it takes both paramters to work. Grub has an almost identical line.
This works:
arch5\vmlinuz-linux initrd=arch5\initramfs-linux.img root=/dev/sda3
And this also, only kernel that has the modules for SSD built in:
fedora\vmlinuz root=/dev/sda2
slack, arch5 and fedora are just dirs I created to store the kernels and their initrds.
I see the tag slackware says: A linux based operating system.
I totally disagree with that, which may sound ridiculous, since I want to call it a linux distribution. But this site is called Unix&Linux and not Posix&Distros.
mount_block_root() in init/do_mounts.c has this (I deleted the #ifdefs):
/*
* Allow the user to distinguish between failed sys_open
* and bad superblock on root device.
* and give them a list of the available devices
*/
__bdevname(ROOT_DEV, b);
printk("VFS: Cannot open root device \"%s\" or %s: error %d\n",
root_device_name, b, err);
printk("Please append a correct \"root=\" boot option; here are the available partitions:\n");
printk_all_partitions();
panic("VFS: Unable to mount root fs on %s", b);
}
if (!(flags & SB_RDONLY)) {
flags |= SB_RDONLY;
goto retry;
}
printk("List of all partitions:\n");
printk_all_partitions();
printk("No filesystem could mount root, tried: ");
for (p = fs_names; *p; p += strlen(p)+1)
printk(" %s", p);
printk("\n");
__bdevname(ROOT_DEV, b);
panic("VFS: Unable to mount root fs on %s", b);
out:
put_page(page);
}
So the helpful error messages are there, but if the problem is the (missing) block device driver/module itself, it can break a bit anyhow - I really had all sorts of kernel panics with an incorrect kernel command line.
-
What else need to be done after running setup for installation of slackware;I don't think I should face any problems since setup command was successful or do I need to run other commands once setup is finished – Madhubala Jan 05 '20 at 03:21
-
"since setup command was successful": the way I remember slackware's install that is not so easy to tell, in the blue installation menu. The missing piece could be the bootloader/boot params. – Jan 05 '20 at 05:38
-
Thanks for helping me !!! . I asked about the installation part as a separate question. – Madhubala Jan 05 '20 at 07:05