View source for Configuring the boot splash screens
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Configuring the boot splash screens.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Return to Configuring the boot splash screens.
There are three splashes as of 13 Nov. 2007. The U-Boot splash is displayed until the kernel takes over. Presumably the kernel will eventually display a splash while it boots. When userspace initializes, psplash displays a splash. Finally X displays a splash when it starts.
Is a raw framebuffer bitmap that is gzipped.
Here is a basic description: http://svn.openmoko.org/trunk/src/host/splash/README
Use dfu-util to send to the OpenMoko.
The above instruction did not work, unfortunately, maybe there were for a previous release of u-boot. The following did work for me:
NOTE... the README states you must issue two U-Boot commands to enable the flashed splash image to appear on the screen at boot:
setenv splashimage nand read.e 0x32000000 splash 0x5000\; unzip 0x32000000 0x33d00000 0x96000 saveenv
This is already a part of the U-Boot image received in the phone... however, if you make changes to your splash image, you may need to change the splashimage variable to compensate!
0x5000 is the (maximum) size of the compressed file -- the splash.gz that gets created. If you've made changes to your image you may have increased the compressed size; if it exceeds 0x5000 (20480) bytes, the entire image will not load unless you increase this value in your splashimage U-Boot environment variable.
Note that the framebuffer address on GTA02 is mapped to 0x8800000, not 0x33d00000
To Do
You need to recompile psplash, because the picture is hardcoded. There is a script in the source for psplash for making a new header file. On Ubuntu, you need the libgtk2.0-dev package to run the script.
make-image-header.sh my_image.png HAND mv my_image-img.h psplash-hand-img.h
Then add your custom header to the OpenEmbedded recipe (org.openembedded.dev/packages/psplash/files/openmoko/psplash-hand-img.h), or rebuild psplash by hand.
The X server accepts a -root-ppm option, which takes a plain old (raw) ppm file. Replace /usr/share/pixmaps/xsplash-vga.ppm on the phone or org.openembedded.dev/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/xsplash-vga.ppm in OpenEmbedded.