<xmp><!-- <body> --></xmp>

SliTaz 4.0 GNU/Linux: Nothing but Success

Jon Nileprecinct Feline
2012jun30

Be sure to click on the images for the fullsize pix.

Abstract

SliTaz 4.0 is the fastest, lightest, yet most enabled mini distro out there. It downloads & boots from less than 40M, running entirely from RAM & bootable from any media, yet has a classical GNU/Linux persistence architecture with independent control over maintenance of the ${HOME} directory & the state of the entire compressed filesystem. Its perhaps a bit parsimonious for newbies, but for those who know what they need from Linux it is an outstanding offering. It sports a modern kernel & Xorg server, has a voluminous packages repository, & can run demanding technologies like Java or Opera almost instantly & with great speed even on older hardware.

SliTaz 4.0: It runs Opera.

SliTaz is *so* minimalist I hesitate to install IceWM, being patient with OpenBox & LXpanel & their celebrated iconless task switching. But Ive put in Midnight Commander, Lynx & VFU to take up some of the slack. SliTaz has an excellent selection of preinstalled apps including Midori, Beaver, vi, PCmanFM, Gparted, mtPaint, an iconbrowser, & a presentable MP3 player. & although certain fundamental GNU/Linux commands arent present (xset, xprop, sudo, cfdisk, sfdisk, bzip2, gftp) they install effortlessly from the repo.

It plays Tetris & MP3s, & runs Java.

Some Technical Notes

Those of us accustomed to booting from a USB 2.0 flashdrive via GRUB 0.97 are in for a surprise. The screen goes completely black (with a cursor in the corner) for nearly 2 minutes. Its even stranger if you specify the venerable vga=791 on the commandline: after a shorter but more unnerving entirely blank screen Tux appears at the top of the hires framebuffer, the bootlog giving way to a halting but usable Xorg session. Unlike many distros, SliTaz lofts a single monolithic image of the entire filesystem into RAM using the bootloader itself, a process GRUB97 carries out at USB 1.1 speeds on some machines. Although the recommended combination of the extlinux bootloader & LZMA compression can shorten the flashdrive boot to around 70sec, the Plop bootmanager called from GRUB 0.97 can in fact bring the boottime down to under 40sec loading a gzip filesystem from flash.

The remastered LiveCD boot is nearly as fast, especially after specifying ide-core.nodma=1.0 as a kernel parm to prevent the CDROM /dev/hdc from experiencing an I/O hang. When booting the kernel & rootfs from a dedicated harddisk partition of course these issues dont arise, the LZMA boot taking a mere 34 seconds, the gzip boot a lightning fast 21sec. The persistent /home/tux folder (referenced by the home= bootloader parm) can reside on any writeable device. SliTaz is a true frugal architecture insofar as because it runs in RAM any changes made during the session arent permanent & vanish with a reboot. & once its running, its robust, & lightning fast.

One linux that can take care of itself.

The supplied tazlito & tazusb scripts are somewhat elaborate but can be made to create the compressed backup of the entire filesystem with or without /tux, the former necessary to replicate the system to LiveCD, the latter more convenient for ordinary use (even with Opera & Chinese fonts genned in, my current LZMA-compressed FS is less than 45M). The package manager should of course be consulted for complex dependencies but many packages can be downloaded standalone via ftp @ibiblio.

Xorg on the Dell Optiplex

The SX270 is precisely the type of machine which can benefit from SliTaz 4.0. The one I found on CraigsList for $30 has 1G of RAM & a 2.4Ghz P4 processor, viable specs even today. It had a number of intractable XP viruses on it which forced me to do a clean install. & the tiny formfactor means the intel graphics cant be replaced with a PCI or AGP card, ie any Linux planning on using its 82865G chipset will need its Xorg properly configured. Youd hope after all these years *something* could run on this fine machine other than DozeXP. It has 6 USB 2.0 ports eager to boot flashdrives.

