This is how to make a splash screen and menu for Puppy. Keep in mind you must remaster the cd for this to work.
Boot Screen
First off, you will either need the ppmtolss16 script or gif2lss. The ppmtolss16 needs perl, the other doesn't. I attached ppmtolss16, and Barry attached giftolss below.
ppmtolss16.pup
Okay, now you need to make an image. It should be 640*400 with 16 colors. You can go two ways depending on which script you're using.
ppmtolss16 method
Make sure it is saved as a 16 color png, not as a 32bit or 256 color png that happens to have only 16 colors. It has to use a palette. You can make it shorter or taller if you want, to leave room for the message. Save it somewhere as goofy.png.
Next, you need to do this:
Code: Select all
#pngtopnm <goofy.png >goofy.pnm
#ppmtolss16 <goofy.pnm >goofy.16
gif2lss method
Make sure it is saved as a 16 color gif, not as a 32 color or 256 color gif that happens to have only 16 colors. It has to use a palette. You can make it shorter or taller if you want, to leave room for the message. Save it somewhere as goofy.gif.
Next, you need to do this:
Code: Select all
#gif2lss goofy.gif > goofy.16
Okay, now you just replace the goofy.16 that comes with Puppy. It is on the cd (as in with image.gz and usr_cram.fs, not inside them).
Menu
To make the menu, you edit the isolinux.cfg file on the cd (as in with image.gz and usr_cram.fs, not inside them). Here is an example:
Code: Select all
default 1
DISPLAY BOOT.MSG
prompt 1
label 0
localboot 0x80
label 1
kernel vmlinuz
append root=/dev/ram0 initrd=image.gz ramdisk_size=50490 PFILE=pup001-none-262144
label 2
kernel vmlinuz
append root=/dev/ram0 initrd=image.gz ramdisk_size=50490 PFILE=ask
label 3
kernel vmlinuz
append root=/dev/ram0 initrd=image.gz acpi=off ramdisk_size=50490 PFILE=pup001-none-262144
label 4
kernel vmlinuz
append root=/dev/ram0 initrd=image.gz acpi=off ramdisk_size=50490 PFILE=ask
label 5
kernel vmlinuz
append root=/dev/ram0 initrd=image.gz PFILE=cd
timeout 100
The line with BOOT.MSG calls the boot screen. If you don't want it, get rid of this and don't include goofy.16 and BOOT.MSG.
The labels are what will happen if you choose those options.
Code: Select all
localboot 0x80
Code: Select all
kernel vmlinuz
append root=/dev/ram0 initrd=image.gz ramdisk_size=50490 PFILE=pup001-none-262144
Code: Select all
PFILE=ask
The part that goes
Code: Select all
ramdisk_size=50490
The numbers after the pupfile (262144 in the example) are the size of the pupfile.
In this line
Code: Select all
append root=/dev/ram0 initrd=image.gz acpi=off ramdisk_size=50490
At the end, it has
Code: Select all
timeout 100