I found that a few seconds are saved off bootup time by eliminating "Searching for Puppy files..." This is practical for me since I'm always on the same computer and the files are always in the same place. The idea is that once Puppy has been run, all the info found in the Searching... section is recorded in PUPSTATE.
Procedure: [Edit 2/14: please see modified procedure on page 3]
Back up initrd.gz
Unpack initrd.gz to folder initrd-tree
Copy /etc/rc.d/PUPSTATE to initrd-tree/
Edit init script by replacing the entire FINDING PUPPY FILES section:
Code: Select all
#######################FINDING PUPPY FILES###########################
. /PUPSTATE
[[ $pfix = "ram" ]] && PUPMODE=5
[[ $psave ]] && PUPSAVE=$PUPSAVE$psave
########################END FINDING PUPPY FILES############################
Repack initrd
The second line allows the pfix=ram boot option to work
The third line is only needed if you have more than one save file and you want a separate grub entry for each. (The "Type a number to choose which personal file to use" menu won't be generated.) Thanks to CatDude and Crash for this.(link) In this case you also have to remove the save file name from PUPSAVE line in the PUPSTATE file and add psave=name of save file to the grub kernel line.
e..g. PUPSAVE='sda4,ext3,/slacko/slackosave1' becomes PUPSAVE='sda4,ext3,/slacko/' and psave=slackosave1 on grub kernel line.
This was done with suitable awe for the cleverness of the init script. I really didn't expect a simple change to work, but it does.