Inital tutorial by Ketut P. Kumajaya, slight updated (also made the extract-script work again).
1. Over Terminal Emulator or "adb shell", dump your original param.lfs (/dev/block/mmcblk0p4)
cat /dev/block/mmcblk0p4 > /sdcard/mmcblk0p4.lfs
2. Copy your param.lfs (mmcblk0p4.lfs) to your PC or pull it from your device over adb
adb pull /sdcard/mmcblk0p4.lfs
3. Unpack param-tools-new.zip on your Linux computer or Cygwin environment for Windows user (untested)
4. Copy your param.lfs to param-tools folder and then create a working folder for manipulate boot logo
5. Extract all jpg files from param.lfs
6. Create your own boot logo (or use the examples from Ketut Kumajaya), the size no larger than the official jpg-files!
7. Save the original boot logo
8. Replace the original boot logo with your own boot logo
9. Inject your modification back to param.lfs and save it as param-new.lfs
../inject-jpg.sh ../mmcblk0p4.lfs ../mmcblk0p4-new.lfs
10. Confirm your new param.lfs by extracting it (same like on Step 5, only the filename changed), check the resulted image
11. Copy the new param.lfs to your P31xx/P51xx sdcard or push it to your device via adb
adb push mmcblk0p4-new.lfs /sdcard/mmcblk0p4-new.lfs
12. Over Terminal Emulator or "adb shell", copy your new param.lfs to /dev/block/mmcblk0p4. Reboot to recovery once after that.
cat /sdcard/mmcblk0p4-new.lfs > /dev/block/mmcblk0p4
13. Done! Enjoy your new bootlogo!