lunchbox
Posts: 16
Joined: Tue Oct 23, 2012 4:03 am
Location: Jincheng, Shanxi, China

Pretty boot

Wed Apr 17, 2013 4:03 pm

I've worked with debian before and I've been able to modify the boot sequence by talking to grub and in Ubuntu to plymouth. I don't want to change the boot sequence really, just how it is displayed. I wonder simply how I can get an elegant and unclutttered boot sequence with Raspbian. I am not at all familiar with the way the bootloader works here. At some point its just init like it always was but something about the raspi seems unfamiliar. Is there a lot of overhead involved in a pretty boot?

DirkS
Posts: 10347
Joined: Tue Jun 19, 2012 9:46 pm
Location: Essex, UK

Re: Pretty boot

Wed Apr 17, 2013 4:45 pm

I wonder simply how I can get an elegant and unclutttered boot sequence with Raspbian.
Firstly you would have to define what you think what 'elegant and uncluttered' looks like...

Gr.
Dirk.

lunchbox
Posts: 16
Joined: Tue Oct 23, 2012 4:03 am
Location: Jincheng, Shanxi, China

Re: Pretty boot

Thu Apr 18, 2013 10:50 am

I didn't mean that to sound so subjective. Install Debian on a regular pc and you'll typically have grub and plymouth. If I remember correctly there is a quiet boot which goes directly from the grub prompt to black screen and then a splashscreen. Edit the conf for grub to see a flood of boot messages by default like I get with raspbian. Ubuntu does this but they also bypass the grub prompt by default unless there's more than one os installed. hit escape to see the boot messages. That's what I want, if it is possible. I want a quiet boot with no messages, just a blank screen then the splash screen. That's what you'll get with "quiet splash" set as whatever option that's supposed to be in grub. Raspbian doesn't use grub.

TarjeiB
Posts: 157
Joined: Thu Jul 12, 2012 3:33 pm

Re: Pretty boot

Thu Apr 18, 2013 11:31 am

lunchbox wrote:I didn't mean that to sound so subjective. Install Debian on a regular pc and you'll typically have grub and plymouth. If I remember correctly there is a quiet boot which goes directly from the grub prompt to black screen and then a splashscreen. Edit the conf for grub to see a flood of boot messages by default like I get with raspbian. Ubuntu does this but they also bypass the grub prompt by default unless there's more than one os installed. hit escape to see the boot messages. That's what I want, if it is possible. I want a quiet boot with no messages, just a blank screen then the splash screen. That's what you'll get with "quiet splash" set as whatever option that's supposed to be in grub. Raspbian doesn't use grub.
As a place to start, the Pi boots with the command line argument you find in /boot/cmdline.txt. You could start by trying "quiet splash" or either there. If it doesn't work since it's not configured for that, you may have to build your own kernel and configure things from there.

You can solve the "splash" bit by using something like fbi (sudo apt-get install fbi), but the quiet bit may require kernel modification.

lunchbox
Posts: 16
Joined: Tue Oct 23, 2012 4:03 am
Location: Jincheng, Shanxi, China

Re: Pretty boot

Thu Apr 18, 2013 12:33 pm

The kernel respects both the "quiet" and "boot" arguments that cmdline.txt passes it. With quiet I get just a lovely raspberry and a black screen. After that I'm not sure how to set up the splash screen. Init starts reporting messages onto the console and at this point the splash screen should startup just before init says anything so that we never see the messages unless we escape the splash like plymouth allows.

I just don't know how to set up plymouth. I didn't install it knowingly so I'm guessing that plymouth was already there on the raspbian image, but oddly it is set to start up at the end of rc2, and it fails.

lunchbox
Posts: 16
Joined: Tue Oct 23, 2012 4:03 am
Location: Jincheng, Shanxi, China

Re: Pretty boot

Mon Apr 22, 2013 3:02 pm

After looking around some more it looks that plymouth is not a practical solution. Many have suggested using fbi to set the image in the framebuffer with an rcS initscript. The problem that I am running into now is that after X starts if I kill fbi it switches the console back to wherever fbi outputs its regretfull error message: "Oops:terminated" How can I kill fbi without it doing this?

UPDATE: after trying some mostly random stuff. I was able to solve this problem by adding the flag "-t 2" to the fbi command call in my init script which sets the bootsplash during rcS. This is a timeout for slideshow images. If I were showing multiple images each would be displayed for 2 seconds. Also, a tip for anyone trying to set a bootsplash with fbi. You will probably need to disable console-setup with the command "sudo update-rc.d console-setup disable", other wise you'll end up with a blank screen after just a few seconds.

bushrat
Posts: 65
Joined: Mon Mar 05, 2012 8:35 pm

Re: Pretty boot

Thu May 16, 2013 11:55 am

If anyone found this thread is looking for a quick tutorial on how to do this using fbi, try this:

http://www.edv-huber.com/index.php/prob ... i-raspbian

Good luck :D

rg57
Posts: 12
Joined: Sun Jun 24, 2012 8:24 pm

Re: Pretty boot

Thu Oct 03, 2013 11:06 pm

I wonder if anyone has a solution for this, while continuing to use the console. I'm not using any windowing system on my Raspberry Pi.

fbi seems to show the splash image, but then returns to the same ugly init text that I'm trying to protect users from. If I use trailing "&", in an attempt to continue the boot process while fbi shows its image, I just get a completely black screen, which is unusable.

Rather than all the extravagance of a splash screen, there must be some way I can simply redirect all that meaningless, confusing, boring output to /dev/null (or even just a log file somewhere) until the login prompt. Maybe something with syslog.conf?

I'm almost totally new to Linux, so I'm grasping at straws here.

rg57
Posts: 12
Joined: Sun Jun 24, 2012 8:24 pm

Re: Pretty boot

Fri Oct 04, 2013 9:22 am

I found a partial solution to my problem based on the previous solution. It's not quite as involved, but it gets the job done. I suspect modifying the rcS file may not be a wise thing to do, but it works for me.

Of course I start with the "quiet" keyword in /boot/cmdline.txt which eliminates the first batch of messages. Then I use fbi to present a splash screen.

If I took the perspective that the console boot process was the main process, that just wasn't producing anything good. So I started thinking of the splashscreen as the main process. That did the trick (up until runlevel 2 scripts are executed).

I modified /etc/init.d/rcS as follows (starting by adding "&" to the last line that was there):

Code: Select all

exec /etc/init.d/rc S &
chvt 6
clear
fbi -once -timeout 20 -noverbose -nocomments -noedit /etc/splash.png
chvt 1
clear
This continues the large part of the boot sequence in the background, while the main thread switches to tty6 and displays a splash. A cursor remains on the screen, but maybe that's good, since it indicates to the user they aren't looking at a crashed system. Then it switches back to tty1 and continues the rest of the boot process, which is less than a screen-full of information, on RCA plug TV. I'd still like to eliminate even that information, but I think I'll declare victory at this point, but if you have a way to hide that too, please share.

Return to “Raspberry Pi OS”