Beaglebone - Adding splash screen to u-boot

3,838 views
Skip to first unread message

Brent

unread,
Jul 23, 2012, 5:15:50 PM7/23/12
to beagl...@googlegroups.com
It currently takes 3-4 seconds for u-boot to finish and start the kernel.  This means the screen is black for 3-4 seconds before showing the kernel splash.  I would like the splash screen to appear (almost) instantaneous when the Beaglebone is powered up.  Has anyone done this?  Everyone talks about it, but I have yet to see a working solution.  Can anyone shed some light on how to acheive this?  Is it as simple as copying the code that does this in the kernel into u-boot?

Koen Kooi

unread,
Jul 24, 2012, 3:02:32 AM7/24/12
to beagl...@googlegroups.com
Op 23 jul. 2012, om 23:15 heeft Brent het volgende geschreven:

> It currently takes 3-4 seconds for u-boot to finish and start the kernel.

Really? With angstrom the whole beaglebone has booted up within that time. u-boot takes 1.2s and only because there's a 1s delay configured.

Brent

unread,
Jul 25, 2012, 5:25:04 PM7/25/12
to beagl...@googlegroups.com
Here is what I'm getting from bootchart.  It takes about 3 seonds before anything happens.  I'm making the assumption that this means that u-boot is taking 3 seconds...
bootchart.png

Koen Kooi

unread,
Jul 26, 2012, 2:23:43 AM7/26/12
to Brent, beagleboard@googlegroups.com Board

Op 25 jul. 2012, om 23:25 heeft Brent het volgende geschreven:

> Here is what I'm getting from bootchart. It takes about 3 seonds before anything happens. I'm making the assumption that this means that u-boot is taking 3 seconds...

Bootchart doesn't know about uboot, you need to use something like grabserial: https://plus.google.com/100242854243155306943/posts/6Kw69FFfzys

>
>
> On Tuesday, July 24, 2012 3:02:32 AM UTC-4, Koen Kooi wrote:
> Op 23 jul. 2012, om 23:15 heeft Brent het volgende geschreven:
>
> > It currently takes 3-4 seconds for u-boot to finish and start the kernel.
>
> Really? With angstrom the whole beaglebone has booted up within that time. u-boot takes 1.2s and only because there's a 1s delay configured.
>
>
> -- To join: http://beagleboard.org/discuss
> To unsubscribe from this group, send email to:
> beagleboard...@googlegroups.com
> Frequently asked questions: http://beagleboard.org/faq

Brent

unread,
Jul 27, 2012, 8:02:38 AM7/27/12
to beagl...@googlegroups.com, Brent
Here is what I get from grabserial... I know there is a 1 second delay that can be changed to 0, but I'm still not happy with u-boot.  As someone suggested, I'll try building all kernel arguments into u-boot instead of using uEnv.txt and see if that helps much.
 
