OpenBoot OEM Logo

If you have a graphic display you see some sort of logo in OpenBoot immediately after a reset or when you run the banner command. With most systems, you see a spiffy multicolor logo generated by a routine on the video card. But if you have a low-rent video card you just see a plain monochrome Sun logo. In either case, you can override the logo with your own logo but you are limited to a 64 by 64 black and white logo. I decided to give it a try but I found that it was not easy figuring out how to load that logo into OpenBoot. The eeprom command can do it, but the needed format was not documented anywhere. But I peeked at the source code on the Open Solaris web site and figured out what it needed. I see that Solaris has some ImageMagick stuff available and that helps a lot. So here is my script to load a logo. You need a 64 by 64 .bmp file for input. Then just feed that bmp file into my script which I call bmploader...

#! /usr/bin/ksh
alias convert=/usr/sfw/bin/convert

NORMAL='y/abcdef/ABCDEF/'
REVERSE_VIDEO='y/0123456789abcdef/FEDCBA9876543210/'
if [[ $1 = "-r" ]] ; then
       shift
       CMD=$REVERSE_VIDEO
else
       CMD=$NORMAL
fi

(echo 'Depth=1
Format_version=1
Height=64
Valid_bits_per_item=16
Width=64
*/
'
convert -monochrome -geometry 64x64\! $1 sun:/dev/fd/1 \
               | dd bs=1 skip=32 2>/dev/null \
               | od -Anone -v -tx2 \
               | sed $CMD';s/^ *//;
                       s/ \([0-9A-F][0-9A-F][0-9A-F][0-9A-F]\)/0x\1,/g
                       32s/,$//;33d'
) | eeprom oem-logo=/dev/fd/0

eeprom 'oem-logo?=true'
exit 0

It takes a single argument which is the name of the bmp file. And you can have a -r flag to flip all the bits for a reverse video effect. The 64 by 64 monochrome restriction means that you can't do the Mona Lisa or anything. But it's still fun to play with. :slight_smile:

Years ago I used know this very talented programmer/unix field engineer back in the field service teams he actually managed to replace the sun logo with a somewhat greyish photograph of his girlfiriend, I was very amazed, this guy is a tinkerer I still dunno how he did it but I know played around extensively with forte and obp.:smiley:

I think you mean forth. :slight_smile: There's a simple example of that in the openboot manual.