- First acquire the container file (either ISO or ZIP) of the desired Puppy version, e.g. Wary or Fluppy
- Then choose how to use Puppy with your machine (system requirements)
Using Puppy from an optical disc drive
Using Puppy from a hard disk drive
Using Puppy from a flash memory drive
- *.sfs (where the nature of * is determined by the Puppy version)
N.B. Some Puppy versions make use of an additional file: z*.sfs
These files are usually distributed in a container file such as an ISO image (or a ZIP file). It is this one file that one has to acquire so as to be able to make use of Puppy.
new B.I.O.S. versions after that time.
If the Puppy files are to be appended, by making a frugal installation only of Puppy, then this would involve one of the following:
- either making a new partition for Puppy (not recommended)
- or, using an existing partition for Puppy (recommended) (see Appendix 3)
Master Boot Record) on the boot drive. This program eventually transfers control to the boot program (e.g. ldlinux.sys, grldr) that is commonly stored on whichever partition is used for booting the PC.
All hard drives that have Windows installed contain a standard block of code in their M.B.R. If this code gets altered Windows will refuse to boot. It is easy to repair with the WinXP Recovery Console and its //fixmbr// command. Vista users should read here. This is not an issue if the existing operating system is to be replaced by Puppy.
So, if the existing operating system is to be kept, one has to choose which operating system is to be the primary one to initiate the boot process:
- either, the existing operating system (e.g. Windows)
- or, the new operating system (i.e. Puppy)
Do you want to continue using Windows as the primary boot-loader? If so, you will need to modify Windows so it presents a start-up menu that includes Puppy as one of the options. These changes have to be made from inside Windows and not from within Puppy. There is an on-line tutorial called the Lin'N'Win Project that will do this.
Do you want Puppy to be the primary boot loader? This will involve installing GRUB which Puppy can do. Windows will now run as an option from the GRUB boot menu. However, these will only work if you have installed Puppy into its own partition. And the partition must be formatted using a Linux-compatible file system such as EXT3.
The Puppy Universal Installer (P.U.I.) will refuse to install GRUB to a F.A.T. or N.T.F.S. partition because it assumes that the partition contains Windows. Watch for the cryptic error message "This partition is not Linux". Now we get to the M.B.R. issue. The quickest out-of-the-box solution is to install GRUB to the M.B.R. of the H.D.D. The P.U.I. will warn you about the dangers. But this is only an issue if you want to return your machine to a Windows-only setup in the future. In which case, you would simply run the fixmbr procedure.
This should explain what can go wrong with a dual-boot system. Suppose that your Linux install gets damaged or you decide to delete it completely. If your /boot/grub folder has disappeared, the stage 1 code in the M.B.R. won't be able to find its stage 2 files. The computer will refuse to boot, even to Windows. But now you know how to fix this by restoring the M.B.R.
N.T.F.S. or F.A.T. formatting is needed for when using an external drive, e.g. U.S.B. flash memory drive, that will possibly also be accessed by the Microsoft Windows operating system. N.T.F.S. permits the use of symbolic links and file sizes greater than 4GB, whereas F.A.T. does not. Despite the advantages of N.T.F.S., the recommended file system to use is N.T.F.S..
The formatting can be performed using a LiveDVD or LiveUSB and going to Menu > System > GParted > Partition > Format to.
In a frugal install, Puppy creates an additional, a save file. When booting up, the file system stored in the core Puppy files is loaded into memory, but remains read-only. The save file is used to hold all the new stuff you add. These two are merged together so it appears that you are working with a single file system. You get the effect of a full install while Puppy is running, but all you actually see on your hard drive are the core files and the save file.
The main advantage of a frugal install is that you always boot with pristine copies of the core Puppy files. If the install gets corrupted it is just a matter of restoring the single save file from a backup copy. If your save file gets filled up Puppy has a utility for increasing its size. Or data can be stored/moved outside of the save file.
Frugal installations can be made almost anywhere. It may even be placed inside a full install of Puppy or another Linux distribution. Or one may have multiple frugal installations in the same partition.
GRUB can be installed manually. GRUB has two parts - stage1 and stage2. Stage1 is the small block of boot code that gets written onto the M.B.R. Stage2 is the collection of support files that are stored in the directory /boot/grub on the Linux partition. That is also where the GRUB menu file menu.lst is located.
Partitioning tools like Parted Magic, or the partitioning programs in some other Linux distributions, can have a major side-effect on Puppy: inode sizes in EXT partitions.
Windows Vista may become corrupted if a user tries to shrink the Windows partition using Linux tools. A safer procedure is to use Vista's own Disk Management tool, then create the new partitions using Linux. If one wants to keep Vista as the primary boot-loader, look at Easy BCD here.
For a frugal installation the file system is placed inside a single file, known as the frugal save file, which itself contains a compressed read-only file system - the Linux file system. There is also a pup_save.2fs file which contains an uncompressed ext2 file system. This one, called the "save file", stores any changes or additions you make to the normal file system. Upon booting, pup_save.2fs is super-imposed over pup_xxx.sfs so that one sees a complete file system. There are only two other small files: initrd.gz and vmlinuz (the kernel). Prior to Puppy Linux 4.00, zdrv_xxx.sfs was also used. Thus you can conveniently back up everything to, for example, a USB flash drive by simply copying /mnt/home/pup_save.2fs (plus vmlinuz, initrd.gz, pup_xxx.sfs) and your GRUB boot loader marker and config files to the drive. Technically though, you only need to back up the pup_save.2fs file, because the rest are all the original files from the .ISO file.
A frugal installation runs faster in high-RAM computers; install is easy to upgrade; and it can be placed on a Windows FAT32 or NTFS hard drive/partition without re-partitioning it.
However, if you have fast newer disks and plenty of R.A.M., frugal loses its speed advantage. On a P3-1GHz machine with 1GB of RAM and UDMA5 hard disks, there is no material performance difference between a frugal install and a full H.D.D install, provided the full install is on a reiserfs partition.
On a P3-800 laptop with only a UDMA2 hard disk, there is a great deal of difference. If you have enough RAM to hold Puppy, e.g. 256MB, then the frugal install is the only way to go.
To be able to dual-boot Puppy alongside Windows without re-partitioning or re-formatting: perform a frugal Puppy installation.
For a full installation the conventional Linux file system [/, /boot, /bin, /etc, /lib, /mnt, /root, /sys, /usr, /var, etc.] is placed straight onto the partition. A full installation runs faster on low-RAM computers.
On a full hard disk install, vmlinuz is (usually) in /boot, Firefox is in /usr/bin and so forth. On a frugal install vmlinuz is outside of pup_save.2fs somewhere on the "real" file system. Firefox in frugal is also in /usr/bin, but /usr/bin itself is not directly on the disk but rather is in /initrd/pup_rw which in reality is pup_save.2fs on the disk's "real" file-system, "union'ed" into the overall Linux / directory tree in pup_xxx.sfs using special Puppy magic.
Another thing frugal installations do is copy the pup_xxx.sfs file into R.A.M. if there is a sufficient amount, causing applications to start slightly faster. If the computer does not have sufficient R.A.M., it will instead mount the pup_xxx.sfs file from the HDD.
In the case that a frugal installation's save file is on a flash memory drive, Puppy stores its file changes within R.A.M., and only copies them to the save file on the drive periodically (or when one clicks the "save" icon or shut down). This is to cut down on writes to the drive to extend it's life. This behavior does not happen on non-flash media (if it does you probably forgot to set the pmedia=satahd parameter when using a SATA drive).
One can place a frugal install within a pre-existing Windows installation. The frugal save file (although it itself contains an ext file system) may reside on a FAT or NTFS partition; which is why a frugal installation is also called a "co-exist" installation. Not so with a full hard disk drive installation - one cannot make a full installation on a FAT partition because it does not support Linux symbolic links.
Puppy can boot from a non-primary partition. Or you can have the PUI write GRUB's stage1 to a floppy boot disk. Or you can do the frugal installation manually and use a boot CD to launch it. In that case, one could even put Puppy in a logical FAT partition which would be shared with Windows.
Puppy Linux 4.3.0 tutorial file