site  news  contact

Easy frugal installation

January 19, 2021 — BarryK

Original document: March 13, 2019
Updated: November 24, 2020
Updated: January 19, 2021 

EasyOS is downloaded as an image file for a USB-stick, that you can boot on your PC. This will get you up and running with EasyOS, however, you might then want to install Easy to the hard drive in the computer. That is what this page is about.

However, a qualification: This page focuses on the installation requirements of older computers, with traditional BIOS, not the "new fangled" PCs with UEFI-firmware (which is, technically, still a "BIOS", but we tend to refer to the older one as BIOS and the newer as UEFI). Most PCs manufactured from 2012 onward have UEFI-firmware.

Another qualification: This page is written for Easy 1.0.12 or later. There might be differences in the procedure with earlier versions.

If you have a PC with UEFI-firmware, installation instructions are here:

And here:

Yet another qualification: you can do an installation of Easy from any Linux distro, Ubuntu, Slackware, whatever. However, it is simpler if you first bootup Easy (USB-stick or live-CD). This page does mention how to do it while running another Linux, but the instructions mostly expect you to be running Easy.

EasyOS is no longer provided as a live-CD, however, if you are in the unfortunate situation of having an old PC that will not boot from USB, all is not lost. If you can get any Linux distribution running, preferably one of the Puppy variety, you can still do an installation of Easy to hard drive.

Easy live-CD:
What I do recommend is that you download the last EasyOS live-CD, which was version 1.3. You won't actually be installing 1.3, as Easy has moved on, however, it will be much easier to follow the instructions on this page if you are running EasyOS. Download the 1.3 live-CD from here:

EDIT Jan. 19, 2021: There is also the last live-CD in the Buster series: 

Take your pick! Note: the Pyro-series is built with packages compiled from source, the Buster-series is built with Debian 10.x DEBs. It really doesn't matter which one you use, except the Pyro live-CD is smaller so slightly easier to download.

Right, let's go...

Get started with Easy

The first thing to do is bootup your computer with EasyOS. It is pretty straightforward, download the image file, write it to a USB-stick, then set the BIOS to boot from it. If you need more explanation, here is a tutorial:

In the case of the live-CD, this is the second choice, as it is somewhat limited. It boots up running in RAM only, and sessions cannot be saved.

After getting up-and-running with Easy from USB-stick, you might be quite satisfied to leave it at that. There is no compelling reason that you should install to the computer hard drive, except perhaps you don't want to have a USB-drive sticking out of your computer.

The status quo now, is you have booted your computer with Easy, or failing that some other Linux (preferably Puppy!). The thing next is to get the EasyOS files onto the hard drive. If not running the latest version of Easy, then you will have to download the the Easy image file, named easy-<version>-amd64.img.gz, from here:

EDIT Jan. 19, 2021:
The Pyro series came to an end at December 25, 2019, superseded by the Buster-series. Please download the latest from here: 

If running the latest Easy, then you will already have the files that are to be installed.

Let's do it, but firstly, explaining the concept of "frugal"...

Frugal versus full install

The difference needs to be explained. EasyOS only does frugal installation to hard drive. Most Linux distributions do a full installation.

A full installation is where Linux occupies an entire partition, and in that partition you will see the folders /bin, /sbin, /opt, /etc/, /sys, /proc, /tmp, /dev, /usr, /run, /lib, and more.

A frugal installation only occupies one folder in a partition, and the rest of the partition can be used for anything else. Other Linux distributions, for example.

Easy does have one particular requirement though, the partition must have a Linux filesystem, preferably ext4. Microsoft DOS and Windows occupy partitions with vfat or ntfs filesystems.

Thus, to install Easy, there has to be a partition with a Linux filesystem, and if you have a Windows PC, then you will have to create such a partition. How to do this is not explained in this page.

If you have previously installed Linux on the computer, then you will have such a partition, and you should be good-to-go -- as Easy can co-exist with whatever is already on that partition.

If you do need to create a partition with Linux filesystem, there is documentation on the Internet, for example:

The case study on this page is to perform a frugal installation to a HP Compaq Presario, where the original Windows has been removed, and two ext4 partitions created. The author does not need Windows!

Frugal install how-to

It really is easy. The case study, as mentioned above, is a Compaq Presario. This has a 500GB hard drive, and GParted (in the Filesystem menu) was used to create two partitions. In this photo, the Author has booted from a USB-stick (sdb), and the first partition of the internal hard drive (sda1) is 48.4GB:


