These are parameters or arguments that control how Puppy Linux boots up. Where they are specified depends on if and how Puppy is installed.
==Booting from a CD==
If booting from CD/DVD then the parameters are set at the prompt shown before Puppy boots. Usually, if no key is pressed after 5 seconds then Puppy will load with default settings. Example: ##puppy pkeys=us##
==Booting from a USB installation==
The parameters are set in the 'syslinux.cfg' file, example:
Example: ##default vmlinuz initrd=initrd.gz pmedia=usbflash##
With frugal installation the parameters are set by one of the [[BootLoaders Boot Loader's]] files. [[GRUB]]and [[GRUBforDOS]] use the 'menu.1st' file.
title Puppy Linux 525
kernel (hd0,0)/vmlinuz pmedia=atahd psubdir=puppy525
"...Pfix=nox doesn't work in full install because the code that interprets this only exists in initrd.gz, and full-install doesn't use initrd.gz. (In fact, all other puppy boot parameters will not work in full install)"
[[http://www.murga-linux.com/puppy/viewtopic.php?p=502144#502144 see forum]]
==Other Boot Loaders==
Read the documentation included with other boot loaders for where to include these parameters. The parameters are case-sensitive, so ensure it's exactly as shown. Additionally, vmlinuz is the filename of the kernel image that one would need to specify when using a boot loader. See the **isolinux.cfg** & **boot.msg** files in the CD image (.ISO) or on the CD/DVD for a little more on each version's normal boot options.
====Puppy Parameters Version Two and Later====
Here is a list of the parameters/arguments you can set, note these don't apply to early versions of Puppy.
Specifies the subdirectory in which the kernel is located in on the boot partition. If not specified init will look in ##/## and ##/boot## , I'm not sure which order. As of puppy 3.00 this parameter also restricts the boot search for existing pup_save files only pup_saves inside this directory will used. This can be used to allow multiple puppy installation on the same partition to be used without risk of using the wrong one in error. example: ##psubdir=boot/puppy216##
Not specifying this should automatically detect the boot media. Manually specify the boot media and interface using one of the following: ##usbflash usbhd usbcd ideflash idehd idecd idezip satahd satacd scsihd##. This would be where USB, IDE, SATA, SCSI are the accepted interfaces and flash memory, hard drive, CD/DVD drive, ZIP drive are the accepted drives, e.g. ##PMEDIA=idehd##.
(Applies to Puppy 2x and later).
- ##pfix=ram## will run Puppy totally in RAM and ignore saved sessions/storage file(s)
- ##pfix=<n>## where ##<n>## is the number of saved sessions to ignore for a multisession-CD
- ##pfix=rdsh## will exit to initial ramdisk commandline ([[http://www.puppylinux.com/development/howpuppyworks.html do not pivot_root]])
- ##pfix=usbcard## for booting from USB flash drive via USB 2.0 to PCMCIA adapter
- ##pfix=clean## will force a simulated version upgrade (for Puppy 2.13 and later)
- ##pfix=purge## will force an even more radical file cleanup (to fix broken system) (for Puppy 2.14 and later)
- ##pfix=#debug## may help with debugging
- ##pfix=copy## or ##nocopy## controls if main sfs file is loaded (copied) to RAM
If using multiple pfix options, separate them with a comma, e.g. ##pfix=rdsh,usbcard##
Add ##nopcmcia## if you don't want the [[http://en.wikipedia.org/wiki/PC_card PCMCIA (PC card)]] drivers and card manager to be started during the boot process.
The keyboard layout for a country. Default is "##us##". Choices are: ##be br cf de dk es fi fr gr hu it jp no pl ru se uk us## See [[http://bkhome.org/blog/?viewDetailed=01218 Barry's recent blog post]] for more on this.
====Puppy Parameters Version 1====
This parameter specifies the options for the filesystem within a file that is used by Puppy Linux to save changes/settings after the first boot. If PHOME not specified, Puppy will automatically search for a vfat (FAT32), ext2/ext3 or ReiserFS partition (in that order) to use; that is, to create the file on.
The format is "PFILE=//name//-//password//-//size//", for example "##PFILE=pup0-none-131072##". The most common names of PFILE are pup001 (used by the LiveCD), pup100 (which is used for USB), pup1 (with a hard drive install). One can also use ""PFILE=ask"" or ""PFILE=no"" or ""PFILE=cd"". When using ##PFILE=ask## then Puppy Linux will ask you where you want the file to be (should be same location as PHOME if used), what name you want to use, and will default to a size of 256 MB. Starting with 1.0.7, a parameter of "no" will have Puppy only use a ramdisk and, if possible, a Linux swap partition. Specifying "cd" should only be done with a multisession formatted CD-R/DVD-R (usually burned from Puppy) to tell Puppy to enable using the multisession specific features. A password of "none" means no password and the filesystem is not encrypted. A password of "ask" will ask you for a new password at first boot and thereafter. The size of the filesystem in this example is 131072 KB, which is 128MB.
The example for PFILE shown above is the setting for the live-Puppy v0.7.6 CD. At the least, all the 1.//x// versions use a pup001 file without a password at 262144 KB (256 MB).
The filesystem for the file ("pup0" in example) will be ext2 unless PROOTFS is specified. If you want a password, that is, an encrypted filesystem, do not use a journaled filesystem (ext3 or ReiserFS). If you use minix for the file, it must be no bigger than 64MB. Either way make sure to keep it under 1GB.
Specifies the type of filesystem to be used with the PFILE selection. Allowed choices are umsdos, minix, ext2, ext3. With v0.7.6, reiserfs may also work (untested). If you have PFILE defined, then you //don't// need PROOTFS as it defaults to ext2.
This specifies a sleep time, in seconds. This is required if your home device is a USB device, typically 25 seconds is needed for USB 1.1; 5 seconds for USB 2.0. Note that if you define this variable and do not define PHOME, Puppy will automatically search at sda1 and sda2.
This specifies the Linux device name (which in turn specifies the boot media/interface and partition) that will be your home folder where all your data can permanently reside. The default behavior is explained in the PFILE section above. The preceding /dev/ should be omitted e.g. ##phome=hdb1##
The keyboard layout for a country. Default is "us". Choices are: ##be br cf de dk es fi fr gr hu it jp no pl ru se uk us##
"So I did a few simple tests to compare it with other distros.
I used the same PC, the same HDD and all the distros had a similar load of applications installed, with the exception of Windows XP which was lightly loaded.
All Puppys were Frugal installs except for one Full install where noted.
I measured the time between selecting the distro from the grub boot screen and when the desktop had loaded and I could start loading an application.
Also for the distros that needed a user-name and password to be entered I had to judge the time it took to do this and subtract from the timing.
Before anyone says it I am aware that some distros (eg Windows) offer a full desktop and can start loading apps even when a lot of activity is still happening "under the surface". I had no way to judge this so have had to ignore it." //davesurrey//
AMD Athlon XP 1700 1GB DDR
Ram, FX5200 (256MB) graphics card|=|Gposil
i7, 8gb RAM, 1Gb video
These are Full Installs||
Puppy 412 frugal install ......57secs
Puppy 420v2 frugal install ......57secs
Puppy 431 frugal install ......44secs
Puppy 431.1 frugal install ......43secs
Pup 214X16 frugal install ......38secs
Ubuntu 9.04 ......60secs
Ubuntu 9.10 ......65secs
Debian 5 ......57secs
Fedora 12 ......88secs
Slitaz Cooking ......21secs
""TinyCore"" 2.5 ......37secs
Puppy 431 Full ......19secs
Windows XP ......41secs