Sunday, 23 January 2011

Preparing lightweight operating system

Every time when I build a new operating system I am not sure if I don't forget about something so I decided to prepare list of steps necessary to build lightweight system.
Let's start:
  1. At first we need to choose a file system which will be used on our root partition. It is important to adjust fs (file system) according to type of files which will be stored. For example gnu/linux OS consists of many little files, so in this case we should choose eg. ext3 instead of xfs beacause seccond one work's better with large size files like movies. Below I put short list of different file systems and their destination.

    • EXT - small files (good choice for root file system)
    • JFS - small and bigger files (in my opinion better than ext3)
    • XFS - large size files
    • ReiserFS 4 - good compression of data, but unstable (more possible data loss than other FS)

  2. Next step is installing an operating system, personally I prefer do it manually so I control every part of my system not like "out of the box" distributions which install many unnecessary applications.
  3. When your basic system is ready now it is time to install tools running in the background but significantly improve comfort of usage of a laptop.

    • Laptop-Mode-Tools - power consumption manager
    • Pdnsd - lightweight DNS server which can remember IP address of domain names (even after reboot) and increases browsing speed
    • Cpufreq - CPU frequency manager
    • acpid - daemon delivering ACPI events (without it you can't manage devices so eg. cpufreqd won't work)
    • xbacklight - program adjusts brightness of a screen
    • hdparm or sdparm - hard disc drive managers

  4. Finally we are ready to create environment which we use to our daily work. Common thing is X window system (I suppose everyone today use graphical interface, if not then skip to 6th point). If you do it manually, you can choose suitable packages (many "out of the box" distributions install everything including drivers for all types graphic cards).
  5. Now it is time for window managing application. There can be distinguished window managers (WM) and graphical desktop environments (GDE), the difference between them is that first one is part of second one and GDE except WM contains also many additional apps like desktop, background, bars, clock etc. This is quite logic that WM is more lightweight than GDE. I suggest apply window manager and install additional widgets if necessary. Below I compose list of WM and GDE and short opinion about them.

    Desktop Environments:
    • KDE - unstable and heavy
    • Gnome - more lightweight than KDE but difficult to use
    • LXDE - quite lightweight
    • Xfce - based on the same library as Gnome but easier to use

    Window Managers:
    • OpenBox - very lightweight but it takes some time to accustom
    • Fluxbox - little heavier than Openbox but nice to use
    • Compiz - 3D graphic window manager, I suppose it is havy

    If you want more, look at these links:

  6. At the end, installation of applications necessary to work. I can't write here about each app or apps to each purpose because there are too many of them but I can recommend this page (people from Arch made a great job) where you should find some valuable informations.