Opening serial port /dev/ttyUSB1
115200:8N1:xonxoff=0:rtcdtc=0
Program will end in 30 seconds
Printing timing information for each line
Matching pattern 'Starting kernel.*' to set base time
Use Control-C to stop...
[0.000001 0.000001]
[0.000405 0.000404] U-Boot SPL 2011.09-00000-gf63b270-dirty (Apr 24 2012 - 09:51:01)
[0.010531 0.010126] Texas Instruments Revision detection unimplemented
[0.520104 0.509573] OMAP SD/MMC: 0
[0.580368 0.060264] reading u-boot.img
[0.590224 0.009856] reading u-boot.img
[0.620390 0.030166]
[0.620482 0.000092]
[0.620514 0.000032] U-Boot 2011.09-00000-gf63b270-dirty (Apr 24 2012 - 09:51:01)
[0.621577 0.001063]
[0.621613 0.000036] I2C:   ready
[0.670303 0.048690] DRAM:  256 MiB
[1.050050 0.379747] No daughter card present
[1.050555 0.000505] NAND:  HW ECC Hamming Code selected
[1.051167 0.000612] No NAND device found!!!
[1.051620 0.000453] 0 MiB
[1.051769 0.000149] MMC:   OMAP SD/MMC: 0
[1.060651 0.008882] *** Warning - readenv() failed, using default environment
[1.066634 0.005983]
[1.110211 0.043577] Net:   cpsw
[1.110508 0.000297] Hit any key to stop autoboot:  0
[2.180212 1.069704] SD/MMC found on device 0
[2.191694 0.011482] reading uEnv.txt
[2.194353 0.002659]
[2.194384 0.000031] 14 bytes read
[2.194566 0.000182] Loaded environment from uEnv.txt
[2.194975 0.000409] Importing environment from mmc ...
[2.206105 0.011130] Loading file "/boot/uImage" from mmc device 0:2 xxa2
[2.410143 0.204038] 3145984 bytes read
[2.410547 0.000404] ## Booting kernel from Legacy Image at 80007fc0 ...
[2.420523 0.009976]    Image Name:   Linux-3.2.21+
[2.421053 0.000530]    Image Type:   ARM Linux Kernel Image (uncompressed)
[2.430350 0.009297]    Data Size:    3145920 Bytes = 3 MiB
[2.433466 0.003116]    Load Address: 80008000
[2.435549 0.002083]    Entry Point:  80008000
[2.438275 0.002726]    Verifying Checksum ... OK
[2.470121 0.031846]    XIP Kernel Image ... OK
[2.480767 0.010646] OK
[2.480813 0.000046]
[2.480827 0.000014] Starting kernel ...
[0.009598 0.009598]
[0.029180 0.019582] Uncompressing Linux... done, booting the kernel.
[2.954216 2.925036] systemd-fsck[59]: Angstrom: clean, 4806/218592 files, 46635/873534 blocks
[5.410707 2.456491]
[5.426543 0.015836] .---O---.                                          
[5.431993 0.005450] |       |                  .-.           o o       
[5.436936 0.004943] |   |   |-----.-----.-----.| |   .----..-----.-----.
[5.443069 0.006133] |       |     | __  |  ---'| '--.|  .-'|     |     |
[5.454040 0.010971] |   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
[5.454932 0.000892] '---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
[5.457144 0.002212]                 -'  |
[5.457531 0.000387]                 '---'
[5.459227 0.001696]
[5.459261 0.000034] The Angstrom Distribution beaglebone ttyO0
[5.466914 0.007653]
[5.466954 0.000040] Angstrom v2012.01-core - Kernel 3.2.21+
[5.467643 0.000689]
[5.476671 0.009028] beaglebone login:
> beagleboard+unsubscribe@googlegroups.com

Brent

unread,
Jul 28, 2012, 3:58:50 PM7/28/12
to beagl...@googlegroups.com
So back to my question... how do I get a splash screen during u-boot?

Jason Kridner

unread,
Jul 28, 2012, 5:12:20 PM7/28/12
to beagl...@googlegroups.com
On Sat, Jul 28, 2012 at 3:58 PM, Brent <bren...@hotmail.com> wrote:
> So back to my question... how do I get a splash screen during u-boot?

As far as I've seen, it has to be an absolute hack. You'd need to
throw in some LCD initialization code and then dump raw data to the
screen. Below is how u-boot was originally hacked for the original
BeagleBoard. We used to do this back when all we shipped was u-boot
on the boards such that we wanted to make sure you could test all the
hardware with nothing but u-boot:

https://groups.google.com/d/topic/beagleboard/Otm4A6NBhiQ/discussion

>
> On Monday, July 23, 2012 5:15:50 PM UTC-4, Brent wrote:
>>
>> It currently takes 3-4 seconds for u-boot to finish and start the kernel.
>> This means the screen is black for 3-4 seconds before showing the kernel
>> splash. I would like the splash screen to appear (almost) instantaneous
>> when the Beaglebone is powered up. Has anyone done this? Everyone talks
>> about it, but I have yet to see a working solution. Can anyone shed some
>> light on how to acheive this? Is it as simple as copying the code that does
>> this in the kernel into u-boot?
>
> -- To join: http://beagleboard.org/discuss
> To unsubscribe from this group, send email to:
> beagleboard...@googlegroups.com

Brent

unread,
Jul 30, 2012, 12:00:05 PM7/30/12
to beagl...@googlegroups.com
Ok, thanks.  It will be awhile before I can try this, but thanks for the tip.
> beagleboard+unsubscribe@googlegroups.com
Reply all
Reply to author
Forward
0 new messages