Puppy Linux on a computer without a hard drive (on a USB stick!)
Last updated on January 10, 2012, 19:28 by Sebastian Mihai
I recently got a netbook computer for free, with the catch being that it didn't come with a hard drive. Otherwise, it's an OK computer. The left click was pretty much ruined, so I removed the plastic cover, and am now pushing the button mechanism directly with my finger. The second free thing I obtained was a 2Gb cool green USB stick.

This was the first time I tried to set up a USB-based OS and it worked like a charm. I knew that given the coolness factor of the project, Linux developers would probably think of being able to install on an USB before Windows developers! I'm not saying Windows isn't cool, but Linux is THIS type of cool.

Did my research, and stumbled upon Puppy Linux. The author is completely obsessed with dogs, and the novelty of his naming convention (all tools have dog-related names) wore off pretty quickly. The Puppy distribution emphasizes ease of use over security and flexibility, making it perfect for my project. Here is roughly what I've done in order to end up with a computer which
- does not use a hard drive
- can access the Internet
- has a working ftp server (so things can be copied onto it easily)
- has a bunch of emulators so I can play games on it
- is extremely quiet (no hard drive to add to the internal temperature)

Step 1 - obtaining the OS

I used Puppy Linux codenamed Slacko 5.3 MAIN. If you wish to get it for yourself, look for a file named slacko-5.3-MAIN2.iso. They have multiple install types of each version, so make sure to go with a MAIN one. It's quite small in size, at 140Mb.

Next thing I did once I had the ISO was to burn it to a CD.

Step 2 - creating a USB stick-based install

The netbook didn't have a CD drive, so I used a second computer. I booted the Puppy CD, and the OS loaded without a hitch. Fortunately, it had the tools needed to create the bootable USB.

First, the USB has to be made bootable. For this, I used the tool called BootFlash:

Then, the OS had to be transferred onto the USB stick. The tool for this is called Puppy universal installer:

Once this was done, the CD could be discarded, as the USB stick contained everything needed to operate the computer!

Step 3 - configuring Puppy Linux

After booting from the USB, there are a few things to configure, in order to make it more pleasant:
- increase user file size (mine is comfortable at 768Mb). This file will contain everything you install, configure, or create, as far as the filesystem is concerned
- setup file sharing (via ftpd)

Try to install PET packages only, if you can find versions of them. They are extremely simple to install (click to install in Iceweasel browser).

That's about it. It was a fun project, which I've kept around to sometimes play older games. There's a nice emulator suite for Puppy, which is called Puppy Arcade. Here's a screenshot of Dosbox running Prince of Persia, alongside Gens running my Genesis video poker game Genpoker.

If you use the materials on this page, or any other page on this web site, you do so at your own risk. They are provided "as is". No warranty is provided or implied. I neither guarantee that the materials will work, nor that they will not be harmful in any way.

One of the most interesting bugs I ever fixed

Example of indexing and searching in Lucene.Net using C#

Atari Lynx - installing a power connector

Blood Bros arcade JAMMA PCB repair log (sound problems)

Generating DC (direct current) from a plasma ball (wireless charging)

Listening to an electromagnetic field

Tesla coil - visualizing its electromagnetic field

.Net development - C# from C#

The naming convention of the C standards is Y2K-susceptible

Missing stack trace entries in Release mode assemblies in .Net 4.0 (C#)

Public constants across assemblies and default parameter values in C#

C# lambda operator

Simple two-column, three-panel web site template

An easy to use random number generator

Puppy Linux on a computer without a hard drive (on a USB stick!)

(My) Useful settings for fresh Windows installations on new computers

How to use multiple versions of Firefox on the same computer

How indexes work

Trivialization of history through technology

Entropy in code

Basic Linux tricks

MSSQL tips for production databases

Keep your computer clean with VMware