Linux Goodies

In Pursuit Of The Perfect O/S



Step By Step Instructions For Making Your Puppy Linux Frugal Install

Amazon Computers

Installing Puppy Linux

There are a number of easy ways to try or even install Linux on a laptop. One of the best choices might be the 16GB USB Multiboot Flash Drive, which comes with 15 bootable systems for you to try, including both light and heavy-weight versions of Linux. It's a handy way to try different versions on for size, and makes a great Windows repair utility. One can boot from the USB (if your system allows that) and if you find an OS you like, choose to install it to disk.

However, on my old laptop, I can't boot from USB. In fact, even the CDROM is a bit flakey these days. I once managed to get an old version of Puppy Linux installed, and since Puppy can get to a PCMCIA network card, I've been able to keep Puppy Linux up to date even with a limping laptop.

This has been possible because 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

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.

In fact, given that the installed files for any Puppy distro exist in a directory, more than one version of Puppy Linux can exist on the same partition, each tucked away in its own directory. It's a piece of cake to edit the Puppy Boot Menu (menu.lst) to add references to the different Puppy installs. Or, from one of them, just run the Grub4Dos bootloader, and it will find each of the Puppy versions and remake the menu.lst file for you.

It's the Frugal install that let's me keep an old laptop alive even though it can't boot from USB, and can't reliably install from CD anymore. I can just download a new ISO file of the latest Puppy Linux (or one of its derivatives), and copy the ISO file contents to a new directory on my root partition. Then I edit the GRUB boot file to include a reference to this new Frugal install, and boot to it. If it isn't what I want, I can reboot to my old version, and perhaps try a different derivative.

For example, you could get the convient Puppy Linux Variety Pack - Slacko, Racy, Wary, Lucid, and Macpup on one CD sampler, and have them all installed on one partition, each in their own directory. Then you could boot the one of your choice to try them out. Of course, since Puppy is runnable directly from CD, you could boot them directly from the CD too, if that is your choice.

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.

How To Do A Frugal Install

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.

Puppy Linux Disc Icons

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.

Puppy Install Icon
Puppy Install Menu

Near the top of the desktop you'll find an Install icon, like the image at upper top. 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 bottom you see a portion of that window for illustration.

Puppy Disc Install Options

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. Above 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 click OK.

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 partition.

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

Puppy Linux Bootloader Options

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 above.

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 operating systems.

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 install.

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 edits.

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 computer.

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 faster.

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.