Linux Goodies

In Pursuit Of The Perfect O/S



How To Install Puppy Linux To A USB Flash Disk

Putting Puppy Linux Onto A USB Flash Disk

Buy Puppy Linux on USB

If you've used Puppy Linux long enough to find that you'd like to have the ultra portable configuration of both operating system and data on a single USB flash drive, read on to see how you can accomplish that.

To install Puppy Linux to a USB flash drive, you must have a flash drive of at least 256MB of free space. The USB install can fit a Frugal Install of Puppy in that amount of space with a bit left over. My own install of Puppy Linux 5.25 to a 256MB flash drive actually left 41% of the disc free.

Start The Installation By Clicking Install

Puppy Flash Drive Icon

To get started, plug in your flash drive. When you do, you should see a flash drive icon pop up on the desktop near the lower left corner. Note that there's a label under the icon, which indicates the device name of the disc. Mine happened to be labeled: sdb1. Utilities, like the installer, that work with unmounted drives refer to the drive labels with a /dev pre-attached, like /dev/sdb1. Utilities that work with mounted drives (in Puppy) usually work with the label pre-fixed with a /mnt label, like /mnt/sdb1.

If you click on the flash disc icon, the flash disc will be mounted and the ROX file management utility will open a window showing what's on the flash. If you have anything on the flash disc that you want to backup, you can click on one of the other disc icons which will bring up a ROX on that disc, then simply drag the file icons from the flash ROX to the other ROX. This will backup your files. If there's at least 256MB of empty space on the drive, you can probably install Puppy Linux without affecting the other files.

Puppy Install Icon

Next, click on the Install icon near the top of the desktop, and select the Universal Installer. While there is a USB drive installer option in addition to the Universal Installer option, it's not for flash drives, so select the Universal Installer to accomplish a flash disc install.

On the next pop-up window, select the USB Flash Drive option. You'll be shown a list of the currently available flash drives, just select the one for your installation. Another window will pop up confirming that you wish to install Puppy Linux to the selected drive. Unless you've changed your mind, you can click on the install button to continue with the process.

The next pop-up window tells you the kind of format that is on the selected USB flash drive, tells the available space on the drive, and lets you know there's a few more windows to go. Flash discs normally come with a vfat16 format. That will work for a frugal install, so just click OK.

The utility will then pop up a window that asks you where the Puppy install files are located. If you're operating Puppy from your Puppy CD boot, select CD. If you're operating from a hard disc frugal install, select DIRECTORY and through the presented menu system find the directory containing the frugal install. If you have a Puppy frugal install, it will be in a directory on the root partition of the disc with the frugal install, which will be at the mount point /mnt/home.When you locate the frugal install directory, simply click on one of the files with a sfs file extension, which will tell the utility where to find the files.

Once the install finds the files it needs, it will bring up a window that gives you the chance to write one of several optional Master Boot Record files to the flash disc's MBR (master boot record). You probably want to start by selecting default, which leaves the current MBR unchanged.

After making the MBR file selection (probably default), you'll next see a window that gives some information that reiterates your choice to install Puppy Linux to your flash drive with one last chance to abort. The window also lists the files that will be copied to your flash drive. At this point you are still offered the option to abort or continue.

The next window asks if you wish to delete all the current files on your USB flash drive. If you do not wish to delete the current files, simply push enter.

If you do wish to delete all the current files on the flash drive, push some character then enter.

The next pop-up window asks if you want to have the boot arguments specify a boot entirely to RAM (the default). You can simply continue here, because even if your computer doesn't have enough RAM for that to work, Puppy will figure it out when it boots from the flash. After this option selection, the Puppy files will be copied to your flash disc.

It's Time To Try Your USB Install

That completes your USB Frugal install of Puppy Linux. The next step is to reboot your computer, selecting your computer's option for booting from a USB drive.

If you have a successful boot from your USB flash drive, you'll notice a couple of things. One, the boot process was rather fast. Two, the flash disc, after boot, is not mounted. You will be operating entirely from a memory based Puppy -- lightening fast.

What If Your USB Flash Doesn't Boot?

If your luck is the same as mine, you may end up with a USB install that doesn't boot. I was able to fairly easily resolve this issue by re-formatting my flash disc to Linux format and at the MBR stage, letting the install utility copy one of the MBR files to the flash disc MBR record. In my case the mbr.bin MBR file made my disc bootable. I'll describe the steps to try in case you also end up with a USB flash that won't boot.

To begin, boot from your Puppy CD, then insert the USB flash disc. Backup anything other than your failed Puppy install, since reformatting the USB disc will destroy everything on it. When you are done backing up files from your flash disc, be sure to right click on the USB icon and select unmount.

Next, go to the Puppy Menu system and select: System and then the GParted partition manager.

This will bring up a window that lists the available discs attached to your system. Select the USB flash disc. This will bring up the partition manager utility ready to reformat your USB flash. Right click on the line showing your current USB disc partition, and select delete. Right click again on the line, which should now show unallocated to create a new partition. The window that pops up probably defaults to an ext2 type partition. This will work fine, but I usually change that to an ext3 type. The ext3 format recovers faster from a disc check. Now just click Add.

GParted queues up formatting operations and doesn't perform them immediately. So you need to click the Apply icon on the GParted toolbar. This will put an ext3 partition on your flash drive.

Now right click on your partition line again and select Manage Flags. Select the boot flag and click close. Now you can exit GParted and begin again with the Install icon, as you now have a Linux ext3 formatted flash disc with the boot flag set.

Step through the install process again, and this time when you get to the MBR options, try selecting the mbr.bin Master Boot Record option. This will install the mbr.bin file to the flash disc MBR, and the remainder of the install process will re-install Puppy on your Linux formatted flash drive as it did on your previous install.

If you find that your Linux format flash disc install still doesn't boot, you probably need to try a different file for your MBR record. To do that without doing the entire install operation again, boot with the CD, plug in the flash disc (but don't mount) and open a terminal window (click on the terminal icon near the top of the desktop). Change directory to the /usr/lib/syslinux directory (cd /usr/lib/syslinux). Issue an ls command. There you'll see a listing of the mbr file options. You should see file names like: gptmbr.bin and isolinux.bin, and a half-dozen or so others. If you see them, you're in the right place.

To install one, like the mbr.bin file, use the dd command, like this:

dd if=mbr.bin of=/dev/sdb1

where /dev/sdb1 is replaced with the device label for your flash disc.

After The USB Install ...

So now you've booted your Puppy Linux flash disc and found that you really like the system. You appreciate the compact design that can boot entirely into memory and run like gang busters. You see that rather than a gutted distribution, Puppy Linux is a carefully constructed, full featured version of Linux. You want to move to the next step. A good next step is to:

Add Your Save File To The Flash

If your flash drive has 512MB or more of unused space, your next step might be to select to create a save file on the USB drive when you exit Puppy from your flash drive boot. If you do this, on your next boot from the flash drive you'll notice that the flash drive remains mounted in order to provide support for the save file. All of your work will be automatically saved to the save file, and likewise automatically available when you next boot from your flash disc.

So now you have it, a shirt-pocket operating system. One small flash disc that holds your complete operating system and many useful utilities, plus your data. Boot it up in any system that has a flash boot option, and you're on your way.

Should your run into a computer that doesn't have a flash boot option, you can still plug in the flash drive, then boot from the CD. Puppy will find your save file on the USB, and you'll still be in business.