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 !!


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


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");


                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("No filesystem could mount root, tried: ");
        for (p = fs_names; *p; p += strlen(p)+1)
                printk(" %s", p);

        __bdevname(ROOT_DEV, b);

        panic("VFS: Unable to mount root fs on %s", b);

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 5 '20 at 3: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. – user373503 Jan 5 '20 at 5:38
  • Thanks for helping me !!! . I asked about the installation part as a separate question. – Madhubala Jan 5 '20 at 7:05

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.