Looks like this is caused by the lack of any plymouth themes in the default lxc environment. Installing the plymouth-theme-ubuntu-text package, the following works:
So either lxc should mask the 'splash' argument in /proc/cmdline by default, or plymouth-theme-ubuntu-text should be included.
The other problem is that by default, plymouth in Ubuntu looks to /dev/tty7, which isn't mapped anywhere usable under lxc. This could also be forced by forcing an alternate kernel commandline, such as 'console=/dev/lxc/console'.
If /proc/cmdline itself isn't virtualized, I'd be ok with a patch to /etc/init/plymouth.conf to pass an appropriate --kernel-command-line argument when in a container, provided it can be done in the same way as /etc/init/container-detect.conf using env vars. (AIUI, there may be a LIBVIRT_LXC_CMDLINE variable for this?)
Looks like this is caused by the lack of any plymouth themes in the default lxc environment. Installing the plymouth- theme-ubuntu- text package, the following works:
# service tty2 stop
tty2 stop/waiting
# plymouthd --mode=boot --attach-to-session --tty=/dev/tty2
# plymouth show-splash
#
connecting to tty2 with 'lxc-console -n p1 -t 2' shows me the expected text splash screen.
# plymouth ask-for-password --prompt 'open sesame: '
#
the prompt is shown.
So either lxc should mask the 'splash' argument in /proc/cmdline by default, or plymouth- theme-ubuntu- text should be included.
The other problem is that by default, plymouth in Ubuntu looks to /dev/tty7, which isn't mapped anywhere usable under lxc. This could also be forced by forcing an alternate kernel commandline, such as 'console= /dev/lxc/ console' .
If /proc/cmdline itself isn't virtualized, I'd be ok with a patch to /etc/init/ plymouth. conf to pass an appropriate --kernel- command- line argument when in a container, provided it can be done in the same way as /etc/init/ container- detect. conf using env vars. (AIUI, there may be a LIBVIRT_LXC_CMDLINE variable for this?)