easy logo Easy frugal installation

Easy is a "new paradigm" for a Linux distribution, a blend of the best ideas from Puppy and Quirky, and a fundamental rethink of the security, maintainability and ease-of-use.

There is a "How Easy works" page, that gives a good introduction to the concepts behind Easy. Recommended as a first read:
http://barryk.org/easy/how-easy-works.htm

The first few sections of the "How Easy works" page are reproduced here, as this is relevant to installation. The extract explains how to install Easy to a plugin media such as a Flash stick or SD-card, however, keep reading and you will get to the main thrust of this page, which explains how to install to a hard drive in a PC, in the famous "frugal" mode.

Firstly, the extract:

Download

Unlike most other Linux distributions, Easy is not deployed as an image for a CD disk (ISO file). Instead, Easy is an image for an external drive, such as USB Flash stick, SD-card or USB solid state disk (SSD).

One might immediately counter that ISO files can also be written to Flash media -- yes, but that is not an installation -- the distribution still has to be installed somewhere. With Easy, what is written to the Flash media is the installation, nothing more to be done. You can run Easy from the external media indefinitely, but there is also the option of installing to internal drive.

The file you download is named easy-<version>-<architecture>.img.gz, for example easy-0.1.6-amd64.img.gz. The ".gz" on the end means that it is gzip compressed, and with 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-0.1.6-amd64.img.gz
Having done so, you will have easy-0.1.6-amd64.img:
easy-image

...the above snapshot is a ROX-Filer file manager window in Easy Linux.
Installation
This web page is describing how Easy works, not installation. There will be a separate page for that, however, it can be mentioned here how easy it is. Just install one of the free GUI tools for writing an image file to a drive, such as USB Image Tool for Windows, or Etch for Windows, Mac and Linux. Or, in Linux it is easy to do on the commandline (for the example of the external drive being /dev/sdb):
# gunzip --stdout easy-0.1.6-amd64.img.gz | dd of=/dev/sdb bs=1M
# sync
The file easy-0.1.6-amd64.img is an image file, that can be written to any drive. Although it is only 521MB, 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 519MB fat32 partition. If you are already running Easy Linux, 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-0.1.6-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.

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


You should immediately recognise one file in there, vmlinuz, which is the Linux kernel. The image file has Syslinux installed in it, which is a boot manager. The files boot.msg, help.msg, ldlinux.sys, logo.16, syslinux.cfg, and more in the EFI folder, are part of Syslinux.

Once written to a drive, Easy will boot up on any desktop PC or laptop with x86 64-bit CPU, older pre-2012 PCs with traditional BIOS-firmware, and modern PCs with UEFI-firmware. If you don't understand what BIOS or UEFI mean, don't worry.

End of extract.

The extract explains how to write the downloaded image file to a pluggable media such as USB Flash stick or SD-card, and hence bootup Easy.
However, Easy can also be installed to a hard drive, but not in the way that most Linux distributions do it. The "special way" was pioneered by Puppy Linux, and is known as a "frugal installation". Easy has a modified form of frugal install.

Frugal introduction

The concept of the frugal installation is, basically, that it is installed in a folder in a hard drive partition, instead of occupying the entire partition as a normal "full" installation does.

With Puppy Linux, a frugal installation can be to any partition, even those with fat and ntfs filesystems, as used by MS Windows. And do so without interfering with the Windows installation.
This is because Puppy saves a session, that is, all the new files, setup, downloads, etc., in what is called a "save file". This save-file internally has a Linux filesystem, usually ext3 or ext4.

Puppy also supports a frugal installation to a partition with a Linux filesystem, in which case a session can be saved to a folder in that partition. This has a big advantage, that it can use the entire partition, whereas the save-file would need to be increased in size as required -- which in practice is a bit of a hassle.

Now onto Easy. Easy supports the latter only, a frugal install to a partition with a Linux filesystem. Not a vat or ntfs filesystem!

Anyone with a bit of interest in Linux is likely to have created a partition with Linux filesystem (usually ext2, ext3, or ext4) on their hard drive. if not, check it out, it is easy-peasy to create one.

Easy frugal installation

So how to do a frugal install? Currently, there is no GUI application to do it, but it is so easy, that it can be done manually in just a few minutes.

