[regression] Upstart without initramfs fails to mount udev tmpfs

Bug #1105807 reported by Ronald
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
upstart
Triaged
Low
Unassigned

Bug Description

Ubuntu Precise 12.04.1 without initramfs and 3.8.0-rc4+ kernel.

A fix for people which do not use an initramfs was rolled out a few days ago to fix bug #980917. However, I think this fix caused a regression.

The relevant part of the diff of /proc/mounts when used with upstart (1.5-0ubuntu7) vs upstart (1.5-0ubuntu7.2):

+none /dev/pts devpts rw,nosuid,noexec,relatime,mode=600 0 0
-udev /dev tmpfs rw,nosuid,noexec,noatime,size=1024k,mode=775 0 0
-devpts /dev/pts devpts rw,nosuid,noexec,noatime,gid=5,mode=620 0 0

Udev tmpfs is not mounted anymore. udevd is running under (1.5-0ubuntu7.2), but I have to:

mount -t tmpfs none /dev
udevadm trigger

To get sound working again. Failure to do this causes errors such as mixers not found and such. Running vlc or mplayer as root makes stuff work again under 1.5-0ubuntu7.2. So this regression eventually exhibits permission issue's.

Downgrading from upstart 1.5-0ubuntu7.2 to 1.5-0ubuntu7 makes the issue's go away.

Revision history for this message
Ronald (ronald645) wrote :
Revision history for this message
Ronald (ronald645) wrote :
description: updated
Ronald (ronald645)
description: updated
Revision history for this message
Ronald (ronald645) wrote :

Sorry for the edit cascade. I just figured that if I mount /dev with tmpfs that the underlying /dev/shm is not available anymore and thus causes chromium browser to crash. So that is not a direct issue of this problem, just a victim when I tried to fix it myself.

* Need more coffee *

__ So, the problem, is that an udev tmpfs on /dev is not mounted and populated despite the fact that udevd is running. __

description: updated
summary: - [regression] Upstart fails to start/mount essential services without
- initramfs (e.g. udev, /dev/shm)
+ [regression] Upstart without initramfs fails to mount udev tmpfs
Revision history for this message
Steve Langasek (vorlon) wrote :

> Ubuntu Precise 12.04.1 without initramfs and 3.8.0-rc4+ kernel.

This is not an Ubuntu kernel, which means you've probably built it yourself. Please check your kernel config. It seems likely that you don't have the kernel configured to automount devtmpfs at boot? The Ubuntu kernels do:

$ grep -i devtmpfs /boot/config-$(uname -r)
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
$

If you're using devtmpfs, there's no reason to make init mount it when the kernel can do it just as well (and more efficiently). I think this should be regarded as a kernel configuration error more than anything.

It's possible that something further should be done in upstart to handle this corner case, so I'm not closing this report outright; but I don't think it's a good idea to further complicate upstart's special-casing of filesystems at startup.

Changed in upstart:
importance: Undecided → Low
status: New → Incomplete
Revision history for this message
Ronald (ronald645) wrote :

Dear Steve, thank you for your time.

Yes, I did not have DEVTMPFS and DEVTMPFS_MOUNT enabled. Enabling both and installing the update made sound work again, so I assume that all is well again.

I opened this bug, since I did not expect this type of functionality to change during an LTS cycle. However, since I'm running a custom kernel I can assume I just void that warranty.

         Good luck in further enhancing Upstart!

Steve Langasek (vorlon)
Changed in upstart:
status: Incomplete → Triaged
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.