How to indicate to Puppy where you want your savefolder to be located.
This information is about frugal installs using savefolders or savefiles, based on the current woof-ce.
For older Puppies, ignore all the SAVESPEC stuff.
In this, when I refer to a "savefolder", it could also be a "savefile".
1. Do nothing.
The default location for any savefolder is in the install directory, i.e. where your Puppy...sfs is stored.
********** Using text files **********
2. SAVEMARK
Create a text file called SAVEMARK in the install directory, that contains just a number.
This is the partition number for storing a savefolder, on the same drive as the install directory.
e.g. Puppy is installed on sda2 in '/pups/fossa64'. If the file '/pups/fossa64/SAVEMARK contains just the single character '4',
then Puppy will expect the savefolder to be on sda4 in '/pups/fossa64/fossapup64save'.
Note that the sub-directory is the same for both the install location and the save location.
3. SAVESPEC
Create a text file called SAVESPEC in the install directory, that contains information to define a save location.
A typical SAVESPEC file looks like this:
Code: Select all
SS_ID='Wone'
SS_DIR='/pups/fossa64'
SS_MEDIA=atahd
Where "SS_ID" is the Volume Label or UUID of the partition,
"SS_DIR" is the sub-directory,
"SS_MEDIA" is the PMEDIA spec of the save drive, to overwrite the PMEDIA spec in Puppy that relates to the install drive.
So Puppy will expect to find a savefolder in the '/pups/fossa64' sub-directory on the partition with the Volume Label "Wone",
and PMEDIA will be set to "atahd", no matter how Puppy was booted.
The advantage of a SAVESPEC file is that it can reference anywhere on the system, even on a USB disk.
If you specify a USB disk and it is not inserted at boot time, Puppy will do a first-boot, since it can't find any savefolder.
A utility called 'mk-savespec' that generates a SAVESPEC file for a selected directory, is made available in viewtopic.php?f=66&t=1371.
It can be downloaded from http://www.mediafire.com/folder/ufo1lerdg73j0/savespec.
On first-shutdown a SAVESPEC file might be written if non-default options are selected, so that 'init' can deliver what 'shutdownconfig' promises.
********** Using boot parameters **********
Boot parameters are part of each Puppies bootloader entry, in the config file for the bootloader, on the line that usually starts with "linux" or "kernel".
(Or they can be manually entered during the boot, via the keyboard.)
4. psavemark=<partition-number>
Using the SAVEMARK example above, the save partition could have been specified with a boot parameter, "psavemark=4", instead.
5. psave=<partition>:<sub-directory>/<filename>
This has the advantage that it can specify a savefolder as being anywhere in the system.
Usually only a <partition> and a <sub-directory>, are specified for a save location, but the format is designed to possibly include a <filename>.
So to emulate the SAVESPEC example above, it would be necessary to specify "psave=Wone:/pups/fossa64/" as a boot parameter.
If the trailing "/" is omitted, then this would be interpreted as a savefolder called 'fossa64' in the '/pups' sub-directory,
instead of a savefolder called 'fossapup64save' in the '/pups/fossa64' sub-directory.
***************IMPORTANT EDIT******************
If "psave=Wone:/fossapup64save" is specified, the "fossapup64save" bit corresponds to the <filename> part of the format,
just like "fossapup64save.4fs" would be, not the <sub-directory>. And "psave=Wone:/" should produce the same result,
since the 'init' script already knows the default name for any savefolder.
**************************************************
The example shows "Wone", a Volume Label, but it could also be the UUID of the partition.
Note:
Since a SAVESPEC file might be written automatically during 'first-shutdown', 'init' gives it precedence.
Advertisement:
Of course, if you use an install utility like FrugalPup, all this can be taken care of, for you.
viewtopic.php?f=105&t=337