The following article is not a step-by-step manual for setting up Puppy on a hard drive. Instead, it discusses the various decisions that a user must make before starting the installation process.

Update. If you have an old computer that you want to completely erase and restore with Puppy, read here. If you want to dual-boot with Windows, one strategy is described here.

Many users who discover Puppy eventually want to install it to their hard drives instead of using the Live CD. This will often involve dual-booting the computer along with Windows. Puppy has an installer program located in its Setup menu but the various options can be confusing. This article discusses the decisions you need to make before attempting the installation. If you plan to scrap Windows entirely and set up a dedicated Puppy machine, you will also find useful information here.

Open the Live CD and look at the contents. You will see that the complete operating system is contained in just three compressed files. They are vmlinuz, initrd.gz and pupxxx.sfs. (Older versions of Puppy also used a file named zdrvxxx.sfs.) The first two files contain the code that Puppy uses to get itself started. The third file contains the application software like word processors and web browsers.

Decision #1

What kind of installation method will you choose? There are two choices. A traditional full install extracts all the individual files from the three core files on the CD and copies them to your hard drive. You end up with many files and folders, like you have in a Windows setup.

A frugal install just copies the three files from the CD to your hard drive as they are. Each method has its own advantages, which we won't discuss now. For beginners, a frugal install is easiest - simply because it duplicates the way that the Live CD works. (A more detailed comparison of full versus frugal is provided at the end of the article.)

The exception to the above rule is an old computer with limited memory (64 MB or less). It will work better with a full install. On the other hand, you may be disappointed with Puppy's performance on such a low-end machine.

Decision #2

Where will you install the files on your computer? A hard drive can be split into several independent regions called partitions. Clearly, the safest place to install Puppy is in its own partition where it can never touch your Windows setup. However, this involves shrinking your Windows partition to provide the necessary space. Most newcomers are nervous about doing this. Tools like the Parted Magic Live CD can reliably repartition your hard drive. Or you can use the Gparted program on the Puppy Live CD. But there are risks, especially if your Windows installation has some underlying corruption. And because there is a learning curve to using a partitioning program, you might not want to practice on your best Windows machine. Also, see the notes at the end.

You can use a separate partition to hold either a full or frugal install. A few GB of space will be plenty for a frugal setup. You must also decide how to format it. For a frugal install, the ext2 filesystem will be fine.

Unless your machine has lots of memory (512 MB or more), you should also consider making a swap partition. A good rule of thumb would be to add enough swap to bring your total memory up to 512 MB. You can use the Linux "free" command to check how much memory you have in play.

If you are not comfortable repartitioning your hard drive, Puppy has an alternative. Stay with one partition, do a frugal install and put the Puppy files inside Windows. For example, the first core file would then become c:\vmlinuz. This is known as a "coexist" install.

In the old days of Windows 98 and FAT32, a coexist setup was the easiest method for beginners. However, since NTFS has become the standard filesystem format for Windows, this may no longer be true. There are some reports that if Puppy crashes, it can also damage Windows. But many users are running Puppy this way without incident. So you need to choose between two small risks - corrupting Windows during a drive repartition or corrupting it as a side effect of Puppy failing.

Decision #3

How do you want your computer to boot? When your machine powers up, it needs to select one of its partitions from which to load an operating system. This requires a bit of code called a bootloader, located at the root of your hard drive in the Master Boot Record.

All hard drives that have Windows installed come with a standard block of code in their MBR. If this code gets altered, Windows may refuse to boot even though its actual files are OK. This can be a frightening situation, but is easy to repair. Do some research on the WinXP Recovery Console and its "fixmbr" command. Also look here for the "fixmbr" download. Vista users should read here.

This is a crucial issue because Puppy uses its own bootloader, GRUB. You have to pick one or the other as the primary bootloader for your computer.

Now for the decision. Do you want to continue using Windows as the primary bootloader? If so, you will need to modify Windows so it presents a startup menu that includes Puppy as one of the options. The Puppy Universal Installer (PUI) cannot set this up because you need to make the changes from inside Windows. There is an on-line tutorial called the Lin'N'Win Project that will do the job. Find it here.

Or do you want Puppy to be the primary bootloader? This will involve installing GRUB, which Puppy can do automatically. Windows will now run as an option from the GRUB boot menu. However, because GRUB is a Linux product, this will only work if you have installed Puppy into its own partition. And the partition must be formatted using a Linux-compatible filesystem such as ext2.

The PUI will refuse to install GRUB in a FAT or NTFS 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 MBR issue. The quickest out-of-the-box solution is to install GRUB on the MBR of your hard drive. The PUI 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.

