Quirky Puppy 5.4.91

Quirky Puppy is my build of Puppy for trying out ideas, sometimes quirky ideas, hence the name. There is a page that introduces the concepts behind Quirky:

http://bkhome.org/quirky/

The last official release of Quirky was on the 27th November 2010, see my blog announcement:

http://bkhome.org/blog/?viewDetailed=01997

Releases of Quirky are not intended to (necessarily) be polished and bug-free. The idea is to present new ideas to play with. This new release is in the same vein, new ideas to play with and some bugs -- having said that however, 5.4.91 is pretty solid and substantially bug-free.

Quirky ideas

These are two ideas/features to play with in Quirky 5.4.91:
  1. Absolutely everything built into a single (126MB) file.
  2. f2fs (Flash Friendly File System).

1. One big file

I developed this idea a couple of years ago, but it got put on the shelf. There is a script in the Woof build system, '4quirkybuild', that creates this "single file" Puppy. A few days ago, I fixed and updated this script.

The idea was developed by the Linux kernel developers, in which an "initial filesystem" can be built into the kernel. Various people, including myself, toyed with building all of Puppy into the kernel.

The main advantage of this is simplicity: there is just one file, the "kernel". If you can get that to boot, you're in business. This would also make booting off a network simpler.
Although the kernel itself has to stay in RAM, the Puppy-part inside the kernel ends up in a tmpfs -- so, although in RAM, it can be farmed out by the operating system to swap file/partition.

There isn't much of a downside. You need at least 512MB RAM, preferably 1MB. Booting off slow media such as CD takes awhile, but these days we are booting more and more off solid state media. I have got this Quirky installed on my (conventional magnetic platters) hard drive, and the 126MB "kernel" loads into RAM in the blink of an eye.

Another downside, for now at least, is that some applications in Puppy are broken. The remaster-CD script for example. These apps are expecting the usual Puppy files, not just one file. These can be fixed, if I find this "one big file" approach is popular.

2. f2fs

This Quirky is built with the 3.8.0 kernel, which supports f2fs (Flash Friendly File System). Also, 'util-linux' and 'busybox' do, as does our "in house" 'guess-fstype' utility. Note, 'disktype' and 'gparted' are still not f2fs-aware. All the Woof infrastructure scripts have been made f2fs-aware.

To create a f2fs filesystem in a partition, you will need the 'mkfs.f2fs' utility, that I did not include in the build -- it is in the 'f2fs-tools' PET package, that can be found in the 'common' repository in the Puppy Package Manager -- or just download it directly, then click on it to install it:

http://distro.ibiblio.org/quirky/pet_packages-common/f2fs-tools-20130213-i486-static.pet
http://distro.ibiblio.org/quirky/pet_packages-common/f2fs-tools_DOC-20130213-i486-static.pet

Everything is ready to go. We need need to investigate installing Quirky on Flash media with f2fs. We also need to modify some scripts, such as the Universal Installer, to accommodate this.

Installation

I have not provided a live-CD ISO file. Instead, there is just the one big "kernel", named 'kernel.qky'.

You just need to install 'kernel.qky' somewhere, then get it to boot. I will use the example of how I did it on my laptop hard drive...

I created a directory '/quirky5.4.91' in one of the hd ext3 partitions. I then created an entry in the grub4dos 'menu.lst' file:
title Quirky 5.4.91 (sda7/quirky5.4.91)
  uuid f547d8df-78f1-44db-a84a-600d9e9185cb
  kernel /quirky5.4.91/kernel.qky  pmedia=atahd psubdir=quirky5.4.91
It would be a similar format for normal GRUB.

If you can tell your boot manager where to find 'kernel.qky', that's it, there are no other files.

Those parameters "pmedia=atahd psubdir=quirky5.4.91" are used by Puppy as an aid when booting. They are not even essential usually. The 'pmedia' parameter helps Puppy by informing what type of media we are booting off. It can be any one of these:
usbflash usbhd usbcd ataflash atahd atacd atazip scsihd scsicd cd
Where "ata" means any IDE or SATA drive, and "scsi" is any true SCSI drive.

The 'psubdir' parameter just informs Puppy of the installation directory. It helps to narrow-down the search for any other files related to this installation.

Running Quirky 5.4.91

There's not much to say, it should "just work", except of course if you have a video incompatibility. But, I do need to mention a small hiccup at the first shutdown...

At first shutdown, you are offered to save the "session", so that all your files are available at next boot. You will see a window that says:
Path (folder) of the save file: /
No, you don't want that. The session needs to be saved into /quirky5.4.91 (using my example), so click the <Change folder> button and type in "quirky5.4.91" (or wherever you have installed Quirky).
I will fix this glitch soon.

Binary compatibility

Quirky, like any Puppy, can be built from the binary packages of just about any other distro. For this Quirky release, I built from the PET-based Racy Puppy 5.4.91 (5.5RC).
The choice was based on the small size of Racy packages ('coz I compiled them all from source, using T2). The Puppy Package Manager has a small collection of extra packages that you can install, plus the "mega packages" (SFS files).

If you are unfamiliar with Puppy, you would be thinking that you won't get much of a distro in only 126MB. Well, prepare to be surprised. That 126MB has "everything". You want to browse the web, watch Youtube, print a document, scan, access your camera photos, create a spreadsheet, plan a project, WYSIWYG edit a HTML file, play a video, whatever, all the apps are there, and all the drivers. Of course, that "all" needs to be qualified -- the drivers cover just about everything, but obviously not everything -- but for most people it really is everything they need. Puppy should feature in "Ripley's Believe it or Not"!

I am not posting Release Notes that detail what packages and what Woof fixes and infrastructure features there are in this release, as that is not the point of the exercise. You can certainly search my blog for relevant reports, such as for the details of Wary and Racy, whose binary packages were used for this build, if you wish.

In fact, if you wish to discuss any issue that you think is a "Racy" one rather than related to the Quirky build, you can post in the Racy/Wary 5.4.91 Forum feedback thread:

http://murga-linux.com/puppy/viewtopic.php?t=84618

Keep informed

I post about progress on all things Puppy, in my blog:

http://bkhome.org/blog2/

Please note that due to spam and inappropriate comments posted to my blog, I introduced registration via email awhile back. Anyway, discussion on my blog is intended for developers. If you categorise yourself as a "user", please post to the Puppy Forum.

So that everyone can get involved discussing the special features of Quirky, I have started a thread on the Puppy Forum:

http://murga-linux.com/puppy/viewtopic.php?t=84673

Have fun!
Regards,
Barry Kauler
February 27, 2013