It was decided to do the frugal installation in sda1, and an appropriate choice of folders was made. The naming, and depth, of these folders is entirely up to you -- you could, for example, install to " /frugal/easy" -- best not to have a specific version, such as "frugal/easy-1.0.12", as the installation will likely have future version upgrades.

This is the author's choice, "easy":


...the frugal install process is simply to copy those three files, easy.sfs, initrd and vmlinuz. That's it, done. If running the latest Easy, you will find those files in the boot-partition of the USB-stick. Or, if you downloaded the latest easy-*.img.gz, just click on it to open it up.

Well, not quite done. File initrd has a file inside it, named BOOT_SPECS, that needs to be fixed for the current location. To fix it, is very simple...


All that you have to do is click on initrd, and follow the prompts...


...despite the warning, click "Yes"...


...looks good, so click "Yes" again...


The folder "easy", as already explained, is an arbitrary choice. Notice the "/" on the end in the above snapshot -- it doesn't matter if you edit BOOT_SPECS manually and left it off,

If you are curious, you can confirm the UUID (Unique Universal Identifier) of sda1 by opening a terminal and running blkid:

# blkid /dev/sda1
/dev/sda1: LABEL="bk1" UUID="3f8f077d-7a7d-4e7a-9cb5-a8b94e1f1c87" TYPE="ext4"

Easy allows the boot-partition and the working-partition to be different, but in this case study they are the same partition.

This simple fixing of the initrd just by clicking on it, also applies to version upgrades...

Easy version upgrading:
In the future, there is a new version of Easy, and you want to update your installation. Download the latest
*.img.gz, open it, drag the new files vmlinuz, initrd and easy.sfs, just as described above, then click on initrd -- and the BOOT_SPECS file will be automatically fixed.
That's it, you have upgraded, nothing else to do. This makes upgrading extremely easy. If you want to read more about upgrading, see here:

Oh dear, I am not running Easy:
You do see why it is good to be running Easy, to be able to just click on initrd and open it up, edit the contents, then click to close up. Other distros cannot do this, and you will have to resort to many more manual steps, see bottom of this page. Do-able, just tedious.

EDIT Jan. 19, 2021:
Just an extra note about updating. As the above link explains, updating got a whole lot easier mid-2020. You no longer have to go through that process of copying the three files then click on
initrd to edit BOOT_SPECS. Now, in your running EasyOS, you just click on "update" on the desktop, and it is all done automatically. Screen snapshot:


We now have a frugal installation, ready to be booted. One important detail though, a boot manager...

Grub4Dos boot manager

A boot manager is required for booting multiple operating systems on a PC. The type of boot manager differs depending on whether it is a BIOS or UEFI computer.

In the case of UEFI, there are other tutorials:

And here:

For a BIOS computer, EasyOS (and Puppy Linux) has Grub4Dos, which has in it an install script named 'grub4dosconfig' originally created for Puppy Linux by Puppy Forum member 'shinobar' and still maintained by him. So, using Grub4Dos...

Of course, this is assuming that you are certain that there is not already a boot manager installed. if Windows is installed on the PC, it does have its own boot manager, but it cannot multiboot Linux operating systems. You can install Grub4Dos, and the Windows installation should still work, it will be one of the menu entries.

"Touch wood' -- the author cannot guarantee that your Windows installation won't get stuffed up, and you might want to back it up first. On the otherhand, plenty of people have successfully used Grub4Dos.

Grub4Dos is in the EasyOS menu...


In this case study, there is no Windows to worry about, and Grub4Dos finds only one installation:


It is just a matter of clicking "OK" at each window...


...ignore that "FatDog" entry -- that is a false-hit, as Grug4Dos thinks that the initrd file must mean that FatDog Linux is installed. And again, a final confirmation...


Now, looking at the sda1 partition, we see the Grub4Dos installed files...


File 'menu.lst' can be opened in a text editor. You can modify the title, also it is recommended to append "vga=792" so that early bootup is in graphical-mode...

title EasyOS frugal install (sda1/easy)
find --set-root uuid () 3f8f077d-7a7d-4e7a-9cb5-a8b94e1f1c87
kernel /easy/vmlinuz rw vga=792
initrd /easy/initrd

Early-bootup graphical mode means that the Linux framebuffer is used, instead of the default text-mode. Graphical-mode gives you a nice boot logo, also allows X GUI apps for locale/keyboard-layout and password-entry.

Don't worry if you forget or don't want graphics-mode, bootup will happen OK in text-mode.

