Skip to content

Kernel 2.6.14 with FUSE Support -- Big Bonus for klik

Saturday, 29 October 2005  |  pipitas

Kernel 2.6.14, released 2 days ago, has an few important new feature, that will is welcomed by all klik developers with big expectation: FUSE support (Filesystem in User SpacE)

Currently, klik needs entries like these in /etc/fstab:

  /tmp/app/1/image /tmp/app/1 cramfs,iso9660 user,noauto,ro,loop,exec 0 0
  [.....]
  /tmp/app/7/image /tmp/app/7 cramfs,iso9660 user,noauto,ro,loop,exec 0 0

These lines in fstab allow for loopmounting a .cmg file (a compressed -- via cramfs or zisofs -- file system image) underneath the mountpoints /tmp/app/[n]/ with the help of the .zAppRun script (part of the klik client), which enjoys standard user privileges only. But the requirement for these 7 fstab entries is a severe limitation for klik:

  • First, to add them into fstab root privileges are required. (This happens during klik client installation. From then on, klik users do not need to become root any more to run a klik-ified package. Certain apps ask for root privileges to run -- but they do so too if "installed" properly). The "user" qualification also implies "nosuid" for all executables as well, so on this front klik is as safe as it can be.
  • Second, standard kernel setups allow only for up to 8 concurrent loopmounts. (klik generously abstains from using the 8th too -- since it wants to allow for KNOPPIX and Kanotix getting their lifeline too :-) and uses only 7). This means, a user can not run more than 7 klik-ed applications concurrently. (Well, he can, if he knows how to increase that number via a boot parameter, or by adding options loop max_loop=32 into /etc/modprobe.conf and unloading and reloading the cloop device).

FUSE changes that. FUSE in the Kernel does away with the fstab requirement to let users loopmount klik's .cmg images. And it doesn't impose such a low limit for the number of mounts either.

But I expect less than half of Linux users to upgrade to a Kernel 2.6.14 even within 12-18 months from now. Therefore, klik will continue to work the way it does for time being.

But klik development for FUSE support is happening, nevertheless: Dmitry Morozhnikov has developed the fusecram and fuseiso FUSE modules (download source code). These enable everyone with a 2.6.16++ Kernel to take a glimpse at the future of klik.

Other klik related development news are:

  1. Jason Taylor has succeeded in getting prototypes of a klik thumbnailer working for the KDE and Gnome environments. This will allow for an application-specific icon to be included into each .cmg file, and extracting it when the .cmg is "installed" onto a system -- without violating the "1 application == 1 file" paradigm. (The icon will transparently be extracted from the klik package by the klik client scripts).
  2. The first klik recipe maintainer has received some initial "training". He even created his first private klik package (kchmviewer, but it is not yet klik-released).
  3. Several IT journalists have researched and investigated via mail or in the IRC channel background info about klik's wellbeing. So the next 2-3 months will see some online and printed stories about our current activities. (I wonder when the one big website which has my own klik articles queued up since more than 4 weeks now will finally publish them. Grrrmmm....).
  4. I put some fixes into the klik://k3b and the klik://amarok recipes. But I've not yet remove the "pending" status from them. This means there will be a slight hurdle in front of you, before you can testdrive the new recipes: you'll have to type in my KDE mail address to get the download of ingredient files (.rpms and .debs) started which you klik client then cooks up into the final .cmg.
  5. Unfortunately, I did not get any helpful response from different KDE people I pinged about the problem with the KDE application manuals inside klik bundles. Since the manuals are usually started and displayed by khelpcenter, and/or via the help:/ KIO slave, a klik-ified KDE application, bundling its own bleeding-edge documentation (think KOffice-1.4.2 or 1.5.0 soon) inside the .cmg has no easy way to have these displayed if the user clicks on the help menu... :-(