Puppy Boot Parameters
These are the boot prompt arguments/parameters that one would use with a
boot loader∞. If you're booting from CD/DVD then type
puppy and then the parameters at the prompt shown immediately before Puppy boots, e.g.
puppy pkeys=us. 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 Linux 2.x/3.x specific
PSUBDIR
Applies to 2.16 and later. 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
PMEDIA
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.
PFIX
- 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 (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
If using multiple pfix options, separate them with a comma, e.g.
pfix=rdsh,usbcard
NOPCMCIA
Add
nopcmcia if you don't want the
PCMCIA (PC card)∞ drivers and card manager to be started during the boot process.
PKEYS
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
Puppy Linux 1.x specific
PFILE
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.
PROOTFS
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.
PSLEEP
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.
PHOME
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
PKEYS
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
General kernel parameters
ROOT
This is actually a parameter that is used by the kernel/init process before Puppy takes over, but you are likely to get strange error messages and a failed boot if your command line does not include the expected
root=/dev/ram0 because Puppy normally loads into a ramdisk.
INITRD
The initial ramdisk should always be
initrd=image.gz with Puppy Linux 1.
x and
initrd=initrd.gz with Puppy 2.
x.
RAMDISK_SIZE
This may be needed by people who have remastered Puppy 1.
x. The kernel is configured with a 12288KB maximum ramdisk, and image.gz once expanded has to fit into this. If bigger, the boot parameter "ramdisk_size=" has to be used to specify a suitable size to hold all of image.gz (uncompressed) plus some spare space. For example:
ramdisk_size=15360 would result in a 15360KB maximum ramdisk.
LOGLEVEL
This controls the amount of messages displayed while booting (log level). If you are having problems booting then increasing this could give you more info helpful for debugging/troubleshooting.
Beginning with Puppy 2.11,
loglevel=3 is used by default, which reduces the onboot display of messages to be limited to noncritical & critical errors. With Puppy 2.11 and later, the detailed boot messages are logged to /tmp/bootkernel.log, /initrd/tmp/bootinit.log, /tmp/sysinit.log. Detailed ongoing messages are logged to /tmp/xerrs.log (X) and /var/log/messages (kernel).
Using
loglevel=4 would show everything mentioned before and warning conditions that should be taken care of.
Normally, without this parameter being specified, the log level would be set to 5, which would display everything mentioned before and normal but significant events. Recent versions of (Puppy 2.10 or later?) have the log level set to 3 in the kernel.
Using
loglevel=7 would show all the messages during boot including kernel debugging messages, and would be recommended to use for troubleshooting problems during booting.
DEBUG/QUIET
Using
debug is the same as
loglevel=7 &
quiet is the same as
loglevel=4. They would be used by themselves without a = and see the above loglevel section for more.
ACPI
If this is omitted then Puppy Linux will automatically determine if
ACPI∞ is available. Now if the BIOS is dated 2000 or earlier for Puppy 1.
x or 2001 or earlier for Puppy 2.
x then ACPI won't be used. But if you are sure that your
BIOS∞ has ACPI support anyways then use
acpi=force to enable it. Now, also, using ACPI may cause problems with some computers, so you can outright disable it by using
acpi=off. But some other options would be to use
acpi=noirq to specify to not use ACPI for IRQ routing, add
acpi=strict option to be less tolerant of platforms that are not strictly ACPI specification compliant (i.e. disable platform workarounds), and
acpi=ht to run only enough ACPI to enable
Hyper-Threading∞.
APM
If this is omitted then Puppy Linux will automatically determine if
APM∞ should be used if ACPI is not available. To enable/disable APM yourself, use
apm=on or
apm=off.
IDE
Booting from some
CompactFlash and other drives need this:
ide=nodma
PCI
pci=bios
Force the use of the
PCI∞ BIOS by not accessing the hardware directly. This means that the kernel should trust the BIOS, which is not the standard thing to do (as BIOSes are known to lie more often than they are known to be valid). Use this only if your machine has a nonstandard PCI host bridge and the normal boot method is not working properly.
pci=nobios
Do not use the PCI BIOS, but access the hardware directly instead. This is the default method of probing for PCI devices in all kernels after 2.6.13 (which includes Puppy 2.
x).
pci=biosirq
Use PCI BIOS calls to get the interrupt routing table. These calls are known to be buggy on several machines and hang these machine when used, but on other machines they are the only way to get the interrupt routing table. Try this option if the kernel is unable to allocate
IRQs∞ or discover secondary PCI buses on your motherboard.
pci=noacpi
Do not use ACPI for IRQ routing or for PCI scanning.
PNPBIOS
Set the main
Plug and Play (PnP)∞ BIOS settings.
pnpbios=on enables the
PnP BIOS subsystem.
pnpbios=off disables the
PnP BIOS subsystem.
pnpbios=curr tells the
PnP BIOS subsystem to use the current static settings and
pnpbios=no-curr tells the subsystem to probe for dynamic settings if possible.
KBD-RESET
"Normally on i386 based machines, the Linux kernel does not reset the keyboard controller at boot, since the BIOS is supposed to do this. But as usual, not all machines do what they should. Supplying this option may help if you are having problems with your keyboard behaviour. It simply forces a reset at initialization time. (Some have argued that this should be the default behaviour anyways)."
VGA
When the kernel is booted with boot-parameter
vga=791 (for 1024x768 for example), the Puppy commandline (prior to starting X) is a VESA graphics mode, meaning that you get more lines on the screen and more characters per line. You also get a penguin logo while booting. If you use
vga=ask then it will prompt you with a list of various video modes that you can use. Then you can use the corresponding number in place of ask for the next boot.
There are some additional arguments for
SCSI peripherals∞ and old
CD-ROMs (Non-SCSI/ATAPI/IDE)∞. Also you can try ide1=0x180,0x386 or ide2=0x180,0x386 if your PCMCIA IDE CD-ROM is not being detected.
Useful titbits of info
48MB = 49152KB, 64MB=65536KB, 128MB=131072KB, 512MB=524288KB, 1GB=1048576KB - i.e. there are 1024 kilobytes (KB) in a megabyte (MB). Puppy v0.7.4 uses a 64MB ramdisk, v0.7.6 uses only 48MB, recent versions need 64-128MB.
See
Barry's notes on configuring Puppy∞.
This page is suggested by
http://www.murga.org/~puppy/viewtopic.php?p=8550#8550∞.
See
The Linux BootPrompt-HowTo∞ for a detailed explanation of most of the Linux boot prompt arguments.
The book,
Linux Kernel in a Nutshell∞, specifically Chapter 9: Kernel Boot Command-Line Parameter Reference, is freely available online and is very helpful for more on this subject, as well.
For a more complete list, see the documentation (kernel-parameters.txt) included with
kernel 2.4.22∞ is similar to the version used with Puppy 1.
x or the one included with
kernel 2.6.11.8∞ which would be similar for Puppy 2.
x.
bootparam∞ - Introduction to boot time parameters of the Linux kernel
LOADLIN User Guide∞
initrd - boot loader initialized RAM disk∞
Categories
CategoryDocumentation
There are 5 comments on this page. [Display comments]