Yet the world of post-VESA compliant Linux is filled with wonders, & the exact scripting necessary to get Linux 2.6.37 to enable hires on this machine via Xorg 1.9.5 isnt immediately obvious. Fortunately Puppy Linux 5.3.1 has an Xorg wizard which spits out an xorg.conf with the exact clauses necessary for the 50-Monitor.conf. I just ported that back to SliTaz & it brought the SX270 graphics chips right up.

My Puppy Linux desktop (woof).

IceWM & FreeDesktop XDG Menuing

But I digress. Certainly Puppy is useful as a reference distro, if only to remind me I cant survive for long without IceWM on a system like SliTaz. So I installed it from the repo & wrote a script which loads up the XDG iconspace & generates an IceWM compatible menu. Heres a pic.

SliTaz 4.0: IceWM, freedesktop, xpenguins, xfishtank, wmmoonclock, microemacs

& heres a script which will enable XDG menuing under IceWM 1.3.7 on SliTaz 4.0:

(more scripts at the resources site)

Fuse & the compressed cloop

Of course theres more to a concise operating system than keeping the application load small so it can run completely in RAM. Ultimately programs have to be executed from disk somewhere, & this process is greatly enabled by the presence of the Fuse programs fusecloop & fuseiso in the SliTaz repo. As an example, take the Java 1.6 runtime. The selfextracting 22M distro becomes 110M of real resources which can be bundled into a 24M deinstallable tazpkg, but which when running still makes an enormous footprint in memory. An alternative is simply to gen jre16 into a 110M ISO, which doesnt save as much disk (or return as much memory when unmounted) as a tazpkg but which doesnt incur the massive memory consumption until an applet is executed.

Yet by using the fusecloop & fuseiso programs an actual compressed ISO (aka cloop or DSLinux "UCI") can be used to effect a readonly extension architecture under SliTaz. A cloop is traditionally an ISO created via mkisofs & run thru create_compressed_fs, on SliTaz the former replaced with genisoimage & the latter part of the fusecloop tazpkg. I therefore wrote a short script to generate *.cxr (Compressed eXecutable Resources) cloop files which can be mounted by the Fuse routines. The java16.cxr is 36M & requires 8min to generate (compared with 4min for the corresponding tazpkg). Fusecloop mounts it to /tmp as what seems to be a 110M ISO but which "du -sh" shows is only using 36M of RAM. My reader script then uses fuseiso to mount the ISO: two userspace driver routines enabling the Java "hit-&-runtime" via a pair of mount points & with the resource sitting on readonly compressed storage.

the writer

the reader

My 512M GX260 Optiplex has around 300M free RAM once SliTaz is booted. Loading a java16.tazpkg & running an applet takes free memory down to 126M, whereupon deinstalling Java only results in 264M free. Via java16.cxr however, even with the nightvision astronomy applet executing, Ive still got 218M free memory, & 274M left when the resources are unmounted.

the application loader / exec

Endless capabilities

Heres SliTaz running Stellarium (the prodigious Qt application) from a cxr & using WINE (an implementation of the Windoze API) to run the XP program SJboy, a Javaphone emulator which is running a SymbianOS app. Stellarium is so processor intensive it makes the Optiplex fan race, but can be timesliced with a trivial looping script which interleaves sleep commands with "kill -stop" & "kill -cont" messages to the process.

SliTaz 4.0: Stellarium & WINE

Turns out itz even more fun getting Celestia to work & using this incomparable orbital dynamics laboratory to synthesize ogg theora videos which Xine has no difficulty playing.

SliTaz 4.0: Celestia 1.6.0, Xine 0.99.6

The OGV converts right away (via the Puppy GUI for FFmpeg, Ill admit) to AVI / SWF / 3GP &c. Here for example are demo MP4 videos at QVGA resolution for your favourite mobile device. Enjoy.

mp4 demo

these are the voyages

mp4 demo

of the starship lulzwarp

Conclusion

As always my thanks to all the fine individuals who in any way contributed to the success of this project.

Blog Intro
Articles / News

avatar



hosted by
hosted by

powered by
kBlog v1.02.007
Bio
Contact
freedns by
afraid.org

find the Mystique
Screaming CuckooBroad Associates part of the CircleOmega organisation
<noscript> <!-- ooo