Author(s): Nate Drake

It's small, zippy and eminently lovable: For 16 years the bounder that is Puppy Linux has stolen Linux users' hearts with its cutesy graphics, inhumanly fast load times and simple interface. The operating system (OS) was originally whelped by Barry Kauler in 2003 and has since been nurtured by a number of developers. Each new version of Puppy is based on the most recent Ubuntu Long Term Support (LTS) release. At the time of writing, this is Ubuntu 18.04 Bionic Beaver, hence the code name of version 8.0: BionicPup. This review focuses on BionicPup, which like all versions of Puppy Linux is designed to load directly into your machine's RAM from a Live CD or USB. This makes the OS perfect for quick and dirty data retrieval from a corrupted system, as well as offering an easy way to use friends' computers without interfering with their lives.

Puppy can also be installed onto a wide variety of systems. Its requirements are so light that it supports hardware considered obsolete by modern standards. For this review, we installed BionicPup in a virtual machine with 1GB RAM and an 8GB virtual hard disk.

Getting Started

If you've been bitten by the pup bug, visit the download page [1]. From here, you can download an ISO file of the most recent 32- or 64-bit version of Puppy Linux. True to its ultra-lightweight reputation, the current ISO weighs in at just 354MB. If you're using a more modern device with no DVD drive, we recommend using a third-party tool such as Etcher to create a bootable USB from the ISO file [2].

Power users can do this directly from the Linux command line using dd for example:

sudo dd if= bionicpup64-8.0-uefi.iso of=/dev/sdc

Make sure to substitute bionicpup64-8.0-uefi.iso and of=/dev/sdc for the name of your Puppy Linux ISO and the address of your USB device respectively.

The most popular variety of Puppy is based on Ubuntu, but there are also versions based on Slack and Debian. At the time of writing, there's no official version for ARM-based architectures, such as the Raspberry Pi. However, you can use the Woof-CE utility [3] to build a custom version CD of Puppy Linux if you wish. Once you've downloaded or created your install medium, insert it into your machine and power it on to boot into Puppy's Live desktop environment.

Unlike most distros, Puppy loads directly into your RAM. According to the Puppy Linux wiki [4], this is achieved through Puppy's unique boot process: First, the Linux kernel, vmlinuz , loads into your machine's virtual memory followed by image.gz , which loads into a fast ramdisk. This file is then decompressed into this ramdisk, turning the ramdisk into the very basic Puppy filesystem. The end result is a live desktop environment, which responds nearly instantly to your clicks and commands.

First Boot

Most variants of Puppy Linux use Openbox and JWM to create the desktop interface. Click the stylized Puppy button at the bottom left of the screen to launch the main menu. From here, you can change system settings, such as your network configuration. You can also launch apps: These are neatly categorized into sections such as Multimedia and Business.

If you don't feel like navigating the various program categories, you can also find a number of default apps on the desktop. Most of these are self-explanatory (e.g., Trash). If your machine connects to the Internet via WiFi, double-click Connect to launch the network setup wizard.

You can also manage your network settings by clicking the Interface icon at the bottom right of the screen. This is nestled amongst a number of other useful default programs such as a clipboard and storage managers. Windows automatically minimize to the taskbar at the bottom of the desktop.

If you're planning to install Puppy Linux, take some time to work through the Quick Setup guide (Figure 1). From here, you can adjust your country and language settings, as well as your default language and keyboard layout. If you need to change your graphics settings, such as altering your screen resolution, check the box marked Run Video Wizard. Visit the Network section to enable Puppy's firewall and change your hostname. Once you've worked through the Quick Setup options, Puppy Linux will also open a Welcome screen. If you haven't done so already, click Internet Connection to configure your network. The Setup section offers more advanced features than the Quick Setup guide you used previously. For instance, you can configure printer and sound settings.

Figure 1: Use Quick Setup to set your preferences for language, keyboard setup, graphics, and more.

If you need further guidance, click I need help!. This will launch the comprehensive help page (Figure 2) for your specific version of Puppy. This is written in HTML and located in /usr/share/doc/ .

Figure 2: When you click on the I need Help! button, Puppy's browser, Pale Moon, launches with the help page.

Default Puppy Apps

On first launch, Puppy offers a choice selection of preinstalled applications.

One of the programs bundled with BionicPup is Claws Mail. This GTK app originally started out as Sylpheed-Claws in 2001 and was used as a test bed for new features rolled out for the Sylpheed mail client. However, it became an entity in its own right by 2006 when both codesets were no longer synced together. Claws has many more features compared to its counterpart Sylpheed and is still just as lightweight and stable. In 2015, a major vulnerability was discovered in Claws Mail whereby plaintext versions of passwords were sent to IMAP servers, making them vulnerable to interception. If you are still worried about this, you can download another mail client, such as Thunderbird.

HexChat is another useful app. It's a free and open source (FOSS) program based on XChat. It has been translated into several languages and is actively developed. HexChat includes spell check, SASL Proxies, and DCC support among others. When you first open HexChat, you will be greeted with a Network List pop-up box. Simply fill in your details to start chatting.

BionicPup comes with its own browser: Pale Moon, which is based on Mozilla/Firefox. Users can install plugins such as Adblock Latitude (specially developed for Pale Moon), YouTube, Baidu, and eBay among others.