Beagle Board Graphic

123 views
Skip to first unread message

Chris

unread,
Jun 11, 2009, 5:21:05 PM6/11/09
to Beagle Board
Hi all,

Can anyone tell me how to remove the Beagle Board banner graphic that
appears when the unit is booting? I want to change it to a banner with
our product branding instead.

Also, how do I change the timer that starts when the Beagle Board
first boots so that it is 1 second instead of 10?

Many thanks!
Chris

Stan C

unread,
Jun 12, 2009, 1:27:01 PM6/12/09
to Beagle Board
Don't take my word as fact, but I believe it's part of u-boot. I
updated u-boot to a newer version and the Beagle Board banner no
longer shows.

However, I have no idea how you would add a custom banner to it.

Michael Evans

unread,
Jun 12, 2009, 3:48:57 PM6/12/09
to beagl...@googlegroups.com
Yup... the Beagle logo is displayed by U-Boot.  Easiest way is to download the U-Boot src and build it, make sure its working and then add the Beagle splash patch:

U-Boot src:
http://elinux.org/BeagleBoard#U-Boot

There is a link to the splash patch from there.  To change the picture take a look at the code, its basically reading a const (called something like logo_header??) directly into the video memory.

> Date: Fri, 12 Jun 2009 10:27:01 -0700
> Subject: [beagleboard] Re: Beagle Board Graphic
> From: stanle...@gogoants.com
> To: beagl...@googlegroups.com
> Upgrade to Internet Explorer 8 Optimised for MSN. Download Now

Michael Evans

unread,
Jun 12, 2009, 4:23:55 PM6/12/09
to beagl...@googlegroups.com
Oh, and if you want to create a new logo.h (presumably) the easiest way is to use GIMP and export the image to a C header file (.h).

Personally I would like to see a way of reading a splash from MMC or from a known offset within U-Boot and/or NAND.  I might have a play to make the whole custom splash thing a little easier...


From: horse...@hotmail.com
To: beagl...@googlegroups.com
Subject: RE: [beagleboard] Re: Beagle Board Graphic
Date: Fri, 12 Jun 2009 20:48:57 +0100


Yup... the Beagle logo is displayed by U-Boot.  Easiest way is to download the U-Boot src and build it, make sure its working and then add the Beagle splash patch:

U-Boot src:
http://elinux.org/BeagleBoard#U-Boot

There is a link to the splash patch from there.  To change the picture take a look at the code, its basically reading a const (called something like logo_header??) directly into the video memory.

> Date: Fri, 12 Jun 2009 10:27:01 -0700
> Subject: [beagleboard] Re: Beagle Board Graphic
> From: stanle...@gogoants.com
> To: beagl...@googlegroups.com
>
>
> Upgrade to Internet Explorer 8 Optimised for MSN. Download Now

David Hagood

unread,
Jun 12, 2009, 4:47:39 PM6/12/09
to Beagle Board

On Jun 12, 3:23 pm, Michael Evans <horse_d...@hotmail.com> wrote:
> Personally I would like to see a way of reading a splash from MMC or from a known offset within U-Boot and/or NAND.  I might have a play to make the whole custom splash thing a little easier...

I'd vote for that! It would be a great deal easier if you just change
a file and/or the commands given to U-Boot to change the logo.

Michael Evans

unread,
Jun 12, 2009, 5:05:01 PM6/12/09
to beagl...@googlegroups.com
It shouldn't be too tricky (not the first time I've said that and ended up regretting it :).

I've got the U-boot code and can build it... just haven't changed any code yet...  I'm thinking along the following lines if anyone has any comments:

- add a new UBoot command "splash".  if no options are provided it searches itself to see if an image is embedded.  optional argument is the memory offset to read image data from (potentially also including arguments for image width/height/background color).  Splash image can then be easily loaded from MMC.

- provide a linux userspace tool that takes a u-boot.bin and embeds a splash image into it.
- embedding of image is nothing more than copying the image metadata (width, height, background colour) and image data onto the end of the U-Boot image file.
- embedded image data would need to include a searchable string so that U-Boot can locate it during runtime (something like ::UBOOTSPLASH**UBOOTSPLASH::)

I might even look at image decoders so the raw image data could be PNG/JPG rather than RGB raw... ;-)

any comments, or shall I just add it to my "to do" list...?   :)

> Date: Fri, 12 Jun 2009 13:47:39 -0700

> Subject: [beagleboard] Re: Beagle Board Graphic

David Hagood

