Revision [11893]

This is an old revision of UsingPuppy made by coolpup on 2011-01-07 07:02:09.

 

 (image: http://tinypic.com/2anwo6)

How to Use Puppy


Using Puppy from an optical disc drive
Using Puppy from an internal hard disk drive (read Appendices 1, 2, 3 and 4)
Using Puppy from an U.S.B. flash memory drive (or any other type of external drive) (read Appendix 1)
Puppy Linux 4.3.0 tutorial file

Appendix 1

Puppy essentially consists of either three or four compressed files:
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.

Appendix 2

When making an installation to an internal H.D.D. with an existing operating system:
If the Puppy files are to be appended, by making a frugal installation only of Puppy, then this would involve one of the following:
To replace the existing file system with Puppy's is not recommended unless one never intends to possibly update the B.I.O.S.. Replacing the existing file system involves performing either a full Puppy installation or a frugal Puppy installation.

Appendix 3

Upon starting, the computer needs to select one of its partitions from which to load an operating system. This requires specific boot code (Master Boot Code) to be located at a special location (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 a crucial issue because Puppy can use its own boot loader. 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:
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.

Appendix 4

When Puppy is to be installed to its own partition it may be formatted with the file system of choice. EXT4 is recommended. N.T.F.S. is needed for when using an external drive, e.g. U.F.D., that will possibly also be used for accessing Microsoft Windows partitions; it will be necessary to use the GRUBforDOS boot loader; compared to F.A.T., N.T.F.S. permits the use of symbolic links and file sizes greater than 4GB, and there is less/no defragmentation.

The formatting can be performed using a LiveDVD and going to Menu > System > GParted > Partition > Format to.

Appendix 5

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

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

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 folder /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.

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

For a frugal installation the file system is placed inside a single file, pup_xxx.sfs, which itself contains a compressed read-only ext2 file system into which the Linux "/" dir is placed, with its sub-directories inside it. 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 installs do is copy the pup_xxx.sfs file into ram if there is enough memory, causing applications to start slightly faster. If the computer does not have sufficient RAM, it will instead mount the pup_xxx.sfs file from the HDD.

In the case that a frugal install's pup_save.2fs file is on a flash-based 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 Win98 installation; the save file (although it itself contains an ext2 file system) may reside on a FAT32 or NTFS partition. Which is why a frugal install is also called a "co-exist" install. Not so with a full hard disk drive install: one cannot make a full installation on a FAT partition because it does not support Linux symbolic links.

Puppy can be booted off 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 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.
Valid XHTML :: Valid CSS: :: Powered by WikkaWiki