Installing Puppy Linux To A Dedicated Partition

A Puppy Linux is one (see the list on the website) from a set of Linux distributions built (by someone else usually) with a specified design and using the same specific set of tools. They can be installed into a (much) smaller space than most Linux distributions (that support GUI applications). The major feature that Puppy Linuxes have in common is that they are installed and booted in a compressed format. If you have a computer that current Windows is too much for then try a Puppy Linux.

This article is about FossaPup64 but much of the following can probably be used for any Puppy. A FossaPup64 Puppy and many other Puppies can fit in a 500 MB partition, but only for educational purposes. A practical Puppy that is for more than experimental purposes needs to be in a partition of at least 1 GB.

There are two ways to install a Puppy; Frugal or Full. Puppy developers are beginning to avoid supporting Full installs and Puppy enthusiasts use Full installs much less than Frugal installs so as a beginner use a Frugal install only. A Frugal install can do nearly everything an equivalent Full install can do.

This article assumes you have Secure Boot enabled in your UEFI BIOS and that you want to continue using it.

A Puppy's File System and Save File

When a Puppy boots, the operating system is expanded from the compressed file into main memory and a file system is created in memory (different from most operating systems). Any changes to files in any of a Puppy's files are only written to memory; to save them permanently to a drive, a save must be done.


First ensure that your partition is truly not used. It should be unformatted. Windows does create a couple of small partitions; one for recovery and one for EFI. There might be a fourth partition after the main partition that is unformatted and reserved for use when other sectors go bad, so it is best to not use it either. Please be careful not to format a partition you need. Be careful. If you are uncertain then do not do proceed with this.

From Puppy Linux download the ISO for Ubuntu Focal (FossaPup64 latest version). You can leave it in your Downloads folder or move it somewhere else.

When you are ready to create a Puppy the best way to do that is to Lick it alive. To install Lick, download the zip file for it and copy (uncompress) the files; there are no other installation requirements. Be sure to read the documentation, especially about Fast Startup.

Execute Lick. It will look like:

Provide the ISO file you downloaded. The ID and Name will then be filled in. Provide the drive letter of the partition you want the Puppy to live in. Be Careful! Be sure to provide the correct partition.

In the preceding image, the -4 suffix in the ID means it is the fourth system I have installed using Lick. There will not be a suffix for your first one.

If you are sure you have the correct partition then click Install. In a few seconds, your Puppy will be born.

Lick will create a GRUB boot file lickgrub.cfg in the system's boot partition; in other words, in the root of the C:. It will likely look as in lickgrub.cfg except with one or more menuentry sections for each device installed by Lick; something as in the following will be added.

# # start section fossapup64 - 9.5 - 4
menuentry 'fossapup64 9.5' {
    search--set = root--file / fossapup64 - 9.5 - 4 / vmlinuz
    linux / fossapup64 - 9.5 - 4 / vmlinuz pfix = fsck dofsck psubdir = fossapup64 - 9.5 - 4
    initrd / fossapup64 - 9.5 - 4 / initrd.gz
menuentry 'fossapup64 9.5 (no save file)' {
    search--set = root--file / fossapup64 - 9.5 - 4 / vmlinuz
    linux / fossapup64 - 9.5 - 4 / vmlinuz pfix = ram savefile = none psubdir = fossapup64 - 9.5 - 4
    initrd / fossapup64 - 9.5 - 4 / initrd.gz
# # end section fossapup64 - 9.5 - 4

The GRUB manual is available in a variety of formats; see GRUB.

Conserving Savefile Space

If the partition your Puppy is in is small then you need to use the save file for only customizations and settings. Applications need to be installed somewhere else. The use of the save file by the Puppy can be minimized. This can be done later but it needs to be done before the save file becomes full.

First make a backup of the lickgrub.cfg file. The file can be edited by Windows; Visual Studio Code works. Open the file and in the lickgrub.cfg file (see the sample above), for the relevant menu entry, in the linux command if there is a pmedia=atahd argument then change it to pmedia=ataflash otherwise add pmedia=ataflash to the linux command. In other words, change:

linux /fossapup64-9.5-4/vmlinuz pfix=fsck dofsck psubdir=fossapup64-9.5-4


linux /fossapup64-9.5-4/vmlinuz pfix=fsck dofsck psubdir=fossapup64-9.5-4 pmedia=ataflash


Restart your system. The procedure for selecting an operating system to boot varies by computer. In the UEFI BIOS you should see an entry for Lick. Boot that.

There is however a feature of Windows that makes it easier to get to the BIOS. When restarting Windows, hold down the Shift key while clicking Restart. That will take you to some special screens. The details of what to do from there varies but if you see Troubleshoot then click that. Somewhere there will be an option to go to the UEFI Firmware.

When booting, you are likely to get messages as in the following:

The system found unauthorized changes on the firmware, operating system or UEFI drivers.

Press [N] to run the next boot device,or enter directly to BIOS Setup if there
are no other boot devices installed.
Go to BIOS Setup > Advanced > Boot and change the current boot device into
other secured boot devices.

When you do, just press N to get to the GRUB boot menu. It is possible to eliminate the message by disabling Secure Boot but it is recommended that you don't do that and just know that that is the reason you get that message.

The GRUB boot menu will look something as in the following. This menu shows Windows as the first (default) and then two Puppy Linuxes. Each of the two can be booted with or without a save file.

The following is what your Puppy will look like.

The window in the middle is for a Quick Setup; it is shown only the first time. In the Left side of Quick Setup are settings for language and time zone. There is also a checkbox for using UTC for the system clock. UTC for the system clock is the default for most Linux distributions but that is incompatible with Windows. The checkbox is unchecked by default and for compatibility with Windows you want it to stay unchecked.

After booting your Puppy go to Menu>System>Puppy Event Manager and then click the Save Session tab and verify that the Save interval is 0 (zero); if not then set it to 0. Also verify that the Ask at shutdown checkbox is checked. Those settings will prevent automatic saves and allow you to determine when your system is saved.

To restart or shutdown your system click in the lower-left and select the power icon. You will see the following:

The first time you restart or shutdown your system your Puppy will request you do some additional setup. The first one will look like:

The second one will look like:

The third one will look like:

The fourth one will look like:

The fifth one will look like:

The final one will look like:

History of Puppys

Puppy Linuxes were originally created to run on a Windows computer from a CD. It would get all files from the CD without using any of the system's other drives. And that is what a Frugal install continues to do. Except for the USB drive the settings, customizations and new applications can be saved to a Save File. Save Files were designed since USB-Keys (Thumb drives) support a limited number of writes, so to limit the number of writes to them, Puppys use a Save File.

Similar Articles