Video output stops on real root after July 12 udev changes

Bug #810221 reported by Luke on 2011-07-14
48
This bug affects 19 people
Affects Status Importance Assigned to Milestone
initramfs-tools (Ubuntu)
High
Martin Pitt
Oneiric
High
Martin Pitt

Bug Description

In Ubuntu Oneiric, since the July 11/12 udev, initramfs-tools, basefiles (/var/run to /run ) changes, plymouth flickers to black, causing all video output to cut off ("no signal" report from monitors) until /etc/init/plymouth-upstart-bridge.conf runs, restarting video output.

If /etc/init/plymouth-upstart-bridge.conf is disabled as a test, video does not resume at all, showing this to be what is bringing it back.

Booting with splash removed from the grub command line produces continuing video output without this flicker, though no script for logging output with plymouth produces output during this time (as my scripts normally would on console).

Thus, it seems that either plymouth needs to be patched to adapt to the /run changes, or that there is a problem elsewhere concerning video devices during this transition.

Steve Langasek (vorlon) wrote :

This is not a bug in plymouth; the problem is that with the new initramfs-tools upload, /dev/.initramfs is no longer being transferred correctly from the initramfs to the rootfs, with the result that upstart is no longer able to track the PIDs of services that were started in the initramfs and carried over. In particular, this affects bootchart and plymouth.

initramfs-tools needs to be fixed to restore compatibility with the old /dev/.initramfs directory, and only afterwards should upstart, bootchart, and plymouth have a coordinated migration to use /run in place of /dev/.initramfs.

affects: plymouth (Ubuntu) → initramfs-tools (Ubuntu)
Changed in initramfs-tools (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
importance: Undecided → High
status: New → Triaged
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package initramfs-tools - 0.99ubuntu2

---------------
initramfs-tools (0.99ubuntu2) oneiric; urgency=low

  * hook-functions: Revert changes from 0.98.8ubuntu3. With the current
    implementation of copying, and /etc/ld.so.conf now existing in initramfs,
    we can leave libraries at their original location. Thanks to maks for
    pointing out!
  * init: Add back compatibility symlink for /dev/.initramfs, until all
    packages using /dev/.initramfs have been moved to /run/initramfs.
    (LP: #810221)
 -- Martin Pitt <email address hidden> Fri, 15 Jul 2011 11:20:32 +0200

Changed in initramfs-tools (Ubuntu Oneiric):
status: Triaged → Fix Released
Martin Pitt (pitti) wrote :

I filed bug 810956 to track the transition to /run/initramfs/.

Luke (lukekuhn) wrote :

As of July 16, this bug is only fixed when using Plymouth 0.8.4 , when using Plymouth_0.8.2-2ubuntu24 the video output still cuts off.

With Plymouth 0.8.4, the text output is gone in such functions as password prompting and the plymouth messaging. The video continues during boot, but no text output. The password entry box still appears, though-the problem is limited to text. I am using a custom plymouth theme, but the text functions are cribbed from the ubuntu-logo script and worked fine until initramfs-tools - 0.99ubuntu2. There was one interesting behavior, though: When the video was cutting off, the font for text changed to a heavier font when the video function came back on.

Text still renders fine with plymouth is run from X, as well it should since plymouth has not changed. The older.

Plymouth_0.8.2-2ubuntu24, by comparison, still gave the video cutoff when I tried it in an attempt to fix the text problem.

I have 0.8.4 installed as a legacy from the Natty round of Plymouth message and password prompt problems, which the Ricotz PPA version fixed.

Today I just tested plymouth_0.8.2-2ubuntu25_i386.deb, finding the video cutoff bug worse than ever, with video not restarting until X starts, cutting off at root filesystem mount.
Last night I did some digging while trying to fix another bug. I tried both the previous ubuntu 0.8.2 version and the ricotz 0.8.4 version and played with how it was called in the initramfs. The 0.4.8 version normally worked except for text rendering-until I tried changing the plymouth script in /usr/share/initramfs-tools/scripts/init-top to call plymouthd with no arguments, or with all except the --pid-file= argument. I then tried 0.8.2 but calling plymouth in init-top with the arguments used in the older Ricotz 0.8.4 version, and video worked. Using ricotz's 0.8.4 natty version with the current initramfs scripts led to NO video ouput after the passphrase prompt. I suspect but am not sure that future /run migration changes might invert this.
In short, calling plymouth (any version) with --pid-file=/run/initramfs/plymouth.pid or with no pid file argument causes the video to cut off. Calling it with --pid-file=/dev/.initramfs/plymouth.pid causes the video to continue as normal, except for no text rendering.
I have attached a tarball with the fix that worked for me. As always, open any tarball you see here into a directory before putting the files in place, as a normal safety precaution-that way you can find them again if you need to remove them! It contains the initramfs scripts for init-top and init-bottom that call Plymouth, the versions that work right now but may not in the future.
I am filing a separate report on the no text bug, as I have some screen photo logs that might help there.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers