In this calorie-burning, fat-avoiding, health-conscious world, our poor computer gets loaded with gigabytes of fatty operating systems. Try to cut short the fat and you’ll end up either with a feeble OS unfit for regular use, or with a fairly small, but difficult-to-move alternative. The ultimate solution of a portable, fat-free desktop is made by setting free the small, thin Puppy on your disk and letting it manage your system and serve you with all the needed desktop applications.
Puppy Linux is a minimalist distro that demands very little resources from users in order to unleash its power. It supports installation on any media, like CD, DVD, USB Flash drive, internal and external hard drives – you name it. And to run Puppy happily, the hardware requirements are Pentium 166MHz MMX Processor, and a 20x CD-ROM drive or a bootable USB drive, else boot floppy to boot from other devices – no hard disk is necessary!
Created by Barry Kauler, the Puppy was born on June 2003. Though it is small and thin, it stuns its users with its flexibility,usability and features. Puppy has its own personality, as it was made from scrap and has not been stripped down off any other OS. Being small, it loads itself completely onto the RAM and runs from there. This makes for very fast program access times – almost nothing. If Puppy cannot fit fully onto the RAM when booted off the CD or DVD, which might happen in computers with less than 128 MB of RAM, it loads in a swap partition (which you can create), or a swap file; else, it runs from media it was booted from (viz., a live CD). Puppy comes in different sizes depending on its versions and makes (official and unofficial). The official release stays below 100 MB. The latest version, Puppy 4.1 “Dingo”, released on October 6, 2008, is only 94.3 MB in size.
Puppy stands out from the pack of other distros with its unique multi-session live CD feature. You can save the sessions along with settings, documents and downloads in the very CD you booted from. Each new state is stored in separate sessions as directories. Sessions can also be saved in a USB drive or in a HDD with FAT or NTFS, where it gets stored as a single file with a Linux filesystem inside it. When booting, Puppy smartly searches all the accessible devices attached to the system, and automatically loads the latest session data and starts with the latest saved state.
The desktop experience gets better with the simplicity and usability of the default, light and fast Joe’s Windows Manager (JWM )and the fully-functional ROX file manager. Other window managers like Fvwm95, IceWM, Xfce, Fluxbox, Enlightenment, and also KDE, can be installed. GNOME is still to be ported. If you want to give Puppy a personal touch, themes are available online, and can be selected from the Puppy menu. Formerly, Puppy was based on GTK+1 and Tcl/Tk. Things have changed now – it supports all GTK+2 applications.
Starting with the documents section, a reduced edition of AbiWord takes care of formatted word editing, with Leafy and Geany managing plain texts. A PDFviewer (ePDFview), PDF converter (puppyPDF), and a Windows .chm help file reader are at your service. The need of a spreadsheet application is satisfied by the fully Microsoft-Excel-compatible Gnumeric. You will even find a personal finance application (HomeBank), Osmo personal organiser, personal wiki (DigiWiki), calculators, notes, address book, the Seymonkey Web page editor and more. And with CUPS pre-installed, your printers just await your configuring them.
As for graphics, Puppy gives you the fotox image viewer, as well as mtPaint and a light edition of the well-known Inkscape for necessary image editing needs. Apart from these, it has the digital camera manager GTKam and the Xsane scanner manager.
Now let us come to one of the most sensitive sections in Linux desktops – multimedia. Puppy has an in-built Pmusic audio player and Gxine multimedia player, which make it an excellent out-of-the-box multimedia player with lots of codecs support, including MP3, Flash and encrypted DVD playback. Ripping audio/video? It isn’t a problem at all with Pbcdripper, Pupdvdtool and ripper tools. Editing and burning ISO images are just a few clicks away with Burniso2cd and isomaster. Pburn lets you compile and burn files onto CD and DVD, and even onto BlueRay discs.
Coming to the Internet section, the SeaMonkey Web browser and Ayttm (which replaced Pidgin from 4.1) solves the browsing and chat application needs. The Axel download accelerator and the Pwget downloader are ready for the mass download addicts amongst us. Additionally, they also have the Pctorrent and Pcreatetorrent for torrent management. The gFTP ftp client, the Slypheed e-mail manager, and even an excellent VoIP application (Psip), along with Puppy’s own PPLOG Perl blog with built-in Hiawatha Web server, completes the Internet set.
One-click mounting and unmounting is driven by Pmount, and the excellent disk detection is thanks to the MUT utility. The Xarchiver compressor supports TAR,ACE, RAR, ZIP, 7ZIP, ARJ and many more popular formats. Among others are, back-up utilities, batch file renamers (Prename, gFnRename), a disk cataloguer (Gwhere), partition managers (Gparted, Pdisk), process managers (Pprocess), boot managers, terminal emulator (Rxvt),Xfproft virus checker, and a lot more to quench all your thirst. And don’t forget to benchmark your system with the Hardinfo tool and test your RAM with Memtest.
Some of the assorted tools for your networking needs are PPPoE and dial-up connectors, Samba shares, Puppy Firewall. It also includes Rdesktop, which lets Puppy be used as a thin client with Windows XP, 2000 NT and 2003.
And, of course, as in all distros, Puppy also has some games in-built. Currently, it has a number puzzle, jigsaw puzzle and a Rubic’s cube game. Obviously, more games are available on the Net. And would you believe me if I say that there are some more applications that you can discover that I have not included in the article?
So, what good is a Puppy if you can’t feed it. The developers might be diet freaks, but you are obviously allowed to make it fat by downloading applications available on the Internet using Puppy’s own PETget package management system. PETget can get you more than 500 official and hundreds of unofficial applications. The Puppy packages are called Dot Pups, and they has an extention “.pet“. You can download the .pup packages from http://dotpups.de/. This site contains Puppy 1,2,3 and 4 .pup packages, though you will find not much packages for Puppy 4.x.The best thing about Puppy is that it supports Debian and Slackware packages. With this support, Puppy’s application range grows by a gigantic amount of more than 20,000 packages of Debian and Slackware.
Puppy’s Squash filesystem support lets you download .sfs files of applications. You can download OpenOffice.org, JRE (Java Runtime Environment&), and developer .sfs files and also OpenOffice.org sfs. Check out http://distro.ibiblio.org/pub/linux/distributions/puppylinux/sfs_modules-4/ , also see http://puppylinux.ca/tpp/NOP/
You can load them directly at boot time, for use, or just download the .sfs file, keep it in the root of the filesystem where you have got puppy installed, and boot puppy, double click the .sfs files from puppy and then restart X server.
I am listing some popular sfs modules and some resource links below:
- OpenOffice.org sfs module + Java Runtime Edition (JRE) sfs module : http://puppylinux.ca/tpp/NOP/OpenOffice310_JRE_lzma_413.sfs. More in http://puppylinux.org/wikka/OpenOffice
- Developer sfs Module: http://puppylinux.ca/puppyfiles/sfs_modules-4/
- WINE pet Package : http://puppylinux.ca/members/T/486_pet/wine-1.1.13-i486.pet. Check http://puppylinux.org/wikka/Wine for a detailed instructions of installing and also making the Wine sfs modules, and also you can get Wine .pet files.
- Visit http://puppylinux.org/wikka/AdditionalPrograms for more additional programs and instructions.
- Visit http://puppylinux.ca For tons of application. Use the search feature of this site to find your packages.
- Visit http://www.puppylinux.com for detailed documentations and even more.
The Unique Convinience
Configuring and tweaking the system is like a breeze with “wizard wizard”, a very simple tool with a small window and some buttons that do not give you that awful feeling of, “Oh my god, how am I supposed to use this?” Keyboard, mouse, sound and graphics server, network, firewall, modem, CUPS, CD or DVD drives – which basically covers everything – can be configured with this simple interactive tool with just a few clicks. It really is the wizard’s wizard!
A great feature of Puppy is that you can roll out a customised distro with just a few clicks on the Puppy Remaster feature, which lets you create your own customised Puppy CD (or ISO image), with new packages, themes and all that you have downloaded. Thus you can quickly make your own Puppy release with applications of your choice like OpenOffice.org, Firefox, GIMP, and whatever you want.
The Puppy Universal Installer, which is in fact “universal”, offers you a variety of options to get Puppy installed in various types of media, graphically. The best thing I liked about Puppy is the language it uses on the dialogue boxes, set-up options and everywhere. Very simple and every day language that makes a newcomer comfortable. Each message describes in detail and with great clarity, what an option is going to do. And finally, unlike other Linux distros, it is a single-user system and you are always logged in as the root. Yet the community opinion is: this poses no security threat.
The download page http://www.puppylinux.org/downloads or the http://www.puppylinux.com/download/index.html lists all the previous releases along with the current Puppy release. You will notice some “puplet” releases as well. These are unofficial releases packed by Puppy users. Puplets are packed with specific themes, or are bundled with more applications. Like, check out the fatty “Dingo Plus” Puplet containing OpenOffice.org, Firefox and more applications. Get lots of more puplets from http://puppylinux.org/downloads/puplets
Anyway, we’ll use the official version here. Download the Puppy 4.1 ISO file. You need to burn it in a CD or CD-RW. Make sure your burner software supports multi-session burning. Select the image to burn from your burner menu and make sure you enable the multi-session option before burning it. This lets you save Puppy files in the live CD. Similarly, you can burn a DVD if you need more space. For more information, please check http://puppylinux.org/wiki/miscellaneous/howtos/livecddvd
Now that you have the media ready, boot your PC. You are greeted by a boot screen with a list of boot parameters. Press Enter to boot! It searches for any saved Puppy session files in the accessible disks and copies them. Then it prompts for your keyboard layout—select the proper one (generally QWERTY). Then with the X server configuration, you have two choices: either the Xorg or the Xvesa. Xorg has better support for new hardware, but might not be the ideal choice for older machines. On the other hand, Xvesa is simple to configure, has limited functionality (without hardware acceleration), but you can expect it to run problem-free under any hardware.
In my case, I first chose Xorg in a test machine with Intel Pentium D 2.8 GHz, 512 MB RAM and an ATI Radeon 200x integrated graphics, which all worked fine, except that the Gxine video output was corrupt. Changing the X Server to Xvesa from the wizard-wizard solved it and let me enjoy Rockey Balboa.
After you have done this, the desktop loads within two seconds and you are greeted with a friendly “Woof-Woof”. The panel has the Puppy menu button, CPU and RAM monitor, and a run command button. You can switch between two virtual desktops. The desktop contains a set of organised application icons. From here, you can play around the desktop, for your own satisfaction.
To save the session after you have finished working, simply shut down the system from the Puppy menu. You will get options to save all the changes with SAVE TO FILE, which saves the session file in any disk drives accessible, or the SAVE TO CD to save the session in a CD or DVD. When using SAVE TO FILE, name the file, and make sure you select the correct place and the size of the session file (select as needed) when prompted. It also offers an option to encrypt the files to be saved. You need to keep the media connected with the session file that you want to be loaded when booting Puppy later on. When booted from the USB drive, there is a save icon on the desktop, which lets you save the session on the USB drive at any time.
Puppy Linux offers installation on the USB drive without formatting it or altering it in any way, while keeping all the existing data in place. But still, when installing it in the USB drive, I recommend you back up all the data, to be ready for any worst case that might occur. Launch the Puppy Universal Installer from the Puppy Menu->Setup. You are presented with a variety of choices about where you want to install Puppy. Select the USB Flash drive option and keep following the simple instructions. If you don’t want to lose the existing USB data, then select “No” when asked whether you want to format the USB drive. If your system can boot from the USB, don’t create a boot floppy and continue with making the USB bootable.
Puppy HDD installation gives you two options: a Full installation that is a conventional Linux installation with a separate Linux partition(s) and a Linux filesystem, or the Frugal installation that lets you install Puppy in FAT or NTFS – even in the same partition with Windows, yet without any conflict. You need to manually install the bootloader later, though. You can get more information at:
- Wiki http://puppylinux.org/wiki
- Documentations: http://pupweb.org/wikka/PuppyLinuxMainPage
- Hard Disk Installation: http://www.puppylinux.org/?q=wiki/using-puppy-linux/hard-disk-drive-full-installation
- Hard Disk Installation: http://www.puppylinux.com/hard-puppy.htm
- Hard Disk Frugal Installation: http://puppylinux.org/main/How%20NOT%20to%20install%20Puppy.htm#FrugalInstall
- CD Installation: http://www.puppylinux.com/cd-puppy.htm
- USB Flash Installation: http://www.puppylinux.com/flash-puppy.htm
Roll Your Own Puppy
After you have tweaked the settings, installed packages and customised Puppy, you can make a customised Puppy ISO by launching the Puppy Menu->Setup->Remaster Puppy live CD program by following some simple instructions. It lets you check and make final alterations to the final image. It even asks if you want to pack the hardware customisations as well. A pre-hardware customised ISO might not work out-of-the-box on other hardware where you install this image; it’s best not to save the hardware customisations. Saving hardware customisation helps if you are only going to use the distro with the same or similar hardware set-up. Finally, you can either directly burn the customised image onto a CD or you might want to save it as an ISO file, which is saved in /inirtd/mnt/dev_save/custom-puppy-400.iso. You are now ready to distribute it!
When booting from the live cd the boot screen prints out some boot parameters which comes really handy in special cases. They are very much self describing. You can control the loading of Puppy into RAM, blacklist unwanted saved CD sessions, start command line only and more. To get information on boot parameters get into http://puppylinux.org/wikka/BootParams
- One thing you should be careful of is if the system suddenly shuts down while working with Puppy, then you loose all your work as they evaporates from RAM. So be careful about the power cuts and protect the restart button from being pressed.
- When a CD or DVD is full, it just needs a new media to be inserted when writing. You can install Puppy in the new media before saving the latest session to avoid carrying the old CD for booting.
- When you install and configure puppy in a media for a system it might not work properly in other place, as the hardware is configured for the first system only.
- The X Server and sound might fail to load, which happened when I configured puppy in a system in my system and gave the USB drive to my friend. Drop into commandline (see boot params) and execute “xorgwizard” to reconfigure the X server, then use wizard-wizard to configure other devices as needed.
In The End
The journey so far with Puppy has been a steady one. It’s easy to use, comes with simple, everyday language, and its flexibility encourages users from all age groups. Its ability to be installed in any media makes it ultra portable. The multi-session live CD feature offers a cheap portability solution. The utilities section also makes it a very good system rescue CD. Except for desktop use, it also has features to be run on server systems too. Puppy can stay in the same partition with Windows, making it the best way to make a Windows user try Linux. Most of all, it makes an old junk machine run again with its lost glory, while performing like a high-end computer.
- Official Site: www.puppylinux.com
- Community Site: www.puppylinux.org
- FAQ: http://puppylinux.org/?q=wiki/faq
- FAQ: http://www.puppylinux.com/faq.htm
- Wiki: puppylinux.org/wiki
- Manual: http://puppylinux.org/manual
- Forum: www.murga-linux.com/puppy
- Downloads: http://puppylinux.ca/ (user=puppy password=linux)
- Resources : http://qcjn.no-ip.org:81/pupstuff/pup_links.html
- Other Sites: http://www.puppylinux.com/other.htm
- Freenode IRC Channel: #puppylinux
- Thanks to “xrter”, Jacob one of the developers of Puppy Linux for the installation of .sfs files. Reach him in #puppulinux
First Publish Information : This article was first published in Linux For You magazine November 2008 issue under Creative Commons. Further editing are done to the published edition
Author : Arjun Pakrashi
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 Unported License.