Tweaking the boot animation

From OLPC
Revision as of 04:57, 3 October 2010 by Mikedawson (talk | contribs)
Jump to: navigation, search

The boot animation code lives in the bootanim rpm, and it uses the rhgb-client hooks in the initscripts. There are 26 frames in the boot animation, fixed by the number of steps in the initscripts.

The frames live in /usr/share/boot-anim/frame00.565 to /usr/share/boot-anim/frame25.565. They are in the raw framebuffer format. You can convert a PNG with the command:

pngtopnm frame00.png | ./ppmto565.py -z -o frame00.565

using the ppmto565.py script and the pngtopnm tool in the netpbm-progs package:

# yum install netpbm-progs

If you are targetting a release prior to 8.2, you should omit the '-z' option. The resulting files are raw bitmap data and look large, but they compress well onto jffs2 if the images are simple.

The bootanim code lives in the act-gui package in git on dev; talk to cscott if you want changes pulled upstream.

See also


Update

This has changed from being 26 frames simply copied to /usr/share/boot-anim or ~/.bootanim to being the starting frame and a file deltas that describes the difference between the frames.

The simplest thing to do is to to download the source package from [1], replace the files frame00.png to frame25.png and then run ./configure and make the normal way. Then copy the the frame00.565 from images and the file deltas from the delta folder to /usr/share/bootanim . Reboot and you should see your new boot animation.

Do not use the -z flag. If you need to use pre-compressed 565 images then you must copy the first 12 bytes of the file, then bytes 16 onwards are compressed with zlib. Deflate them and you will have the original uncompressed 565 image. You can convert it back to a png using:

ffmpeg -vcodec rawvideo -f rawvideo -pix_fmt rgb565 -s 1200x900 -i frame00.565 -f image2 -vcodec png frame00.png