Installing Puppy Linux to a Dedicated Partition

Click here to change the theme.

Puppy Linux (also see Blog Forum: PuppyLinux) is a set of Linux distributions that can be installed into a much smaller space than most Linux distributions (that support GUI applications). Every Puppy Linux distribution has been created using a common set of features and using a specified set of tools to build them. The major feature is that they are installed and booted in a compressed format. 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.

There are many distributions that are Puppy distributions; see the list in the website. 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 can be used for more than experimentation needs to be in a partition of at least 1 GB. Read in the following about how the Save File works.

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. A Puppy file system is different from most operating system's file system. A Linux file system has many sub-directories of the top ("/") directory; typical sub-directories include etc, home, mnt, root, usr and var. The /home directory is similar to C:\Users in Windows. Any changes to files in any of a Puppy's files however 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. Please be careful not to format a partition you need. Be careful. If you are uncertain then do not do this. The following is from Windows Disk Management and shows my SSD with a small fourth partition.

From Puppy Linux download the ISO for FossaPup64. 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. Download the zip file for Lick 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

[To do: explain save files more here]

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 gets filled up.

First make a backup of the lickgrub.cfg file. The file can probably be edited by Windows; Visual Studio Code works. Open the file and in the lickgrub.cfg file (see the sample above), for the relevant menuentry, 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 opearting 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. To eliminate the problem, in your UEFI BIOS for Secure Boot change the OS Type from Windows UEFI to Other OS. You can change the OS Type back when you do boot direct to Windows. Or don't change the OS Type 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 timezone. 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 ???. 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 was 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 a USB drive the settings, customizations and new applications can be saved to a Save File. Save Files were desinged 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.

Hosted by