Tweaking the boot animation

From OLPC
Jump to: navigation, search

OS 10.1.x

The easiest approach is to use OS Builder to customize your OS. As of 1.3.1, OS Builder has a a module for tweaking the boot animation.

Technical notes and rebuilding the rpm

In 10.1.x and later, 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.

You can convert the 565 files back to a png using:

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


OS 8.2.x and earlier

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