cannot boot custom kernel with no initrd

Bug #575666 reported by Simon Kitching
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: mountall

Trying to boot a custom kernel without an initrd (hence using root=/dev/sda5) causes the "waiting for /" message to be displayed, and then no progress is made.

Booting the standard Ubuntu kernel with root=/dev/sda5 works. And doing "sudo mount" shows that "/" is indeed mounted on /dev/sda5.

This custom kernel setup worked about 2 weeks ago. Now booting that same kernel with an updated Ubuntu fails.

Perhaps related:
  503212

$ lsb_release -rd
Description: Ubuntu 10.04 LTS
Release: 10.04

By the way, a couple of minor unrelated bugs I ran into while testing this: when "waiting" screen is up:
 * pressing ESC --> "plymount main process killed by SEGV"
 * pressing S --> "init: libvirt-bin respawning too fast"

ProblemType: Bug
DistroRelease: Ubuntu 10.04
Package: mountall 2.14
ProcVersionSignature: Ubuntu 2.6.32-21.32-generic 2.6.32.11+drm33.2
Uname: Linux 2.6.32-21-generic i686
Architecture: i386
Date: Wed May 5 21:08:07 2010
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Alpha i386 (20100224.1)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_NZ.utf8
 SHELL=/bin/bash
SourcePackage: mountall

Revision history for this message
Simon Kitching (skitching) wrote :
Revision history for this message
Simon Kitching (skitching) wrote :

I should point out that labelling this as related to the "mountall" package is only a guess. The problem could be devtmpfs or udev or something else in that area.

I have noted that if I press "M" (maintenance shell), then type "mount" it shows that "/dev/sda5" *is* mounted as the rootfs. And I can see the expected files (including my modifications to files in /etc). However doing "ls /dev/sd*" shows no disk device nodes.

So it would appear that device enumeration is working correctly, and that in do_mounts.c, the code successfully iterates over the detected devices and matches the right device structure for "root=/dev/sda5", resulting in a successfully-mounted root. However whatever is responsible for actually creating the /dev/sda5 device node is not functioning, and this is confusing things later.

Revision history for this message
Simon Kitching (skitching) wrote :

Some more testing results:

* lucid alpha-3 boots fine with exactly the same kernel that fails to boot under current (released) lucid. So this *is* something that got broken recently.

* lucid's current kernel (2.6.32-22) + initrd boots fine with root=/dev/sda5

So previousy, /dev/sd* nodes were being created even in the absence of an initrd, and now they are not.

Revision history for this message
Simon Kitching (skitching) wrote :

Ok, found the issue: a kernel will only boot in Lucid if devtmpfs is compiled in. Just setting the following in my .config results in a successful boot:

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

Just to repeat: this is a change that occurred late in the lucid development cycle; before then, devtmpfs was not necessary.

I don't know if making devtmpfs mandatory was a deliberate move or just accidental, so I'll leave it up to someone else to decide whether to close this as INVALID or not. Personally, I've got no objection to enabling devtmpfs so I'm happy now.

Revision history for this message
Peter Antoniac (pan1nx) wrote :

Check out the https://wiki.ubuntu.com/KernelTeam/Configs/KarmicToLucid for a diff in configurations...

Peter Antoniac (pan1nx)
Changed in mountall (Ubuntu):
status: New → Invalid
Revision history for this message
Peter Antoniac (pan1nx) wrote :

Moved it into kernel, but the configs are already like the author's sugests

affects: mountall (Ubuntu) → linux (Ubuntu)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.