Stali: STAtically LInked Linux

Stali is a new Linux distribution from Suckless.org that is based on a "hand selected collection of the best tools for each task, and each tool being statically linked (including some X clients such as xterm, surf, dwm, dmenu, mplayer)." Suckless has often delivered outstanding software, and I am eagerly awaiting an official release. So, what else is in store?

Radically different choices. I have to say that for those of us who've wanted something original, Stali seems to be just that. To start things off, it doesn't use many GNU libraries. In stead of Glibc, Stali uses uClibc. Prior to Stali, I had only seen uClibc in distributions that target embedded platforms and distributions that are rather minimalistic and feature lacking. One advantage to this is that uClibc produces smaller executables and therefore offsets that increased size resultant of static linking. These two things together produce more efficient code. Statically linked software usually loads faster, and smaller software uses less RAM.

In Stali, the kernel sheds module support. Yup, one giant monolith. Again, when we consider that it will be statically linked, and that it will be produced using uClibc, there are some major performance gains possible. This also means that no initrd will be needed. The one major problem I can foresee is that a single driver failure could crash the whole kernel... but if Stali ends up using ONLY truly stable kernel releases this could be avoided.

The init system also looks a bit different. Instead of having several scripts called from one initial rc.S or similarly named script (as has been the trend lately), Stali is taking some lessons from Plan 9. The entire system is loaded from one rc.start, and halted from rc.stop. This has benefits in the realm of simplicity and speed, but once again, should I choose to stop a service without stopping the machine, a lot of manual setup and configuration will be needed.

Beyond all of these changes, the directory hierarchy is a bit different. It looks like the following:

/
    bin/
    dev/
    etc/
    home/
    root/
    mnt/
    proc/
    sys/
    tmp/
    var/

Some notable omissions are usr, lib, boot, and media. All mounted devices would reside in mnt, the kernel is in bin, and libraries are statically linked and therefore the lib directory is outmoded. usr is being done away with as well. Sources can be located in the users' home directories, and as for binaries, bin already exists.

I see a lot of potential here, and considering that these fellows have already proven their talents, I have no reason to doubt them. I have made several posts concerning my dissatisfaction with the direction things have been taking in the Linux world, and I must say that this is exactly the type of system I had been wanting. I have attempted several Linux distribution projects on my own, and each time run into a wall. I simply wasn't ever creative enough to find solutions for various problems into which I ran. Maybe these guys will have more luck/skill?


© MMIX - MMXVII absurd.wtf
Licentiam Absurdum