![]() |
hard-Puppy | Page updated May 4, 2008 |
| I installed PUPPY to my hard drive 30 days ago . It has run flawlessly without 1 single instance of error or lock up. I abandoned all versions of winblows some time ago and have tried near every distro of linux @ distrowatch over the past year. Some have been nice but slow even on my pentium3/256mem. Where linux is usually a titanic of an O/S and slow going PUPPY works at lightning speed and has everything i need for day to day use and then some. * |
As Puppy has evolved, installation to hard drive has become easier and easier. I wrote a program, called the Puppy Universal Installer,
that installs Puppy to many different media, including hard drive. In
fact, it allows very specific installations, to USB, SATA or IDE hard
drives -- even to a CF (Compact Flash) card plugged into a IDE adaptor
("IDE" is the standard traditional type of internal hard drive
interface, so the CF-adaptor adapts the CF card to the IDE ribbon
cable). The Universal Installer does not need lengthy explanations --
just use it and follow the step-by-step instructions.
You need to have a running Puppy to use the Universal Installer, so
it is required to boot up the live-CD. When Puppy is running, look in
the "Setup" menu and you will find an entry "Puppy Universal Installer".
Go to the Puppy download page to download the Puppy live-CD ISO file.
Is there anything you need to know before installing to hard drive?
Well, you should consider the types of partitions in your hard drive.
Also, the Universal Installer supports two types of installation to
hard
drive:
| Frugal |
The files vmlinuz, initrd.gz, pup_xxx.sfs
and zdrv_xxx.sfs are copied to a partition.
This partition may already have something installed on it and that will
not be disturbed. This can be any type of partition, MSDOS, Windows
(FAT, NTFS) or Linux (EXT2, EXT3 or REISERFS). For most people this is
the recommended option. |
| Full |
A full installation, taking over the entire partition. This is the normal traditional Linux hd installation, and requires the partition to have a Linux filesystem (EXT2, EXT3 or REISERFS). |
The Universal Installer will give you more advice about these
options as you use it.
So, in a nutshell, you download the Puppy ISO file (live-CD),
which is named something like "puppy-4.00-seamonkey.iso",
burn it to a CD, then reboot the computer. You should then have a
running Puppy, and you just go to the "Setup" menu and you will find
"Puppy Universal Installer".
Some people like to do a frugal install of Puppy manually, and
this is quite simple also. You choose what partition, then copy the
files 'vmlinuz', 'initrd.gz', 'pup_xxx.sfs' and 'zdrv_xxx.sfs' from the
CD to the partition. Normally you would place the files at '/' in the
hard drive partition, but for versions after 2.16 we have support
for installing into a subdirectory.
Note: if you do this from Windows, you may see the files on the CD are
upper-case characters, so after copying them to the hard drive
partition please rename them to lower-case letters.
Note, the manual copying of files to the hard drive is also
how you can do a version upgrade. Very simple, just replace the old
files with the new ones.
If you do a manual frugal install, you will then have to think how to get Puppy to boot. Some notes on this follow...
WakePup to boot from floppy
Most PCs support booting from a floppy drive. If not already
configured, it is a matter of invoking the BIOS setup when the PC first
powers-up. Most often this is done by pressing the DEL key, but some
PCs require a function key to be pressed, such as F2. Then, what is
called the "boot order" can be setup, and you would typically set CD
drive first then hard drive, or you can include a USB drive or floppy
drive in the boot-check sequence.
Puppy has something special, called WakePup,
developed by Puppy enthusiast pakt (forum name) -- look in the "Setup" menu and
you will see an entry "WakePup create boot floppy". This will create a
floppy disk that your PC can boot from. The WakePup floppy disk scans
the PC and finds Puppy on a USB drive, hard drive, or CD/DVD drive.
Note however, as it is a DOS-based system WakePup can only recognise ISO9660 and FAT filesystems. CDs use the ISO9660 filesystem for holding files, so that is okay. USB pen drives are usually formatted with FAT16 filesystem, so that is also okay. MSDOS and Windows 95/98 installations are in hard drive partitions with FAT filesystems, so again okay.
WakePup
will recognise Puppy installed in a NTFS (Windows XP) hard drive
partition, but this is currently experimental. WakePup will not
recognise Puppy in a Linux partition.
Configuring GRUB or LILO
This is a good link for learning all about GRUB:
http://www.troubleshooters.com/linux/grub/grub.htm -- "GRUB from the ground up"
Pizzasgood has contributed this:
http://www.murga-linux.com/puppy/viewtopic.php?t=9965 -- "Using LILO to boot Puppy"
Here are some notes on the forum about configuring GRUB for Puppy:
http://www.murga-linux.com/puppy/viewtopic.php?t=1598&postdays=0&postorder=asc&start=48
The Universal Installer uses GRUB, and this is generally
superior to LILO (personal opinion!). If you do a manual frugal install
of Puppy to a hard drive partition, it is quite easy to add another menu
entry for GRUB, if you already have GRUB installed. GRUB would be
installed to one of the partitions on your hard drive, normally in
directory /boot. Most likely in directory /boot/grub you will find a
file named 'menu.lst' -- open that with a text editor and add the new
entry.
Say that you have done a frugal install to partition 'hda6'
and you have the Puppy files in the '/' top directory of the partition.
Then an extra entry in menu.lst like this should do it:
title Puppy Linux 4.00 frugal
rootnoverify (hd0,5)
kernel (hd0,5)/vmlinuz root=/dev/ram0 pmedia=idehd
initrd (hd0,5)/initrd.gz
Or even just this:
title Puppy Linux 4.00 frugal
rootnoverify (hd0,5)
kernel /vmlinuz root=/dev/ram0 pmedia=idehd initrd /initrd.gz
Note1, please leave the 'root=/dev/ram0' out if booting Puppy version 3.00 or later. That is, remove that text entirely.
Note2, the 'pmedia' parameter is a
helpful hint that assists Puppy to determine the type of boot media and
to configure everything correctly to run from that media. This
parameter an be any one of these:
Kernel with /proc/ide...Puppy4 introduces a build with the 2.6.25 kernel and the new libata PATA system for handling IDE drives. You can tell this when you run Puppy as the /proc/ide directory will be missing.
usbflash usbhd usbcd ideflash idehd idecd idezip satahd satacd scsihd scsicd cd
OR, kernel without /proc/ide (libata PATA)...
usbflash usbhd usbcd ataflash atahd atacd atazip scsihd scsicd cd
Note 1: Puppy 4.00 ships in two flavours, a 'standard' build with the 2.6.21.7 kernel (same as for Puppy 3.01) and another build with the 2.6.25 kernel.
Note 2: even if you are using the new 2.6.25.x kernel, the older naming for 'pmedia' should still be ok (Puppy will internally do a conversion).
Note, if you leave off the 'pmedia' parameter, Puppy will do a best-guess and will probably guess correctly. Extra note: also, if booting from live-CD/DVD, 'pmedia=cd' is sufficient, as Puppy is able to work out whether it is a IDE or USB CD/DVD drive (well, SATA CD drives are now coming onto the market, and we will support those too).
If you install the files into a sub-directory, say 'puppy400', you will need something like this:
title Puppy Linux 4.00 frugalNote that extra parameter, 'psubdir=puppy400'. Puppy may work without that, but it is a guide that helps to decide where to look for the Puppy files.
rootnoverify (hd0,5)
kernel /puppy400/vmlinuz pmedia=idehd psubdir=puppy400
initrd /puppy400/initrd.gz
If you have done a full-install to say hda6, then you will need something like this:
title Puppy Linux full-install (on /dev/hda6)
root (hd0,5)
kernel /boot/vmlinuz root=/dev/hda6 ro vga=normal
C/C++ compiling
Puppy has a very simple system for converting into a complete
compiler environment, in which you can run the usual "configure",
"make" and "make install" on a downloaded source package. At least,
it's very simple in the case of running Puppy from live-CD: see web
page Puppy on a CD.
All of the tools required for compiling are in one single file, named devx_xxx.sfs, where the "xxx" is the Puppy version number -- for example, Puppy version 4.00 is "400".
If you do a frugal install, it is also very easy to use the
SFS files, exactly as for a live-CD. Once you have created a "pup_save"
file (a file to save your personal data, which you will do on the first
shutdown), then you will find directory '/mnt/home' pointing to the
mounted partition where the "pup_save" file (normally named
'pup_save.2fs') is located. You just download 'devx_xxx.sfs' or any
other SFS file to /mnt/home, run the "SFS Boot Manager" to choose what
SFS files you want to be loaded at bootup, then reboot.
Note, the SFS Boot Manager is in the "System" menu.
Currently, installing the "devx" file in a Type 2 (full)
hard drive installation is more complicated, and you can't undo it. It
involves some steps....
2. Click on the devx_xxx.sfs in a ROX-Filer window to mount it.Note, the '--remove-destination' option is essential. If you only use '-f' to force overwrite, it will follow (dereference) a symlink, that can cause unexpected overwrites.
3. Open a terminal in the mounted directory.
6. # cp -a --remove-destination ./* /mnt/hda2/
7. # sync
8. Close the terminal.
9. Click on the devx_xxx.sfs file to unmount it
(c) Copyright 2006,2007,2008 Barry Kauler www.puppylinux.com




