Send plymouth mailing list submissions to
[email protected]
To subscribe or unsubscribe via the World Wide Web, visit
http://lists.freedesktop.org/mailman/listinfo/plymouth
or, via email, send a message with subject or body 'help' to
[email protected]
You can reach the person managing the list at
[email protected]
When replying, please edit your Subject line so it is more specific
than "Re: Contents of plymouth digest..."
Today's Topics:
1. Re: Plymouth custom initrd problems (Ray Strode)
2. Re: Plymouth custom initrd problems (Daire Byrne)
3. Re: Plymouth custom initrd problems (Ray Strode)
4. Re: Plymouth custom initrd problems (Daire Byrne)
5. Re: Plymouth custom initrd problems (Ray Strode)
----------------------------------------------------------------------
Message: 1
Date: Tue, 19 May 2009 17:02:09 -0400
From: Ray Strode <[email protected]>
Subject: Re: Plymouth custom initrd problems
To: Daire Byrne <[email protected]>
Cc: [email protected]
Message-ID:
<[email protected]>
Content-Type: text/plain; charset=UTF-8
Hi Daire,
> I am trying to add plymouth to a custom "busybox" based initrd we use for
> diskless boots (based on uClibc's buildroot) but we eventually switch_root to
> Fedora 11.
[...]
> However the plymouth --show-splash call does nothing. I am just trying to get
> VESA working (vga=0x318) for now so no fancy modesetting or kernel modules
> are required.
Okay, should be possible. What device nodes are you creating before
you start plymouth? you'll need /dev/fb , /dev/tty0, /dev/tty1
created (with mknod or whatever), and /dev/pts, /sys, and /proc
mounted.
>My guess is that Nash does something different when setting up the initial
>terminals compared to busybox's "sh" implementation that plymouth doesn't like.
>In particular the tty that my "init" script uses is set to /dev/console. Maybe
>I need it to be tty0 for plymouth?
I don't think so. /dev/tty0 is a synonym for "current active tty".
/dev/console is also "current active tty" unless console has been
redirected (with console=blah on kernel command line or from an app
using the TIOCCONS ioctl) Shouldn't have anything to do with graphics
output.
> I tried setting the tty using the kernel option "console=tty0" but it looks
> like busybox's "sh" doesn't respect that.
console=tty0 is the kernel default. Normally you'd only use it if you
were specifying multiple console= lines ("output to the serial console
AND the screen").
> In the Fedora initrd I noticed that there is a "/lib/udev/console_init tty0"
> command right before plymouthd starts.
console_init just sets up the default console font / keymap /etc.
Probably not your problem.
> Here's a snippet of the relevant part of the debugging output from "plymouthd
> --debug" after issuing the "plymouth --show-splash" command:
you can also do plymouth:debug / plymouth:nolog on the kernel command
line, or type ctrl-v while it's running to get debug spew
> <snip>
> ?[main.c] ? ? ? ? ? ? add_windows_to_boot_splash:There are 1 windows in list
> ?[main.c] ? ? ? ? ? ? start_boot_splash:showing plugin
> ?[ply-boot-splash.c] ? ?ply_boot_splash_show:showing splash screen
>
> ?[./plugin.c] ? ? ? ? hide_splash_screen:hiding splash screen
> ?[./plugin.c] ? ? ? ? detach_from_event_loop:detaching from event loop
> ?[./main.c] ? ? ? ? ? quit_splash:quiting splash
> <snip>
It looks like you're doing plymouth --quit right after plymouth --show-splash ?
Can you attach your init file?
--Ray
------------------------------
Message: 2
Date: Wed, 20 May 2009 14:43:52 +0100 (BST)
From: Daire Byrne <[email protected]>
Subject: Re: Plymouth custom initrd problems
To: Ray Strode <[email protected]>
Cc: [email protected]
Message-ID: <2002365744.1932491242827032796.javamail.r...@mailbox1>
Content-Type: text/plain; charset=utf-8
Ray,
----- "Ray Strode" <[email protected]> wrote:
> > I am trying to add plymouth to a custom "busybox" based initrd we
> use for diskless boots (based on uClibc's buildroot) but we eventually
> switch_root to Fedora 11.
> [...]
> > However the plymouth --show-splash call does nothing. I am just
> trying to get VESA working (vga=0x318) for now so no fancy modesetting
> or kernel modules are required.
> Okay, should be possible. What device nodes are you creating before
> you start plymouth? you'll need /dev/fb , /dev/tty0, /dev/tty1
> created (with mknod or whatever), and /dev/pts, /sys, and /proc
> mounted.
I mknod /dev/fb everytime but all the other devices of interest (ttys etc)
are part of the initrd so I don't need to create them in the init. proc, sys
and devpts are being mounted correctly.
> >My guess is that Nash does something different when setting up the
> initial terminals compared to busybox's "sh" implementation that
> plymouth doesn't like.
> >In particular the tty that my "init" script uses is set to
> /dev/console. Maybe I need it to be tty0 for plymouth?
> I don't think so. /dev/tty0 is a synonym for "current active tty".
> /dev/console is also "current active tty" unless console has been
> redirected (with console=blah on kernel command line or from an app
> using the TIOCCONS ioctl) Shouldn't have anything to do with graphics
> output.
Okay. I do get the "can't access tty; job control turned off" message in
the shell which seems like a common busybox problem (it's in their FAQ)
which is what got me wondering. I just don't fully understand how to avoid
it without using busybox's inbuilt init and /etc/inittab.
> > I tried setting the tty using the kernel option "console=tty0" but
> it looks like busybox's "sh" doesn't respect that.
> console=tty0 is the kernel default. Normally you'd only use it if you
> were specifying multiple console= lines ("output to the serial console
> AND the screen").
>
> > In the Fedora initrd I noticed that there is a
> "/lib/udev/console_init tty0" command right before plymouthd starts.
> console_init just sets up the default console font / keymap /etc.
> Probably not your problem.
>
> > Here's a snippet of the relevant part of the debugging output from
> "plymouthd --debug" after issuing the "plymouth --show-splash"
> command:
> you can also do plymouth:debug / plymouth:nolog on the kernel command
> line, or type ctrl-v while it's running to get debug spew
Here's a screenshot of the full log output. Should it be trying to
load the details theme first? The default is set to "charge".
http://www.esstec.co.uk/tmp/plymouth.jpg
> > <snip>
>
> It looks like you're doing plymouth --quit right after plymouth
> --show-splash ?
Nope. It seems to do that of it's own accord. The graphics never show -
not even a flicker.
> Can you attach your init file?
It's pretty long but here is an edited version with just the bare
essentials:
#!/bin/sh
#
# init for diskless booting
mount -n -t proc /proc /proc
mount -n -t sysfs /sys /sys
mount -t devpts -o gid=5,mode=620 /dev/pts /dev/pts
. /etc/init.d/functions
export PATH=/bin:/sbin:/usr/sbin:/usr/bin
dmesg -n1
mknod /dev/fb c 29 0
# Start plymouthd
/bin/plymouthd
[ ! -d /lib/modules/`uname -r` ] && mkdir -p /lib/modules/`uname -r`
depmod -ae
modprobe -q i2c-core
modprobe -q i2c-algo-bit
modprobe -q drm
# Show plymouth splash - not working
plymouth --show-splash
# Here I start the network and mount NFS root
<snip>
plymouth --newroot=/mnt/sysroot
switch_root /mnt/sysroot /etc/diskless/rc.diskless
The initrd itself is pretty much the basic one created with minimal
configuration
using uClibc's buildroot package:
http://buildroot.uclibc.org/downloads/snapshots/
The kernel command line looks like:
init=/init rw quiet vga=0x318 rhgb
Regards,
Daire
------------------------------
Message: 3
Date: Wed, 20 May 2009 09:44:01 -0400
From: Ray Strode <[email protected]>
Subject: Re: Plymouth custom initrd problems
To: Daire Byrne <[email protected]>
Cc: [email protected]
Message-ID:
<[email protected]>
Content-Type: text/plain; charset=UTF-8
Hi,
>> > Here's a snippet of the relevant part of the debugging output from
>> "plymouthd --debug" after issuing the "plymouth --show-splash"
>> command:
>> you can also do plymouth:debug / plymouth:nolog on the kernel command
>> line, or type ctrl-v while it's running to get debug spew
>
> I've attached a screenshot of the full log output. Should it be trying to
> load the details theme first? The default is set to "charge".
It should. The only times it wouldn't try to load the default theme are if
1) "rhgb" or "splash" is missing from kernel command line
2) You have init=/bin/sh or something on the kernel command line.
[...]
> The kernel command line looks like:
>
> ?init=/init rw quiet vga=0x318 rhgb
So it's probably the init=/init here that's the problem.
Plymouth does something like:
if (strstr (kernel_command_line, " init=") != NULL)
dump_captured_output_to_screen_and_quit ();
It does this so that plymouth won't take control of the console when
the user is typing at a shell.
--Ray
------------------------------
Message: 4
Date: Wed, 20 May 2009 15:17:35 +0100 (BST)
From: Daire Byrne <[email protected]>
Subject: Re: Plymouth custom initrd problems
To: Ray Strode <[email protected]>
Cc: [email protected]
Message-ID: <360487653.1937111242829055560.javamail.r...@mailbox1>
Content-Type: text/plain; charset=utf-8
Ray,
----- "Ray Strode" <[email protected]> wrote:
> > The kernel command line looks like:
> >
> > ?init=/init rw quiet vga=0x318 rhgb
>
> So it's probably the init=/init here that's the problem.
>
> Plymouth does something like:
>
> if (strstr (kernel_command_line, " init=") != NULL)
> dump_captured_output_to_screen_and_quit ();
>
> It does this so that plymouth won't take control of the console when
> the user is typing at a shell.
Yes that was it - thanks! Removing the init kernel command line seems to have
sorted everything. It turns out I didn't need it anyway.
One quick unrelated question - do you have any indications that Nvidia will
ever add KMS to their driver?
Daire
PS: sorry for the spam - I was trying to get around the 80k mailing list
moderator limit.
------------------------------
Message: 5
Date: Wed, 20 May 2009 11:11:43 -0400
From: Ray Strode <[email protected]>
Subject: Re: Plymouth custom initrd problems
To: Daire Byrne <[email protected]>
Cc: [email protected]
Message-ID:
<[email protected]>
Content-Type: text/plain; charset=UTF-8
Hi,
> One quick unrelated question - do you have any indications that Nvidia will
> ever add KMS to their driver?
I don't know. Note though, you can enable KMS for a lot of nvidia
hardware using the nouveau kms driver by putting nouveau.modeset=1 on
the kernel command line.
It's not the default for F11 because it's too new of code.
--Ray
------------------------------
_______________________________________________
plymouth mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/plymouth
End of plymouth Digest, Vol 8, Issue 11
***************************************