PDA

View Full Version : Remastering Knoppix7+: New uses of old overlay techniques



Capricorny
02-27-2017, 11:28 AM
The 4GB file size limit of FAT32 has been an important premise for KNOPPIX (and similar live distros) in the past, and it still is the main reason why contemporary KNOPPIX comes with two cloop-compressed files: The basic KNOPPIX, and the overlay KNOPPIX1. Both sized to fit on a FAT32 file system.
When we remaster, we can easily put everything into one file, but it has gotten increasingly harder to purge enough from the DVD package list to make everything fit within 4GB, when own additions are included.

Experimenting a bit with 7.7.1 DVD remastering, it turns out that while it is fairly easy to purge enough to compress the DVD content into 4GB without any overlay, it is probably not worth it to shoehorn significant added packages into that format.

And still, there are some good reasons to conform to FAT32. The most important is booting. While it is easy to prepare FAT32 media to boot almost everywhere, too often other kinds of media fail to boot somewhere. So for me, it's not worth the effort to do things otherwise. Also, this seems like an easy basis for running in Vmware Workstation virtual machines.

This takes us back to the good old multiple overlays technique, which our friend utu has championed on this forum:
http://knoppix.net/forum/threads/30672-Using-Overlay-Updates-in-Knoppix-7-2-LiveUSBs

The principle is that the persistent store is cloop-compressed into an overlay as KNOPPIX<n>, n=1,2,3..., put into the KNOPPIX directory and automatically aufs-mounted upon next boot. This isn't something I would recommend to do several times. There is, for example, no file deletion involved, old versions of files are not overwritten, but just superseded by newer versions in the aufs mount. In order to have "real" file deletion, remastering is needed.

But it is possible to make Knoppix into a real power package this way. For example, running on ext3 one could make a 8GB overlay file containing lots of programs, like databases, statistical packages etc. Then compress it into a KNOPPIX1 ca 4GB overlay (assume we have purged and compressed the DVD contents into 4GB KNOPPIX), create 2-4 knoppix-data.img<n> overlay files in addition to knoppix-data.img and stuff everything into a 32 GB USB stick which can be booted "almost everywhere". For my own use, I'm quite sure it will suffice with a ca 2GB overlay. There is, for example, little to be gained by compressing JAVA .jar/.war files, as they are mostly already compressed.

Here is the overlay creation function utu posted:


#utu's overlay creation
#http://knoppix.net/forum/threads/30672-Using-Overlay-Updates-in-Knoppix-7-2-LiveUSBs

MakeOverlay() { # Cloop-compress & save /KNOPPIX-DATA as /mnt-system/KNOPPIX$1
ISO=KNOPPIX$1; ISODIR=/mnt-system/; ISOSRC=KNOPPIX-DATA
echo -e "Creating "$ISO"; patience, this may take some time..."
cd /; sudo mkisofs -x *[Cc]ache* -R -U \
$ISOSRC | create_compressed_fs -B 131072 -m - - > $ISODIR$ISO
echo ".done; "$ISO" additions from $ISOSRC saved to "$ISODIR"."
}

utu
02-28-2017, 01:07 AM
.
Nice to hear from you again, Capricorny.
Thanks for the nice mention. A few notes come to mind on this topic:

1. I still use this technique on a Knoppix 7.7.1 LiveUSB.

2. In my case, I usually try to bundle all my own usual tweaks in a single
first additional compressed overlay and then try to operate with a new modest
reiserfs read/write persistence file. The compressed overlay is read-only and
virtually immune to being written-over. The net contents of a new read/write
persistence file is usually relatively small and it's therefore easy to erase
(re-format) and to restore its contents from notes or (my own) memory if it
inadvertently gets written-over and Knoppix operation is obviously corrupted.

3. I'm sure this same idea will work to some degree with other Linuxes, such
as Xubuntu, with minor adaptations such as adding a persistence partition and
replacing cloops with squash files. This provides an avenue to starting with
a much smaller compressed core Linux file than that of Knoppix's DVD editions.

4. In addition-to or instead-of "utu's overlay creation",
the quoted function definition, MakeOverlay, appearing by itself, should include
the notices: "Copyright TJ Hoye 2013, License GPL Version 2".
The script is my interpretation of the content of a debian-knoppix mailing list
post by Klaus K describing how he prepares Knoppix images to include material
in addition to a working version of Knoppix LiveDVD for special occasions.
The GPL License notification is typical of Knoppixes of a certain era.

utu
03-06-2017, 04:19 PM
.
In reference to my previous mention of adding squash files in Xubuntu
in item 3 above...

Canonical is introducing a new feature for adding programs to Linux systems
called snaps. This feature brings into being a whole new infrastructure
which is somewhat reminiscent of stacking compressed knoppix overlays.
Snaps, in effect stacks squashed file systems representing useful program
additions which bring their dependencies with them. By stacking, I mean
combining filesystems by means of a union filesystem. This infrastructure
includes a means of creating such snap packages, called spapcraft, and a
concept of 'stores' for obtaining useful snap packages or for offering some
packages you might create yourself for others to use.

Canonical introduced this system into Ubuntu, Debian and many of the more
popular Linux systems in 2016. It is contained in Xubuntu 16.10, for example.

You can get a feel for snaps with the following video:
https://www.youtube.com/watch?v=MCrT_AhCOYk

If you are interested in learning more about snaps, you might begin with
the following introduction and its references:
https://tutorials.ubuntu.com/tutorial/basic-snap-usage#0