In a multi-partition setup, you should NEVER have to reinstall Windows just because there was a problem with Puppy. Unless you did something really stupid.

At this point, a short GRUB tutorial might be helpful. GRUB has two parts - stage1 and stage2. Stage1 is the small block of boot code that gets written onto the MBR. Stage2 is the collection of support files that are stored in the folder /boot/grub on the Linux partition. That is also where the GRUB menu file, menu.lst, is located.

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 stage1 code in the MBR won't be able to find its stage2 files. Your computer will refuse to boot, even to Windows. But now you know how to fix this by restoring the MBR.

If you are still nervous about changing your MBR, you can modify the Lin'n'Win technique to boot Puppy off a different partition. Or you can use the method described here. Or you can do the frugal install manually and use a boot CD to launch it. In that case, you could even put Puppy in a logical FAT partition which would be sharable with Windows. Or you could avoid the entire issue by installing Puppy onto a USB flash drive.

Full versus Frugal

When you do a full install, all of the data in the core Puppy files is extracted from the CD into a filesystem on your hard drive. Any software you install or files you save are added to the filesystem, so the total number of files and folders gradually increases.

In a frugal install, Puppy creates another file named pup_save.2fs. When you boot up, the filesystem stored in the core Puppy files is loaded into memory, but remains read-only. The pupsave file is used to hold all the new content you add. These two are merged together so it appears that you are working with a single filesystem. 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 pupsave.

The main advantage of a frugal install is that you always boot with pristine copies of the core Puppy files. If your install gets corrupted, it's just a matter of restoring the single pupsave file from a backup copy.

But what if your pupsave file gets filled up? Puppy has a utility for increasing its size. Or you can store content on your hard drive outside of the savefile, like you would with a full install.

Another advantage is the ability to put a frugal install almost anywhere. You can even stick it inside a full install of Puppy or another Linux. Or you can have multiple frugal installs in the same partition.

Puppy and Other Linux Partitioning Tools

There are certain advantages to using a stand alone product like the Parted Magic CD to reformat a drive. For example, it will contain the latest NTFS drivers if you need to shrink Windows. However this tool, or the partitioning programs in some other Linux's, can have a major side effect on Puppy. Read this thread regarding inode sizes in ext partitions.

Vista, Windows 7 and Linux

There have been reports that Vista can be 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 you want to keep Vista as the primary bootloader, look at Easy BCD.Last edited by rcrsn51 on Fri 14 Oct 2011, 11:33; edited 38 times in total

Just a couple of comments for someone to add.
If playing around with partitions/repartitioning - make a small swap partition at the same time.
If intending to adopt the FULL installation option, the new partition needs to be formatted before running the PUI.
Probably also mention somewhere about using pfix=ram boot parameter.
Maybe it isn't made entirely clear that a FULL install actually decompresses the files (only that the word 'compress' wasn't invoked - something that will be well understood by SuperStor/Doublespace refugees).
Possibly scope for a brief outline of the advantages and disadvantages of FULL & FRUGAL based on available resources and operator intentions?

The Guide fortunately does not (and should not) presume that Microsoft Windows is still functioning well.

While the Guide cannot cover every situation, the funny part to me is the truth that most people who install Puppy Linux really do value their Microsoft Windows installation and want to keep and preserve it.

I suppose the best place to install Puppy is where Windows was, before you formatted that partition as a Linux partition.

Can I make a suggestion about the layout - to divide the information up and include headings and number the options? For example, if you have headings "Decision 1 - What kind of installation method to choose", etc. then a reader who might already know what method they want (or whatever) can jump to the next heading.

If there are additional headings such as "what you need to know before starting" "what are the options" "potential problems" "alternatives" (or whatever) then it makes it more digestible.

If the options are numbered, it makes it easy to see that there is a finite number (I think that it can be overwhelming as a newbie to be confronted with a lot of info/options) and also helps someone who comes back to the guide after going off to read up on partitioning (or whatever they might need more background on) to easily return to an option they had read previously.

I wouldn't necessarily presume that they *want* to keep M$W, more a question of retaining a lifetimes' accumulation of info, contacts, data that simply cannot be usefully be transferred to another OS. It's that old Irish joke again about from whence one starts out....

This has been brought up a couple of times as a possibility, but I don't understand what the implications are. I want to install Puppy on a computer that has no functioning Windows OS. It's there, somewhere, but it won't boot up. What do I need to do differently to get Puppy to load up on an essentially blank HD?

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot vote in polls in this forumYou cannot attach files in this forumYou can download files in this forum