There is one big prerequisite though, that you already have a boot manager installed on your hard drive, such as GRUB or GRUB4DOS. There is another easy method of installation that does not require any boot manager, but that will have to be for another web page.

The steps are simple. Decide which partition, then create a folder that you want to install Easy in. This can be nested as deep as you want. Let's say you have Easy version 0.2.5, and you want to install it in /easy/easy-0.2.5, in partition sda3.
Organising this into steps:
  1. Create the folder /mnt/sda3/easy/easy-0.2.5
  2. Copy 'vmlinuz', 'initrd.q' and 'q.sfs' into the 'easy-0.2.5' folder.
  3. Click on 'initrd.q' to open it up *SEE NOTES BELOW*
  4. Edit file 'BOOT_SPECS'.
  5. Click on 'initrd.q' to close it up.
  6. Edit the boot manager.
OK, some of those steps need to be fleshed out a little:

2
These files are introduced in the above extract.
3
This is so easy to do it already running Easy Linux, just click on the 'initrd.q' file in the ROX-Filer file manager. For other linuxes, you need to use the cpio utility.
4
Edit file 'BOOT_SPECS', that you will find in the opened-up initrd.q, so it looks like this:
BOOT_DISKID='0x50e598ae'
BOOT_PARTNUM=3
BOOT_FS='ext4'
BOOT_DIR='easy/easy-0.2.5/'
WKG_DISKID='0x50e598ae'
WKG_PARTNUM=3
WKG_FS='ext4'
WKG_DIR='easy/easy-0.2.5/'
Q_DISTRO_VERSION=0.2.5
But change the values to suit your installation. The disk id is obtained by running "fdisk -l /dev/sda", it is the "Disk identifier" parameter.
Note the folder path does not have a leading "/" and must have a trailing "/".
5
Again, you should be running Easy Linux, you will find this very easy. Just click on 'initrd.q' again to save the changes and close it up.
6
This step depends on what boot manager is installed. In the case of GRUB4DOS, insert this into file menu.lst:
title Easy Pyro64 0.2.5 (frugal install in sda3)
uuid 05eafb05-c801-458a-9405-c3c437cc683b
kernel /easy/easy-0.2.5/vmlinuz
initrd /easy/easy-0.2.5/initrd.q
Again, modify to suit your installation. Obtain the "uuid" by running "blkid /dev/sda3" in a terminal.

That's it, done. Shutdown, unplug the Easy Linux USB stick, and bootup, choose Easy from the boot manager menu.

After booting up the frugal installation of Easy, this is what you will see, using the ROX-Filer file manager:
easy-frugal

The files 'initrd.q', 'q.sfs' and 'vmlinuz' are what you dragged into that 'easy-0.2.5' folder. Those directories 'containers', 'home' and 'repository' were created at bootup -- read the "How Easy works page!

Note that for the frugal install example given above, unlike the Flash stick, the boot and working partitions (and folder) are the same. No problem with that.
It can be whatever you want. The only restriction is that the BOOT_DEV can have any filesystem, including fat and ntfs, but the WKG_DEV must have a Linux filesystem.

Conclusions

Why go for a frugal install, as opposed to a traditional "full" install? Ah, that is a very long story. Heaps of advantages. Itemizing a few: you can have as many installations of Easy as you want, maybe one for each family member, each in its own folder, totally isolated. All kinds of security advantages. Super easy to upgrade (and downgrade). Easy to rollback to earlier sessions. Very small. A fundamentally "container friendly" architecture.

Anyway, the advantages of frugal are something that you have to discover for yourself, to really appreciate.

Regards,
Barry Kauler
May 2017


NOTES

Using cpio to open up initrd.q

If you are in the situation of currently running some other Linux distribution, you will have to use the 'cpio' utility to open up 'initrd.q'. Like this, open a terminal where 'initrd.q' is:
# mkdir initrd-tree
# cd initrd-tree
# cat ../initrd.q | cpio -i -d -m
# cd ..
Then edit file 'BOOT_SPECS' as described above. Then, close up 'initrd.q' like this:
# sync
# rm initrd.q
# cd initrd-tree
# find . | cpio -o -H newc > ../initrd.q
# sync
# cd ..