"No root device found.Boot has failed.sleeping forever." on rhel6 when compile kernel
Linux - KernelThis forum is for all discussion relating to the Linux kernel.
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.
"No root device found.Boot has failed.sleeping forever." on rhel6 when compile kernel
It is on a server,with Xeon E5506,SATA,SSD,SAS,etc.
I never compiled the kernel on a server,and I don't know is there any special to pay attention to.
I downloaded kernel source code from kernel.org,then using the old config from boot directory,then compiled it as usual.reboot then it told me
Code:
No root device found.Boot has failed.sleeping forever.
I compiled 2.6.32,2.6.30,2.6.36,3.0.1,etc,and it is no change.
I delete the "quiet"option from menu.lst,and these appeared:
Code:
mount:unknown filesystem type 'ext4'
mount:unknown filesystem type 'ext4'
mount:unknown filesystem type 'ext4'
……
can't mount root filesystem
Boot has failed.sleeping forever.
qlaxxx 0000:04:00.0:cable is unplugged
Noooooooooooooooooooooooooooooooooooooooooo....the config HAS to be build by the package...
Steps to follow
- download the source
- unpack in a NON ROOT folder
- open (console) the folder
- enter make menuconfig
- enter make
- THEN go to ROOT mode
- enter make install
I guess the old config had sent the server to the "big backup in the sky"...
I'd like to keep this thread in view to see if I could help further...
without config file from boot,I don't know how to config the kernel
Quote:
Originally Posted by Thor_2.0
Noooooooooooooooooooooooooooooooooooooooooo....the config HAS to be build by the package...
Steps to follow
- download the source
- unpack in a NON ROOT folder
- open (console) the folder
- enter make menuconfig
- enter make
- THEN go to ROOT mode
- enter make install
I guess the old config had sent the server to the "big backup in the sky"...
I'd like to keep this thread in view to see if I could help further...
Luck
Thor
without config file from boot,I don't know how to config the kernel
could you explain it what's the meaning of "big backup in the sky"?
Using the old kernel I found those messages from dmesg
Code:
EXT4-fs(sda2):mounted filesystem with ordered data mode
dracut:Mounted root filesystem /dev/sda2
but my kernel just told me:
Code:
No root device found.
Boot has failed,sleeping forever.
You can use the old .config file to compile the new kernel.
Quote:
There are different ways to configure what you want compiled into the kernel; if you have an existing configuration from an older kernel, copy the old .config file to the top level of your source and use make oldconfig instead of menuconfig. This oldconfig process will carry over your previous settings, and prompt you if there are new features not covered by your earlier .config file. This is the best way to 'upgrade' your kernel, especially among relatively close version numbers. Another possibility is make xconfig for a graphical version of menuconfig, if you are running X.
The clue to your mystery is in the messages which precede the actual panic: none of the identified file systems could be processed.
A very likely culprit is that you have configured the system with the necessary filesystem support in a loadable kernel module, instead of specifying that it must be compiled into the resident kernel. A filesystem driver can't be loaded if a filesystem driver is necessary in order to load it ... "Catch-22."
The clue to your mystery is in the messages which precede the actual panic: none of the identified file systems could be processed.
A very likely culprit is that you have configured the system with the necessary filesystem support in a loadable kernel module, instead of specifying that it must be compiled into the resident kernel. A filesystem driver can't be loaded if a filesystem driver is necessary in order to load it ... "Catch-22."
Hmm, that's a good spot, but on my system, I'd need Root rights, and I made it a rule-of-thumb to use the Root account a less as possible...but, yes, it's a good spot.
Pardon me. It's an American expression, explained here.
Quote:
Among other things, 'Catch-22' is a general critique of bureaucratic operation and reasoning. The phrase "Catch-22" means "a no-win situation" or "a double bind" of any type.
The phrase specifically refers to a book about pilots who were flying combat missions. "(Pilot) Orr was crazy and could be grounded. All he had to do was ask; and as soon as he did, he would no longer be crazy and would have to fly more missions. Orr would be crazy to fly more missions and sane if he didn't, but if he were sane, he had to fly them. If he flew them, he was crazy and didn't have to; but if he didn't want to, he was sane, and therefore had to fly the missions." This was 'Catch #22' in the official bureaucratic rule-book.
In my usage: "if the necessary file-system support code is in a kernel module, then the computer has to have access to the filesystem in order to load the module. But it can't do that, because, without the necessary file-system support code, it can't find and load the module."
It is common to include filesystem support in kernel modules. (For example, you don't need to be able to read a CD-ROM filesystem until, and unless, you actually stick a CD-ROM into the drive. The same goes for, say, USB memory sticks.) But, for whatever filesystem you have used for the kernel, support for that filesystem must be resident in the kernel. It's a common mistake. (I can say that ... ... with absolute authority.)
Last edited by sundialsvcs; 08-22-2011 at 02:50 PM.
But, for whatever filesystem you have used for the kernel, support for that filesystem must be resident in the kernel. It's a common mistake. (I can say that ... ... with absolute authority.)
Thank you for your kindness and explaination.
Actually,I used ext4 format for the root partition,ext3 for boot.so what is the support for that ext4?
And "be resident" means say yes or module to the config file?
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.