One of the cleverest things about Puppy Linux is the efficiency of its
version of the Frugal Install. Puppy certainly isn't the only
distribution of Linux that has a thing called a frugal install. But at least
from my experience, it has one of the best designs of that concept.
The Frugal Install
Buy Puppy Linux on USB
What is a Frugal Install?
A frugal install, as characterized by most Linux distros that use it, is a
technique that copies the CDROM boot files as is directly to a hard drive. The
distro can then boot from these files and operate as if it had booted from the
CDROM. This lets the user bypass the sometimes lengthly and messy full install
procedure. Not all distributions are set up to do such a thing. But for those
that are, they need only a handful of files to be copied to the hard drive,
making for a very simple and fast install.
Puppy's version of the frugal install lets you install a fully operational
version of Linux by copying the CDROM files, most of which are in a compressed
form, to a directory at the root level of any disc partition. Then about 3
lines added to a Grub boot loader config file will allow a boot of Puppy
with all of its functionality. It's that simple. While some distributions of
Linux tolerate with some manipulation a form of frugal install, Puppy Linux is
designed from the git go to work effectively that way.
The Puppy Linux boot files are created in a cleverly designed bootstrap
configuration. The vmlinuz boot kernel loads enough software to be able to
locate its necessary additional files, set up the unionfs overlapping file
system (described in detail at my Puppy Linux Review web
page), and then complete the install by mounting and mapping the sfs
compressed Puppy files to the unionfs file system.
Since the Puppy install is typically just four files in a directory,
it can be installed in conjunction with about any other operating system --
without the need for an additional disc or separate partition. This concept
works so well that it's possible to have several different Puppy installs on a
single partition, each within its own directory. The grub bootloader can be
configured to offer booting into any of them. This lets you install any of the
specialized derivatives of Puppy that are available, and have the choice of
booting into any one of them.
Saving Your Work
When Puppy is shutdown for the first time, even from a CDROM boot, it offers
the option of creating a save file that saves all of the work you may
have created, as well as any additional software you may have added with the
package manager. The next time you boot, Puppy will find the save file and
mount it with the unionfs overlapping file system, creating a configuration
that looks and feels for all the world like a fully installed version of
Linux. Since this magic works even when booting from the CDROM, it makes the
idea of a frugal install even more attractive.
So, how do you get Puppy Linux to perform this incredible magic?
In the remaining text, I offer details of how to create a frugal install of
Puppy Linux on a computer with a spare Linux format partition, based upon my
own experiences. If you have enough disc space to create a Linux partition for
Puppy, I highly recommend that you consider doing that, though it isn't
absolutely necessary. If you decide to do that, be sure to backup everything on
the partition that you intend to reformat, since reformatting will destory
anything currently on the partition.
The procedures that follow for making a frugal install of Lupu-Puppy Linux
worked for me, but there is no guarantee that they will work for you. If you're
having trouble wading through the Puppy menus, however, perhaps you'll see
something discussed that helps clarify the process.
First, boot from the Puppy Linux CDROM. Notice that there are one or more
disc icons at the lower left of the desktop, depending upon how many hard discs
and partitions you have. Below each icon is a label, like sda1, sda2, sdb1,
etc. If an icon is labeled something like sda, without the trailing number, it
indicates an entire disc that isn't divided into partitions. If an icon is
labeled with a trailing number, like sda1 or sdb2, then it indicates a
partition on a multi-partition disc.
If you click on any of these icons, the ROX file management utility
will mount the disc or partition, if not already mounted, and bring up a window
showing what files are on that partition. You'll also notice a big green dot
associated with any of the icons that are represent mounted disc partitions.
Once any disc or partition is mounted, it's respective mount point is
usually /mnt/name, like /mnt/sda1. The actual device nomenclature
for the partition is /dev/name, like /dev/sda1. Utilities that work with
mounted partitions, like word processors, find files on the /mnt/name
mount point. Utilities that work on unmounted discs or partitions, like the
install utility, use the /dev/name reference.
If you right-click on a disc partition icon, a pop-up menu will list options
related to that partition. From this menu you can mount the partition, launch
the ROX file manger on the partition, or unmount it.
Near the top of the desktop you'll find an Install icon, like
the image at upper left. Click that to begin the install process. When the
install window comes up, you'll see a list of install options. Select
the Universal Installer option. Above right you see a portion of that
window for illustration.
Clicking on the Universal Installer selection will bring up a window that
shows options for installing to a USB flash drive, a USB hard drive, and
several other disc type options. Select the one appropriate for your needs.
To install to an internal hard drive, select Internal (IDE or SATA) hard
drive. At left you see the device type list of that window.
Assuming you select to install to an internal hard drive, the next window
will show a list of available internal drive partitions. The list will
correspond to the disc icons you see at the lower left of the desktop. Select
the one in the list that you wish to be the home of your frugal install.
The next window gives some explanation of how Puppy will work on various
format drives, and suggests that to allow Puppy full use of the disc or
partition, you consider reformatting the destination partition to a Linux
format. It depends upon your intended use for Puppy as to whether you want to
install on a windows partition or make a Linux partition. Again,
reformatting a partition will destroy anything currently on it, so
keep that in mind. In my case, I was installing to an existing Linux partition,
so I just clicked the Install button.
The next window gives you information about the chosen disc partition,
showing its current format and free space. Unless you've changed you mind, just
Next is a window that asks you to indicate where a copy of the Puppy
Linux files reside. Assuming you booted from CD and intend to install to
hard disk, select CD. You'll be asked to insert the CD if it's not
already in the CD drive.
The next window lets you choose between a Full or Frugal
install. Unless you have especially limited computer resources, frugal is
probably the best choice.
After having selected the frugal install option, you'll be shown a window
that explains a bit about how your work is saved. The utility suggests that you
install Puppy to a directory and keep your save file in that directory. It
offers a default name for that directory, which it will create during the
installation. You may rename the proposed directory if you wish. This directory
will be created in the root area (not root directory) of your chosen disc
Now Setup Your Bootloader
Once the install is complete, the install utility will bring up an edit
window that shows the contents of a file named NEWGRUBTXT, which will
have been created in the /tmp directory. In addition, a pop up window of
information will give explanation of your options for getting your frugal
install of Puppy to boot. If you already have a grub or Grub4Dos
boot setup on your system, you can follow the directions listed in the edit
window to add the indicated lines to the existing grub or Grub4Dos file that
you are currently using.
To do that, you'll likely need to make notes of what's presented in the edit
window, or print it out. Then boot to your normal operating system, locate the
grub or Grub4Dos config file, and make the indicated changes. Depending on the
nature of your current setup, you may have to run grub-install to get the new
grub configuration written to your Master Boot Record (MBR). Then when you
reboot, you should see a grub entry for your new Puppy frugal install, in
addition to your previous boot options.
If You Need To Install A GRUB Bootloader
If you don't currently have a bootloader utility on your computer that you
can configure, you will have to in some way install a bootloader that can find
your new frugal Puppy install. If you click on the Puppy menu System
selection, you'll see among other selections the two bootloader options shown
I suggest that instead of the Grub bootloader config menu option, you
use the newer Grub4Dos menu option for installing a bootloader. This
option is more automated, and will find any existing Linux and Windows installs
for you and put them in the bootloader sequence, in addition to finding any
Puppy Linux frugal installs you have and also putting them in the bootloader
sequence. The Puppy Linux that you are in when you run the Grub4Dos utility
will be the top boot option in the boot sequence.
If you choose the Grub4Dos option, other than optionally change the labels
of the located systems, you shouldn't have to do any additional manual
operations to end up with a system than can boot up your new Puppy install as
well as any other operating systems you may already have installed. You won't,
for example, have to worry about the contents of the /tmp/NEWGRUBTXT file that
was created during the frugal install. You can, if you need, edit the
Grub4Dos config file. It's a file named /menu.lst, and located on the
disc where you installed the Master Boot Record.
The only disadvantage to the Grub4DOS bootloader install utility that I'm
aware of is that the Puppy you're in when you run it will be the first and
default selection in the list when you reboot. The auto-install menus don't
give you any option to change that, though you can manually edit the /menu.lst
file if you wish.
If You Like Grub, Try The Grub bootloader config
If you prefer grub over Grub4Dos, you can choose the Grub bootloader
config menu option under the Utility menu selection. This is an older
bootloader configuration utility. If it's what you choose to use, a
/boot/grub directory will be created on a partition of your choice to
hold the grub configuration and support files. Be careful if you already have
any partitions that contain conventional Linux installs as these partitions may
already have /boot/grub directories. If you already have a system installed
that boots with a grub, go back and review how to edit your existing grub to
boot frugal Puppy.
If you choose to install a bootloader with the Grub bootloader config
option, you'll see a pop-up window that gives you an option for a simple or
expert install. I suggest selecting the simple install. Your next
selection will be the console selection. Just select standard.
Next you'll be asked where to put the grub files, like the config file and
some support files that grub needs. You can probably just select the partition
on which you made the frugal install. In my case it was /dev/sda1. The
utility will make a /boot/grub directory on the partition you choose and
copy some support files and a basic config file for grub to that directory. You
can look at the disc icons at the lower left of the desktop to see the
identified partition names. The name given to the utility must have
/dev/ appended to the front of the disc names as displayed for the
icons. The utility will copy all the grub support files to the /boot/grub
directory to that partition.
The next window will ask where to install the actual bootloader code. Just
select the MBR.
Once the utility has created the /boot/grub directory and copied the
necessary files to it, it will also make a basic menu.lst file in the
/boot/grub directory that directs grub on how to boot any of the identified
Note that the utility doesn't locate the Puppy Linux frugal installs. So you
must edit the /boot/grub/menu.list file that was created, and add in the
text shown in the /tmp/NEWGRUBTXT file. Once you've done that, you can
reboot. You should then see boot selections for your other installed operating
systems like Windows or Linux, as well as the Puppy Linux frugal install.
If you decide to try out some other versions of Puppy Linux, you can do so
by making frugal installs of them on the same partition where you installed
your previous Puppies. The only requirement is that each must exist in its own
directory. You must then edit the /boot/grub/menu.lst file and make reference
to each new frugal install, using the Puppy grub text described in the
/tmp/NEWGRUBTXT as an example. Then, just reboot.
If Something Goes Wrong With Grub
If you end up with a system that has a grub that won't let you boot to
all of your installed systems, you can always reboot with the Puppy Linux
CDROM and try stepping through the procedures again, or editing the
/boot/grub/menu.lst file created on the partition you specified during the
install. The way Puppy designs the menu.lst file, you shouldn't need to
re-install grub, just edit the menu.lst file and reboot.
Upgrading A Frugal Install
Upgrading a frugal install is as easy as booting from a new CD and simply
replacing the old frugal install files in the Puppy directory on your hard
drive with those on the CDROM. The next reboot will bring up the new frugal
When you boot from an upgraded frugal install, Puppy will discover the
upgrade and will offer you the option of fixing your save file to be compatible
with the newer version of Puppy Linux. That makes for an ultra simple upgrade.
The save file adjustments seem to preserve everything in the save file quite
well. About the only thing I've found that I have to do is remake any
changes I may have added to the /etc/profile file, such as directory
paths for executables or aliases for commands that I found handy. The
/etc/profile file seems to get replaced during an upgrade, loosing my
The Full Install
It is possible, and easy, to do a Full Install of Puppy Linux instead
of a frugal install. In this more conventional approach, you must provide a
Linux format partition for Puppy's exclusive use. The install will extract all
of the operating system and utility files from the CDROM compressed file to
this partition, creating a conventional Linux system on a partition dedicated
to Puppy Linux.
The full install option doesn't need or use a save file, in that all
your work and any additionally installed software become just a part of the
standard file system. But unless your computer is either quite slow or has very
limited memory (or both), there is little gain in doing a full install.
If you have over 128MB of memory and a processor that runs at a least a few
hundred MHZ, then you'll likely find that the frugal install will work very
well, and offer a number of advantages. These resource numbers are reasonable
guidelines, but a frugal install can be completed on even a less endowed
As an example, I have an old
Dell laptop that has only 83MB of memory and a 166MHZ processor. While
these meager resources are below the minimum recommended for a frugal Puppy, my
frugal install of Wary Puppy works pretty well on that old computer. I made a
Linux swap partition on the hard disc so that Puppy Linux could adjust to
having too little memory for the typical configuration. I also did a full
install on a spare partition to check out any performance difference, and I did
find that on that aging piece of equipment, the full install performs a tad
But in most cases, you'll likely find that frugal is the way to go. It
doesn't require a partition of its own, or even a Linux partition in which to
exist, though its recommened that you consider a Linux partition for Puppy if
you have the disc space. The frugal install is very resistant to computer
viruses since the basic boot files are mounted read only, and the system can
easily be booted up in the pristine CDROM version state by providing the grub
parameter pfix=ram. I have Puppy Linux available on 5 computers in my
home, and all but one (the old Dell laptop) work off of frugal installs.