Udev - cannot mount root on kernel 2.6.33

Asked by emas

Hi, yesterday I updgraded my Ubuntu Lucid Lynx from Beta 2 to Release Candidate (eg. run update-manager by hand, auto-update doesn't work), it found many packages to update and all run fine.
I upgraded to Lucid Beta 2 last week from Ubuntu 9.10, Dell Vostro 1510 with NVidia card.
I was using a vanilla kernel 2.6.33.1 recompiled by excluding all unnecessary stuff, I also excluded initrd and compiled ext4 driver in the kernel. All was fine, both with Ubuntu 9.10 and with Lucyd Beta 2.

But this morning, at the first boot after the update, when I selected at Grub prompt my vanilla kernel after some seconds of Plymouth screen it appeared a message stating that root partition (/) cannot be mounted and asking if I want to solve the problem manually. I pressed "M" and a root console appeared. I saw above some messages that udev logged while trying to mount partitions, it said that root partition could not be mounted because "No such file or directory". At the console, no sda devices (!!) where found under /dev/. My home directory was not present, /home was empty, no hidden files where present. My home directory is also encrypted.
I attach my fstab.
I don't know what else to attach, because no log files were generated, no messages, no syslog, no kernel log.

What's happened with udev/udevd? Why it cannot mount my partitions anymore? And why, if it said "cannot mount / partition", I was presented with a root console with all my hard drive (except home directories)?
I think that there is some problem with that kernel, maybe because of the lack of initrd.
If I choose Ubuntu 2.6.32 default kernel, with initrd support, all is fine, system is up and running.

I then tried recompiling vanilla 2.6.33.1 including initrd, the compilation went fine (make-kpkg), deb packages where generated, but when I run dkpg -i to install them NO initrd image was generated in /boot, is that normal? Am I forgetting something?
I will try recompiling "Gentoo-way" generating initrd image.

Let me know if you need something else.

Question information

Language:
English Edit question
Status:
Solved
For:
Ubuntu linux Edit question
Assignee:
No assignee Edit question
Solved by:
Krisztian Papp
Solved:
Last query:
Last reply:

This question was originally filed as bug #571164.

Revision history for this message
emas (emas80spam) said :
#1
Revision history for this message
Rickard Närström (riccetn) said :
#2

If you don't have /dev/sda it usually means you are missing drivers for your hdd controller. The file system you fall back to when mounting of root fail is the file system on the initrd.

I have converted this to a question as you are using custom kernels. If you have the same problems with default kernels you can convert it back to a bug.

Revision history for this message
emas (emas80spam) said :
#3

Ok, you're right, I can't refer to this as properly "ubuntu bug".

But the problem remains: why until yesterday everything works fine (Lucyd, vanilla 2.6.33) and after the update the system cannot boot with 2.6.33 anymore?

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#4

2.6.33 is not an official ubuntu kernel so is not supported here. The latest official Lucid kernel is 2.6.32.21.22

Revision history for this message
Krisztian Papp (hadace) said :
#5

the recent linux-kernels are here not supported?
the recent linux-kernels are not supported by ubuntu(?)
what? :/

Revision history for this message
actionparsnip (andrew-woodhead666) said :
#6

It's not an official ubuntu kernel installed from the repo so is not supported here.

Revision history for this message
emas (emas80spam) said :
#7

Ehm, I understand that officially a kernel is "not supported", but between a "not supported" and a "it completely breaks the distribution making impossible to boot" there is a great difference..

That is a officially linux kernel, downloaded from kernel.org, recompiled and perfectly working in 9.10 and Lucid until Beta 2.
I really don't understand what could be wrong with that.

I think that maybe the new version requires the initrd, is that possible? Maybe tomorrow I will try to recompile the original (and supported) Ubuntu kernel without the initrd, and I will see if the problem will occur.

I already solved a bug, #526045, with update-grub and original Ubuntu kernel 2.6.32. Grub (or some library) requires the presence of a module in the kernel, a module that I disabled as I don't need it, and if that module is not find some annoying (but harmless) logs are printed.

Revision history for this message
emas (emas80spam) said :
#8

There are at least two bugs that seem related, #561390, #557909, so I think that definitely something is (was?) wrong.

Revision history for this message
Best Krisztian Papp (hadace) said :
#9

as written is now in many places, udev needs the following kernel options in the custom kernels (without initrd):
Device Drivers --->
 Generic Driver Options --->
  [*] Create a kernel maintained /dev tmpfs (EXPERIMENTAL)
  [*] Automount devtmpfs at /dev

(see Bug #571164)

Revision history for this message
emas (emas80spam) said :
#10

Thanks Krisztian Papp, that solved my question.