Why BMP? It's a lossless image format which could be LZMA compressed quite well depending on the image's variety of colours. And finally I found out how to get a working splash screen - instructions tested on AMD Lenovo G505S laptop with 1366x768 screen resolution :
1) Install the ImageMagick package, it has a "convert" tool. 2) Find a cool image, preferably in a lossless format like PNG (certainly not a lossy JPEG!), resize it to your screen resolution - e.g. to 1366x768 in this particular case - and save it, preferably as PNG. 3) Now you could convert this image into BMP format recognizable by SeaBIOS:
convert ./wallpaper.png -alpha set -verbose -depth 32 ./bootsplash.bmp
4) Then add it to your coreboot.rom image, with LZMA compression of course - because without a compression those BMPs are too large:
./coreboot/build/cbfstool ./coreboot/build/coreboot.rom add -f ~/Downloads/bootsplash.bmp -n bootsplash.bmp.lzma -t raw -c lzma
5) And finally flash the updated image, e.g. at G505S it could be flashed internally:
sudo ./flashrom/flashrom -p internal:laptop=force_I_want_a_brick,amd_imc_force=yes -w ./coreboot/build/coreboot.rom
Hope it's helpful!
Best regards, Mike Banon