KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents
Revision 1 as of 2006-08-12 20:17:31
KernelNewbies:
  • DoesNotWork
  • VFSCannotOpenRootDevice

I built my own kernel and tried it out, but when I rebooted my system it paniced right after giving me this error message:

VFS cannot open root device or unknown block, please append a correct root= option

There are a number of common causes for this problem. All of them boil down to the fact that the kernel does not have all necessary the drivers in place to mount your root filesystem. 9 out of 10 times, one of the following pieces is missing:

filesystem

  • If your root filesystem is ext3, make sure ext3 is loaded into the kernel by the time your root filesystem is mounted. You can do this by making sure that ext3 is compiled into the kernel CONFIG_EXT3_FS=y. Alternatively, compile ext3 as a module and make sure it gets loaded in your initrd.

block device

  • If your root filesystem lives on an IDE disk, make sure your IDE drivers are compiled into the kernel and not as modules. The same goes for SCSI, etc...

LVM

  • A number of distributions install the root filesystem into a Logical Volume by default, and not on a normal disk partition. In order to boot to a root filesystem on LVM, you need to have an initrd that loads the necessary drivers and configures the LVM subsystem. The script /sbin/mkinitrd from your distribution will do this for you.


["CategoryFAQ"]

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01