Boot Parameters in the Boot Stanza

Moderators: wizard, Forum moderators

Locked
User avatar
rockedge
Site Admin
Posts: 5710
Joined: Mon Dec 02, 2019 1:38 am
Location: Connecticut,U.S.A.
Has thanked: 1988 times
Been thanked: 2097 times
Contact:

Boot Parameters in the Boot Stanza

Post by rockedge »

This is an advanced topic for configuring the Grub bootloader. Grub gives the computer the instructions it needs to find the Puppy boot files and any other special instructions needed to boot.
These parameters are not usually needed on a plain install since Grub will try to set up what is required automatically.

Boot parameters:

pmedia=<atahd|ataflash|usbhd|usbflash|cd>
Indicates the type of boot device.
If it's "cd" then the partitions are searched for a save layer file, the only situation that triggers such a search.
If the first 3 characters are "usb", then any searching is restricted to only usb devices.
If the last 5 characters are "flash" the top layer in the stack remains the tmpfs in memory, otherwise any found save layer becomes the top layer in the stack.
This boot parameter should always be provided.

psubdir=</path/to/install/directory>
If the Puppy files are not in the root of a partition, but in a sub-directory, the path of this directory, relative to the partition root, must be specified with this parameter.
e.g. If the sdb2 partition is mounted as /mnt/sdb2 and the Puppy files are in /mnt/sdb2/tahr64, then "psubdir=tahr64" or "psubdir=/tahr64" must be specified.
This parameter can specify subdirectories at more that a single level, e.g. "psubdir=puppy/tahr64" or "psubdir=/puppy/tahr64".
If a leading "/" is not provided, init will add it.
This is the default path for locating any puppy file and any partition.


pdrv=<partition> Specifies the puppy...files partition
pupsfs=<partition> Specifies the puppy...sfs partition
zdrv=<partition> Specifies the zdrv...sfs partition
fdrv=<partition> Specifies the fdrv...sfs partition
adrv=<partition> Specifies the adrv...sfs partition
ydrv=<partition> Specifies the ydrv...sfs partition
psave=<partition> Specifies the save layer partition

Where <partition> can be the name e.g sdb2, or a label e.g. Work, or a uuid
e.g. 0db94719-cdf1-44b7-9766-23db62fb85a5
When a label or uuid is used, only the beginning is required, enough to be unique on your system,
e.g "pupsfs=0db94719-cdf1"

Specifying psave=<partition> can be quite useful in directing all save layers to a different partition.
e.g. If your puppies reside on an ntfs partition,
then you can get yourself a savefolder by creating a Linux partition on a usb stick or hd,
and then specifying a psave=<the uuid of the Linux partition> boot parameter.
If you forget to plug in the appropriate device, Puppy will simply do a first boot,
no harm done, just insert the appropriate usb device and reboot.

Code: Select all

ex: adrv=sdd6
ex: psave=Work
ex: pupsfs=0db94719-cdf1-44b7-9766-23db62fb85a5

Where <path> is the sub-directory within the partition.
e.g. "pupsfs=sdb2:/path/to/" or "psave=:/path/to/"
Any specified <path> is relative to the root of the partition, the same as "psubdir=".
If <path> does not start with a "/" then a "/" is prepended to it.
If no <path> is specified, the directory defined by "psubdir=" is used.

Where <filename> is just a filename,
e.g. "pupsfs=sdb2:/path/to/my-improved-puppy.sfs" or "psave=sdc2:my-improved-savefolder"
If no <filename> is specified the default filename, as determined by the DISTRO_SPECS file, is used.

For the purposes of the "psave=" specification a savefolder is considered to be just a file.
The <path> specification defines the directory containing the savefolder,
and the <filename> specification defines it's name.
So, "psave=sdb4:/lxpupsc/mysave" says that the savefolder is on the sdb4 partition
in the "/lxpupsc" directory, named "mysave".
Whereas "psave=sdb4:/lxpupsc/mysave/" says that the savefolder is on the sdb4 partition
in the "/lxpupsc/mysave" directory, with the default savefolder name for the puppy.

It is not necessary to specify all elements,
but if there is no ":" it is assumed to be a <partition> specification.
e.g. "pupsfs=sdb2", specifies that the puppy...sfs file is on sdb2 in the default path with the default filename.
"fdrv=:alternate-firmware.sfs", specifies that it's a file called alternate-firmware.sfs
on the default partition in the default directory i.e. where the puppy...sfs is located.

It is recommended that a pupsfs=<partition> always be specified.
This enables init to go straight to that partition to find the Puppy files
instead of searching through all partitions looking for puppy...sfs.

ex: psave=sdc1:/path/to/tahrsave.4fs
ex: psave=sdc1:tahrsave.4fs
ex: zdrv=sdc1:/zz/myzz.sfs
ex: adrv=sdd6:/puppy/drvs/custom/adrv.sfs
ex: pupsfs=sdb2:/puppy/precise/puppy_precise_5.7.1.sfs


pkeys=<keyboard layout specification> e.g de
Used to setup the keyboard layout to be used by Puppy.

plang=<language specification> e.g. de_DE.UTF-8
Specifies the language to be used by Puppy, including any messages displayed by init.
If no pkeys parameter is provided the first 2 letters of this specification are used to set the keyboard layout.

pimod=<, separated list of kernel module names>
On some computers the keyboard requires a kernel module to be loaded before they will work.
The normal loading of kernel modules does not happen until after init has finished.
But sometimes init needs to request input from the user via the keyboard.
Specifying kernel modules in this parameter will cause init to load them before any possible keyboard interaction.

pfix=<ram, nox, trim, nocopy, fsck, fsckp, rdsh, <number>>
The pfix parameter is a ',' separated list of 1 or more of the above sub-parameters.
ram: run in ram only (do not load ${DISTRO_FILE_PREFIX}save).
nox: do not start X.
trim: add "discard" to mount options if SSD.
copy: copy .sfs files into ram
nocopy: do not copy .sfs files into ram (default is copy if ram <= 1024 MB).
fsck: do fsck of ${DISTRO_FILE_PREFIX}save.?fs file.
fsckp: do fsck before first mount of supported partitions.
rdsh: exit to shell in initial ramdisk.
<number>: blacklist last <number> folders (multisession). e.g. pfix=3

Last edited by bigpup on Sun Jul 10, 2022 4:32 am, edited 1 time in total.
Locked

Return to “Getting Started and System Requirements”