unread,
Jun 12, 2009, 5:38:18 PM6/12/09
to Beagle Board
On Jun 12, 4:05 pm, Michael Evans <horse_d...@hotmail.com> wrote:
> - add a new UBoot command "splash".  if no options are provided it searches itself to see if an image is embedded.  optional argument is the memory offset to read image data from (potentially also including arguments for image width/height/background color).  Splash image can then be easily loaded from MMC.

Or any other media that UBoot understands - which is why I like this
idea.

I don't know that I'd get too worried about image parsers - and I
certainly wouldn't think about JPG as a format, as most logo/splash
pages would look ugly at JPG, not to mention the patent issues.

At most I'd stick to PNG, but I think saying that the image is
something dirt simple is probably best.

Michael Evans

unread,
Jun 12, 2009, 6:30:48 PM6/12/09
to beagl...@googlegroups.com
Just been looking at the cost/benefit of using an image decoder...  Whatever I use would need to be open and make the code bloat worth the image size reduction.  (Including code bloat for people that don't want a splash screen)

Standard linux JPG libs are approx 170k - no doubt that size would be significantly reduced as all I would need is basic decode functionality.
-  Current BB logo is approx 410k of raw uncompressed data.
-  GZIPped BB logo is approx 100k.
-  80% quality JPEG is approx 20k (barely noticeable artefacts)
-  93% quality JPEG, no obvious artefacts, approx 35k

Image data size reduction is good, but code bloat might be a bit bigger than expected...

PNG libraries appears to be much the same size as JPG.
GIF libraries are 32k... hmm, now what was the latest on GIF format woes... :] perhaps not!

I'll poke around, but I'm sure there's a GPL / free-as-in-beer "mini" library out there somewhere...

> Date: Fri, 12 Jun 2009 14:38:18 -0700

> Subject: [beagleboard] Re: Beagle Board Graphic
> From: david....@aeroflex.com
> To: beagl...@googlegroups.com
>
>

Jason Kridner

unread,
Jun 13, 2009, 7:20:06 AM6/13/09
to beagl...@googlegroups.com

i did a run-length encoded version.  there is significant size savings.

On Jun 12, 2009 5:31 PM, "Michael Evans" <horse...@hotmail.com> wrote:

Just been looking at the cost/benefit of using an image decoder...  Whatever I use would need to be open and make the code bloat worth the image size reduction.  (Including code bloat for people that don't want a splash screen)

Standard linux JPG libs are approx 170k - no doubt that size would be significantly reduced as all I would need is basic decode functionality.
-  Current BB logo is approx 410k of raw uncompressed data.
-  GZIPped BB logo is approx 100k.
-  80% quality JPEG is approx 20k (barely noticeable artefacts)
-  93% quality JPEG, no obvious artefacts, approx 35k

Image data size reduction is good, but code bloat might be a bit bigger than expected...

PNG libraries appears to be much the same size as JPG.
GIF libraries are 32k... hmm, now what was the latest on GIF format woes... :] perhaps not!

I'll poke around, but I'm sure there's a GPL / free-as-in-beer "mini" library out there somewhere...

> Date: Fri, 12 Jun 2009 14:38:18 -0700

> Subject: [beagleboard] Re: Beagle Board Graphic > From: david....@aeroflex.com > To: beagleboa...

> On Jun 12, 4:05 pm, Michael Evans <horse_d...@hotmail.com> wrote: > > - add a new UBoot command "s...

Siarhei Siamashka

unread,
Jun 13, 2009, 8:01:02 AM6/13/09
to beagl...@googlegroups.com
On Sat, Jun 13, 2009 at 1:30 AM, Michael Evans wrote:
> Image data size reduction is good, but code bloat might be a bit bigger than
> expected...
>
> PNG libraries appears to be much the same size as JPG.
> GIF libraries are 32k... hmm, now what was the latest on GIF format woes...
> :] perhaps not!
>
> I'll poke around, but I'm sure there's a GPL / free-as-in-beer "mini"
> library out there somewhere...

Could something like miniLZO be useful? Or maybe UCL (used in UPX
executable files compressor)?

Many executable file compressors have really small and simple LZ-based
decoders (typically just a few hundreds of bytes of code).

Måns Rullgård

unread,
Jun 13, 2009, 8:19:07 AM6/13/09
to beagl...@googlegroups.com
Siarhei Siamashka <siarhei....@gmail.com> writes:

