[regression] Upstart without initramfs fails to mount udev tmpfs

Reported by Ronald on 2013-01-26
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
upstart
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.

Ronald (ronald645) wrote :
Ronald (ronald645) wrote :
description: updated
Ronald (ronald645) on 2013-01-26
description: updated
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
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
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) on 2013-01-27
Changed in upstart:
status: Incomplete → Triaged
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers