User Tools

Site Tools


HorOS
… a visionary distribution study


More qware Solutions: qemu manager


Introduction

Now, the first question will be: What is qLinux? Why qLinux? What is the goal and the differences against other “Linux'es”? Let's try to find an answer of these questions. But before a pointer: there exists qLinux from Scratch, a journal which describes the steps to build qLinux from sources.

About

A comparison of established, common and not so common Linux distributions shows, that they are equal to more than 80%. The most identical characteristic is the file system hierarchy (file system layout). The differences could be abstracted to a view points only:

  • they use a different init system
  • they have different (individual) tools for system management
  • they use a different package manager
  • they are claim to use a default graphical desktop
  • they implement additional1) software in slightly different ways

That's it! More or less. Most claim to be simple and easy to use too - this could be true if the user is familiar with the specific tools. And most of this applies to qLinux too. But it goes one essential step further: it's main distinguishing feature is the absolute new file system layout. It diverges from POSIX, FHS, LSB and the common Unix file system hierarchy. This includes that there is no  /bin/sh , no  /dev/null , and even no  /proc ,  /dev ,  /bin ,  /sbin ,  /lib  or  /usr  directory in the root of the file system! At the first view this sounds - and maybe is - a bit crazy, but I wasn't happy with existing file system layout since many years2). More reasons to go an absolutely new way are:

  • cut off old braids of the initial UNIX specification which are no longer required as of today (avoid things like the usr-merge workaround)
  • with the new design there is no need for 32Bit compatibility (qLinux is full 64Bit, no requirement of a multilib system)
  • break with weak, questionable (pseudo) “standards” and diverge from other “standards” if required or if it makes sense

Or simply - a bit in the spirit of djb - question everything related to existing Linux operating systems. Thus I decided to start over and give it a try. Some ideas used in qLinux came from other operating systems, like the base concept of Gobo Linux and FreeBSD's practice to install “non OS software” in  /usr/local . It should be consists of freely available UNIX/Linux software packages. The expected challenges were not so much:

  1. every package sources have to be modified to compile and work
  2. find alternative core packages which could be adapted to the different file hierarchy with a reasonable effort
  3. how to handle hard-coded (more or less) configuration pathes and specials in this direction3)

Content

        Base Concept
        Filesystem Layout
        Environment Variables

        qLinux from Scratch

        Background and History

Specific Software

        Service Supervision (svctools)

Some Analyses

        The /home directory







The content below is outdated (formerly Gentoo KISS'ed)!

Gentoo is a great distribution and I like it really. Nevertheless it is a distribution for a wide area of users. Thus it doesn't fit my needs always. Switching to another distribution will only change the kind of caveats. Creating an individual distribution like a mayfly isn't an alternative too. Beside it would fragment the market further w/o improvements for the user. I used Linux from Scratch for a while before I switched to Gentoo many years ago. The maintenance effort was simply to high. At least the decision was to improve Gentoo w/o breaking the core system.

Gentoo KISS'd is NOT a distribution - it's an extension to the standard Gentoo system only!

Therefore some rules were defined:

  1. Don't touch core functionality which is under control of the distribution maintainers.
  2. Use features and interfaces provided by the distribution itself.
  3. Don't violate the Gentoo philosophy.

At the beginning there was a wrapper around  etc-update   only. As it was grown, a project “Gentoo r-tools” was founded. Later on it was re-organized and renamed, now the project calls qrtools. It consists of two parts: a portage overlay named qrtools and a set of utilities, available as ebuild(s) in the overlay (category: qrt-base).

Naming conventions

To prevent misunderstandings readers should be aware of some naming conventions used through the whole website:

  • A double colon '::' followed by a name refers to a portage repository. So e.g. ::gentoo refers to the main repository gentoo, ::qrtools refers to repository qrtools.

1)
this means e.g. the apache web server
2)
I manipulated/configured the directory layout of some systems in the past, but this was very hard to maintain
3)
one goal is to avoid configuration files which just reflect the defaults or have comments only