To create an animated boot splash for Puppy, I statically built gif_play: "Play animated GIF images directly on a Linux framebuffer or SPI LCD". I didn't like having the animated image over the boot-up text, so I disabled all of the normal boot-up text in the init. If there are errors or the user has to choose between savefiles, it drops down to a normal shell.
The folder contains both gp (gif_play) and another static binary, fbv (framebuffer viewer), which also displays images in the framebuffer, but not animated. This one is suitable for displaying boot messages on top, but the messages will always have a black background behind the text. So it looks better if your framebuffer image has a black background.
I actually use both of them. First I start with the animated gif, and then after everything is done loading and the init script hands it off to rc.sysinit I switch to the static image. Looks cleaner.
Binaries go in /bin, and images go in / in initrd.gz. Then you just replace your current initrd.gz with your new one, and you're done.
In the linked folder, check out the cool animated boot image I made for Bookwormpup64 10.0.10, that uses this graphic: