Tweaking the boot animation

From OLPC
Jump to navigation Jump to 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