If you want to, you can create alternatives in 'menu.lst', such as this to not start X:

title   EasyOS commandline, no X
find --set-root uuid () 3f8f077d-7a7d-4e7a-9cb5-a8b94e1f1c87
kernel /easy/vmlinuz rw vga=792 qfix=nox
initrd /easy/initrd

Other possible values for "qfix" are:

bak  Rollback to last saved session
new Rollback to pristine first-bootup
fsck Filesystem check of working-partition

EDIT Jan. 19, 2021:
You no longer need to append "qfix=" as shown above, except for an emergency recovery, as these boot options can now be selected at the "Shutdown" menu:


First frugal bootup

The big moment has arrived. Reboot, and there will be a boot menu:


And a desktop!...


...that's it, you are off and running!

The "second half" of this web-page is notes for manual installation steps if you are not running EasyOS, instead performing a frugal install of Easy while running some other distro...

Manual steps

With Easy, opening up the downloaded USB-stick image file, to extract the 'vmlinuz', 'easy.sfs' and 'initrd' files, is very easy -- just click on it. However, with other Linux distros, it may be more tedious.

For example, the USB-stick image...

Opening up the downloaded file

The file you download is named easy-<version>-<architecture>.img.gz, for example easy-1.0.12-amd64.img.gz. The ".gz" on the end means that it is gzip compressed, and with Easy, and Puppy (and derivatives), if you click on it, there will be an offer to uncompress it. With many other distributions, you have to open a terminal and do it manually:

# gunzip easy-1.0.12-amd64.img.gz

Having done so, you will have easy-1.0.12-amd64.img

This image file can be written to a Flash drive, and booted from. However, this web page is showing how to extract the contents of the image file, and install to a internal hard drive.

How to "open up" the image file and extract the contents?

The file easy-1.0.12-amd64.img (or whichever version you have downloaded) is only 1281MB. However, at first bootup it will expand to use the entire drive. So any drive, from 2GB upwards, is suitable (although at least 8GB is recommended for ongoing usage).

Internally, the file contains a 639MB fat32 partition and a 640MB ext4 partition. If you are already running EasyOS, you can just click on this file to open it up and see inside. With other Linux distributions, you have to do it from the commandline:

# mkdir mntpt
# mount -t vfat -o loop,offset=1048576 easy-1.0.12-amd64.img mntpt

The fat32 partition actually starts 1MB into the file (which is 1048576 bytes), the first 1MB has partition table and other stuff.

mount problem:
One vital detail. Puppy Linux and derivatives may actually run the Busybox mount utility, which does not support that offset parameter. However, they all (or nearly all) have mount-FULL, which is the full mount utility.

With Easy, being easy, you just click on the file, and you can see what is in the vfat partition:


Now, the files are available to be copied into the frugal installation. You only need those three, vmlinuz, easy.sfs and initrd.

Opening up initrd

As already explained earlier in this web-page, running Easy, initrd can be opened up just by clicking on it. For other Linux distributions, some steps are required.

initrd is an uncompressed cpio archive, and can be opened like this:

You will have to use the cpio utility to open up initrd. Open a terminal where initrd is:

# mkdir initrd-tree
# cd initrd-tree
# cat ../initrd | cpio -i -d -m
# cd ..

Then edit file BOOT_SPECS as described above. Then, close up initrd like this:

# sync
# rm initrd
# cd initrd-tree
# find . | cpio -o -H newc > ../initrd
# sync
# cd ..

The 'BOOT_SPECS' file is pretty self-explanatory, almost...

Editing 'BOOT_SPECS'

The file contents will look something like this:


Usually, for a frugal installation in a BIOS computer, the boot-partition would be the same as the working-partition, but it doesn't have to be. The decision is yours. Note that the boot-partition does not have to be a Linux filesystem, it can be vfat or ntfs.

Those _UUID variables are the "Unique Universal Identifiers" of the boot- and working-partitions. You can obtain this by running 'blkid'. For example, say that we are installing to partition sda1:

# blkid /dev/sda1
/dev/sdb1: LABEL="bk" UUID="a3a0bcae-6d74-4bd6-bce6-6ebf43ec26a5" TYPE="ext4"

Have fun!

EDIT 2020-11-24 More manual instructions:
Clemens sent an email with the steps he followed, running a different Linux distro, and with GRUB2. You might find these extra notes useful:



This webpage (c) Copyright Barry Kauler, December 2018, March 2019, 2020. All rights reserved.

Tags: install