> On Sat, Jun 13, 2009 at 1:30 AM, Michael Evans wrote:
>> Image data size reduction is good, but code bloat might be a bit bigger than
>> expected...
>>
>> PNG libraries appears to be much the same size as JPG.
>> GIF libraries are 32k... hmm, now what was the latest on GIF format woes...
>> :] perhaps not!
>>
>> I'll poke around, but I'm sure there's a GPL / free-as-in-beer "mini"
>> library out there somewhere...
>
> Could something like miniLZO be useful? Or maybe UCL (used in UPX
> executable files compressor)?

Use one of the compression formats already present in u-boot for
loading kernels.

--
Måns Rullgård
ma...@mansr.com

Siarhei Siamashka

unread,
Jun 13, 2009, 8:49:42 AM6/13/09
to beagl...@googlegroups.com
2009/6/13 Måns Rullgård <ma...@mansr.com>:

A good point. Additionally, there is such a thing as "lossy
LZ-compression" to evaluate if the best possible size reduction is
wanted: http://membled.com/work/apps/lossy_png/

Good luck.

Frans Meulenbroeks

unread,
Jun 13, 2009, 2:40:31 PM6/13/09
to beagl...@googlegroups.com
Hm.
I'm more into Arjan van de Ven's camp. Arjan stated last LPC that he
wanted "to make boot fast".
Having a splash screen does not contribute to this.
Please allow a way to switch it off!

FM

Michael Evans

unread,
Jun 13, 2009, 3:35:20 PM6/13/09
to beagl...@googlegroups.com
Introduction of a splash screen won't delay the current boot process by more than a couple of microseconds... (honest!)  I'm flattered you assume my code would be merged... not putting myself down... but a lot of my code lives quite happily as a user applied patch :-)

> Date: Sat, 13 Jun 2009 20:40:31 +0200

> Subject: [beagleboard] Re: Beagle Board Graphic

Frans Meulenbroeks

unread,
Jun 15, 2009, 11:12:18 AM6/15/09
to beagl...@googlegroups.com
2009/6/13 Michael Evans <horse...@hotmail.com>:

> Introduction of a splash screen won't delay the current boot process by more
> than a couple of microseconds... (honest!)  I'm flattered you assume my code
> would be merged... not putting myself down... but a lot of my code lives
> quite happily as a user applied patch :-)
>

I think the delay depends a lot on the size of the bitmap and the way
it is decompressed.
I recall that rendering a 640x480 jpeg on a 108 Mhz cpu took about 1
second (and this was heavily optimised code).
Then again if you use RLE things are probably a lot faster (no
transformation, dequantisation etc which is there in jpg).;

FM

Michael Evans

unread,
Jun 15, 2009, 12:26:32 PM6/15/09
to beagl...@googlegroups.com
Sorry, I wasn't being clear.  I meant the couple of microseconds delay would be to check if a splash screen was embedded into the U-Boot image or not.  If an image is found then the delay clearly depends on the CPU / image size and image type.

> Date: Mon, 15 Jun 2009 17:12:18 +0200

> Subject: [beagleboard] Re: Beagle Board Graphic
> From: fransmeu...@gmail.com
> To: beagl...@googlegroups.com
>
>

David Hagood

unread,
Jun 15, 2009, 12:56:02 PM6/15/09
to Beagle Board
On Jun 13, 7:19 am, Måns Rullgård <m...@mansr.com> wrote:
>
> Use one of the compression formats already present in u-boot for
> loading kernels.
>

I agree - how about something like this:

1) A tool which runs on the developer's machine, that takes an input
file in one of some set of formats (e.g. PNG, JPG, GIF) and outputs an
RGB file compressed with a compressor already in UBOOT. Ideally you
could embed size data and possibly even video parameters (to make
setting up a logo on boot even easier).
2) A UBoot command to load and decompress such a compressed image into
RAM.
3) A UBoot command to display the image.

That way you minimize the code in UBoot and yet can handle all sorts
of image files.

Michael Evans

unread,
Jun 15, 2009, 3:52:35 PM6/15/09
to beagl...@googlegroups.com
I've been playing around today and have got a number of "proof-of-concept"s working.  Ugly, but working... :)

I also noticed that U-Boot has a "splashscreen" environment variable which appears to be disabled for OMAP boards.  This probably just needs someone to teach U-Boot about the framebuffer and then the built-in commands and console out will probably work- I'll see if I can work that out tomorrow.

