I must confess that I have a new love, a fling if you will. That love is Puppy Linux. Puppy Linux how do I love thee? Let me count the ways.

1. Small

2. Graphical

3. Fully functional

4. I can say “onna stick” every time I boot it up.

5. Easy to use.

I can plug my 512 MB USB stick into my IBM M52 and be operating in a Linux environment in less than a minute and a half, all without touching the hard drive. Here’s my rough and tumble guide to getting Puppy installed on a USB drive (should be a 256 MB drive or larger). Read on past the jump for how to do it.

First download the Puppy Linux ISO.

  • Insert CD and reboot machine.
  • Allow to boot from CD.
  • Select the US qwerty keyboard layout.
  • Chose Xorg for display.
  • stayed with the 1024×768x16 resolution that was the default.
  • Tested X.
  • Finished with the X setup.
  • Clicked Done.
  • Puppy started up!
  • Inserted my USB drive.
  • Click the ‘drives’ icon.
  • Clicked the ‘mount’ button next to my 512 MB USB drive.
  • Menu -> Setup -> Puppy Universal Installer.
  • Chose USB Flash Drive.
  • Selected it from the list of drives to install too.
  • Clicked “Install Puppy to sdb1” (which is my USB drive).
  • Puppy asked where to get the necessary files. Clicked “CD” as I had the live CD in the drive.
  • Clicked OK.
  • Chose bootstrap option (2nd one from top) to make my USB drive bootable.
  • Chose Default for next option to wipe/reinstall/leave usb drive alone.
  • Pressed Enter on the Absolutely Final Sanity Check screen.
  • Chose Reboot.
  • Chose Save to CD or Exit.
  • Chose No Save.
  • Restarted the computer and hit the F12 key (on IBMs this will let you select the boot device, it may be different on your machine).
  • Chose USB Key.
  • Went through the above steps again.
  • Clicked on the Connect icon.
  • Chose connect by wired ethernet interface (that’s what I had).
  • Loaded the default driver (load driver button).
  • Selected the Default and clicked OK.
  • Clicked okay on notification that the driver had successfully been installed.
  • Saved the settings by clicking the “Save” button.
  • Clicked on Eth0 to set it up.
  • Chose Auto DHCP to get my IP.
  • That worked, saved my settings.
  • Surfed!

Some other things I did –

Click on the install icon to add new packages. Uses wget to grab packages from online. I installed firefox 1.5, Gimp and nmap.

Used DotPup packages to install user created content.

Pup Packages

When I rebooted, I chose to save to pup_save.3fs with a 256MB size limit. This is the file where my changes and choices were saved so next time I boot with my USB drive, I get my customized Puppy install.

It’s helpful to be able to mount various partitions.


Especially when you want to poke around in an NTFS partition.


All in all I’ve found this distro to be a great tool. It’s fast, reliable and fun! Hopefully these ArsGeek instructions will get you up and running so you can enjoy it as well.