User Tools

Site Tools


qLinux
… a distribution study


        


Concept

A quote from wikipedia:

An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

The points considered to the concept of qLinux are (in random order):

  • strictly KISS, multi-user x86_64 linux kernel
  • Separate the OS from “programs”
    • keep the OS consistent, update it separately
  • diverge from FHS
    • the OS have to be in a separate folder
    • don't share libs between the OS and “programs” (yes, let's have duplicates)
    • don't split all files which belongs to a (bigger) package other the whole filesystem
  • diverge from POSIX
    • qLinux is NOT intended to be POSIX compliant
    • staying with POSIX results in bloated overcomplexity
  • diverge from GNU
    • avoid usage of bloated as well buggy packages (e.g. replace glibc by musl-libc)
    • install required GNU software in a separate location (for a transition peroid)
  • Use (the best) features from other distributions
    • provide one tool for one task (Ubuntu)
    • rolling release for programs (Gentoo and others)
      • rolling releases causes restarts of programs - this have to be avoided for dedicated programs (include the OS)
    • “static” update of the OS (unplanned restarts should be avoided)
    • use the filesystem for package management (basically like Gobo, but slidly different w/o using symlinks for all)
      • thus should allow to keep the package manager simple
    • perhaps use “USE” flags and profiles like Gentoo - but in any case more restricted (reduced)
  • install: compile packages by default, but offer a facility for binaries too
  • stay open-minded to the good features of other UNIX like OS'es, but as well of Windows and others - but avoid the bad ones (features)
    • Example: Windows uses environment vars like %SystemRoot%
  • functionality rules over performance, principles and even questionable security thougths
  • lower the “dependency hell”
  • the base shall be:
    • a linux kernel (gentoo-sources)
    • musl-libc, perhaps in combination with over C-libs
    • gcc - the c/c++ compiler only (not the GNU “compiler collection”)
    • a build roadmap like lfs
    • avoid an inflation of programming languages