Not sure I like the existing support though which is just BMP files :-(
Really the only thing missing is a decompress command which no doubt would be useful for booting kernels...

Anyway... more playing tomorrow...

> Date: Mon, 15 Jun 2009 09:56:02 -0700

> Subject: [beagleboard] Re: Beagle Board Graphic
> From: david....@aeroflex.com
> To: beagl...@googlegroups.com
>
>

Chris

unread,
Jul 2, 2009, 12:05:56 AM7/2/09
to Beagle Board
Hi All,

Sorry to side track here - moving back to the original question.

I have re-built uboot using both git sources outlined in the site
below.
http://elinux.org/BeagleBoard#U-Boot

I did not apply any patches or anything. However the beagleboard image
is still there when I boot.
I have replaced u-boot.bin on the MMC card and erased the nand - just
to be sure - but the picture remains.
The uboot version has changed so I am pretty sure that it is updated.

Is there another file somewhere I need to update? or is there
something obvious that I have missed?

Many thanks,
Chris

Message has been deleted

Michael Evans

unread,
Jul 3, 2009, 5:19:55 AM7/3/09
to beagl...@googlegroups.com
I'm pretty sure that once I compiled U-Boot from the denx git repo the logo disappeared...  Its possible something has worked its way upstream.  My Beagle is at home (no doubt making a mess of my carpets) but I can check later on...

> Date: Wed, 1 Jul 2009 21:05:56 -0700

> Subject: [beagleboard] Re: Beagle Board Graphic

Michael Evans

unread,
Jul 3, 2009, 9:33:58 AM7/3/09
to beagl...@googlegroups.com
Okay, I've checked and I don't get a logo using the latest mainline U-Boot repository at git.denx.de.  I've resync'ed and rebuilt - no logo.   Don't know about the sakoman repo though...

When you build U-Boot you should get a U-Boot version string like this: "U-Boot 2009.06 (Jul 03 2009 - 12:45:18)".  This shows the main version "2009.06" and the build date/time.  Check the date/time makes sense and you are loading the U-Boot you expect.

After running make you can see U-Boot's version string by running this command:
strings u-boot.bin | grep "U-Boot 2009"

So, the full instructions to add your own boot screen splash are:

1.  Download and build U-Boot from mainline denx repository
see: http://elinux.org/BeagleBoard#U-Boot

2.  Download the logo patch from here:
http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b803a3418624
(You want the "u-boot_v1_beagle_logo.patch.bz2 95K Download" link at the bottom)

3.  Make sure you copy "u-boot_v1_beagle_logo.patch.bz2" to u-boot-main and run:
bunzip2 u-boot_v1_beagle_logo.patch.bz2
patch -p1 < u-boot_v1_beagle_logo.patch

# the patch doesn't apply cleanly so you'll need to either:

# option (a) change the patch file's second change (dss_init function) last three
# lines to match board/omap3/beagle/beagle.c after the board_init() function

# option (b) much like (a) but just replace the lines in the patch with blank lines and
# then add a bunch of blank lines after the board_init() functio in beagle.c

# option (c) copy the dss_init() function out of the patch and manually copy it into
# board/omap3/beagle/beagle.c after the board_init() function (remember to remove the
# "+" signs at the start of the line.

4.  Rebuild everything from the "make CROSS_COMPILE=... mrproper" line...

5.  You should now have the default/small BB logo (Beagle + "beagleboard.org" + Tux)

6.  To replace this logo with your own,
6a.  Open the image in GIMP
6b.  Make sure your image is 1280 pixels wide.
6c.  Select Save As
6d.  Choose "C source code header" as the file type and save to logo.h
6e.  On line 3 of logo.h change "width" to "beagle_width"
6f.  On line 4 of logo.h change "heigh" to "beagle_height"
6g.  Replace u-boot-main/board/omap3/beagle/logo.h with your new logo.h
6h.  Rebuild (from the mrproper step)
Subject: RE: [beagleboard] Re: Beagle Board Graphic
Date: Fri, 3 Jul 2009 10:19:55 +0100


I'm pretty sure that once I compiled U-Boot from the denx git repo the logo disappeared...  Its possible something has worked its way upstream.  My Beagle is at home (no doubt making a mess of my carpets) but I can check later on...

> Date: Wed, 1 Jul 2009 21:05:56 -0700

> Subject: [beagleboard] Re: Beagle Board Graphic

Chris

unread,
Jul 7, 2009, 10:35:04 PM7/7/09
to Beagle Board
Hi Michael and others,

Mmm, I found out that what I was doing was working.. it's just that
what I wanted to do was different to what I actually did.

I have been trying to get rid of the "beagleboard.org" graphic that
shows above the text during boot up. This is evidentially not related
to u-boot - (?)
However I am still unsure how to remove that image.
I thought I would try and find it as a kernel perimeter, but no luck.
Then I thought it might be part of the Angstrom boot sequence .. and I
have yet to find where.

Any help would be much appreciated .. this is probably much easier
than the previous journey into uboot I took.
Many thanks,
Chris

On Jul 4, 1:33 am, Michael Evans <horse_d...@hotmail.com> wrote:
> Okay, I've checked and I don't get a logo using the latest mainline U-Boot repository at git.denx.de.  I've resync'ed and rebuilt - no logo.   Don't know about the sakoman repo though...
>
> When you build U-Boot you should get a U-Boot version string like this: "U-Boot 2009.06 (Jul 03 2009 - 12:45:18)".  This shows the main version "2009.06" and the build date/time.  Check the date/time makes sense and you are loading the U-Boot you expect.
>
> After running make you can see U-Boot's version string by running this command:
> strings u-boot.bin | grep "U-Boot 2009"
>
> So, the full instructions to add your own boot screen splash are:
>
> 1.  Download and build U-Boot from mainline denx repository
> see:http://elinux.org/BeagleBoard#U-Boot
>
> 2.  Download the logo patch from here:http://groups.google.com/group/beagleboard/browse_thread/thread/3ad9b...
> (You want the "u-boot_v1_beagle_logo.patch.bz2 95K Download" link at the bottom)
>
> 3.  Make sure you copy "u-boot_v1_beagle_logo.patch.bz2" to u-boot-main and run:
> bunzip2 u-boot_v1_beagle_logo.patch.bz2
> patch -p1 < u-boot_v1_beagle_logo.patch
>
> # the patch doesn't apply cleanly so you'll need to either:
>
> # option (a) change the patch file's second change (dss_init function) last three
> # lines to match board/omap3/beagle/beagle.c after the board_init() function
>
> # option (b) much like (a) but just replace the lines in the patch with blank lines and
> # then add a bunch of blank lines after the board_init() functio in beagle.c
>
> # option (c) copy the dss_init() function out of the patch and manually copy it into
> # board/omap3/beagle/beagle.c after the board_init() function (remember to remove the
> # "+" signs at the start of the line.
>
> 4.  Rebuild everything from the "make CROSS_COMPILE=... mrproper" line...
>
> 5.  You should now have the default/small BB logo (Beagle + "beagleboard.org" + Tux)
>
> 6.  To replace this logo with your own,
> 6a.  Open the image in GIMP
> 6b.  Make sure your image is 1280 pixels wide.
> 6c.  Select Save As
> 6d.  Choose "C source code header" as the file type and save to logo.h
> 6e.  On line 3 of logo.h change "width" to "beagle_width"
> 6f.  On line 4 of logo.h change "heigh" to "beagle_height"
> 6g.  Replace u-boot-main/board/omap3/beagle/logo.h with your new logo.h
> 6h.  Rebuild (from the mrproper step)
>
> From: horse_d...@hotmail.com
> To: beagl...@googlegroups.com
> Subject: RE: [beagleboard] Re: Beagle Board Graphic
> Date: Fri, 3 Jul 2009 10:19:55 +0100
>
> I'm pretty sure that once I compiled U-Boot from the denx git repo the logo disappeared...  Its possible something has worked its way upstream.  My Beagle is at home (no doubt making a mess of my carpets) but I can check later on...
>
>
>
> > Date: Wed, 1 Jul 2009 21:05:56 -0700
> > Subject: [beagleboard] Re: Beagle Board Graphic
> > From: carlight...@yahoo.co.nz
> > To: beagl...@googlegroups.com
>
> > Hi All,
>
> > Sorry to side track here - moving back to the original question.
>
> > I have re-built uboot using both git sources outlined in the site
> > below.
> >http://elinux.org/BeagleBoard#U-Boot
>
> > I did not apply any patches or anything. However the beagleboard image
> > is still there when I boot.
> > I have replaced u-boot.bin on the MMC card and erased the nand - just
> > to be sure - but the picture remains.
> > The uboot version has changed so I am pretty sure that it is updated.
>
> > Is there another file somewhere I need to update? or is there
> > something obvious that I have missed?
>
> > Many thanks,
> > Chris
>
> Beyond Hotmail - see what else you can do with Windows Live. Find out more.
> _________________________________________________________________
> Share your photos with Windows Live Photos – Free.http://clk.atdmt.com/UKM/go/134665338/direct/01/
Reply all
Reply to author
Forward
0 new messages