break=foo boot option incompatible with gfxpayload=keep

Bug #864466 reported by Steve Langasek
20
This bug affects 3 people
Affects Status Importance Assigned to Milestone
console-setup (Ubuntu)
Triaged
Medium
Steve Langasek
Oneiric
Won't Fix
Medium
Unassigned
kbd (Ubuntu)
Triaged
Medium
Steve Langasek
Oneiric
Won't Fix
Medium
Unassigned

Bug Description

Since grub2 now starts Linux with the console in graphics mode by default (gfxpayload=keep), in order to get a text console, something must explicitly switch the VT to KD_TEXT mode. For a full boot, this is handled by plymouth when it exits; in the initramfs, there is nothing that fulfills this function. This means that booting with 'break=top|modules|premount|mount|mountroot|bottom|init', unless also explicitly changing the gfxpayload setting, will result in an initramfs prompt that you can't see. (Unless you give up waiting for the prompt and boot a second time; then the recordfail handling will cause the next boot to be in text mode!)

/usr/share/initramfs-tools/scripts/panic/console_setup looks like the logical place to handle the switch to text mode, along with all the other console setup. We need a C program that lets us do the actual video mode switch, however. The kbd source package includes a 'totextmode' utility that's not built by default. We should probably build it and integrate it into the console_setup panic script.

Providing totextmode would let us boot with gfxpayload=keep by default in recovery mode as well.

ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: keyboard-configuration 1.57ubuntu27
ProcVersionSignature: Ubuntu 3.0.0-11.18-generic 3.0.4
Uname: Linux 3.0.0-11-generic x86_64
ApportVersion: 1.23-0ubuntu2
Architecture: amd64
Date: Sat Oct 1 22:22:32 2011
InstallationMedia: Ubuntu 10.04.1 LTS "Lucid Lynx" - Release amd64 (20100816.1)
PackageArchitecture: all
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: console-setup
UpgradeStatus: Upgraded to oneiric on 2011-09-23 (8 days ago)

Revision history for this message
Steve Langasek (vorlon) wrote :
Changed in console-setup (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Steve Langasek (vorlon)
Changed in kbd (Ubuntu):
status: New → Triaged
importance: Undecided → Medium
assignee: nobody → Steve Langasek (vorlon)
Changed in console-setup (Ubuntu Oneiric):
milestone: none → oneiric-updates
Changed in kbd (Ubuntu Oneiric):
milestone: none → oneiric-updates
Revision history for this message
Steve Langasek (vorlon) wrote :

Fixed patch to get totextmode really into the package. Doesn't work though; I'm still left with the graphical splash when using break=top. Needs more investigation.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "updated kbd patch (totextmode in /bin so it can be used reliably by friendly-recovery)" of this bug report has been identified as being a patch in the form of a debdiff. The ubuntu-sponsors team has been subscribed to the bug report so that they can review and hopefully sponsor the debdiff. In the event that this is in fact not a patch you can resolve this situation by removing the tag 'patch' from the bug report and editing the attachment so that it is not flagged as a patch. Additionally, if you are member of the ubuntu-sponsors please also unsubscribe the team from this bug report.

[This is an automated message performed by a Launchpad user owned by Brian Murray. Please contact him regarding any issues with the action taken in this bug report.]

tags: added: patch
Revision history for this message
Steve Langasek (vorlon) wrote :

Further testing shows that totextmode is both insufficient and unnecessary.

- If a framebuffer module is loaded so that the kernel has an fbcon, 'chvt 1' is sufficient to get a text console, and the panic() function already does this.
- If no framebuffer module is loaded, the kernel seemingly doesn't know how to change the console from graphics mode to text mode, regardless of how many times you call totextmode or chvt.
- We currently do not include any framebuffer modules in the initramfs by default. We could change this so that they're included unconditionally, but this would increase the size of the initramfs (possibly impacting boot speed) and would result in them being autoloaded by default (definitely impacting boot speed, as well as impacting boot experience since on intel this brings a modeswitch that clears the purple background).
- We could avoid the full overhead of having all the modules in the initramfs by only including vesafb. However, this precludes loading other framebuffer modules later for the same card, which means users would be stuck with vesafb instead of the native driver, making it impossible to resume from a 'break' and get the correct post-boot experience.

So this is definitely a 'wontfix' for oneiric. We should still do something to improve the handling of 'break=', but this isn't it, and any other solution is too risky for oneiric.

Changed in console-setup (Ubuntu Oneiric):
assignee: Steve Langasek (vorlon) → nobody
milestone: oneiric-updates → none
status: Triaged → Won't Fix
Changed in kbd (Ubuntu Oneiric):
status: Triaged → Won't Fix
milestone: oneiric-updates → none
assignee: Steve Langasek (vorlon) → nobody
Changed in kbd (Ubuntu):
milestone: oneiric-updates → none
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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