Monday, December 28, 2009

Kahel OS (Desktop Edition) DAEMONS and SERVICES.

check this post by joelbryan: http://forum.kahelos.org/topic/kahel-os-desktop-edition-daemons-and-services

Here's a brief explanation about the Kahel OS changes regarding the DAEMON process on the 122509 release, these changes does not came from Arch Linux but is exclusive for Kahel OS.

If you have noticed, the Kahel OS boot process is really fast, and GDM came up almost instantaneously. This is because the Kahel OS daemons have been changed to speed up the boot process and allow GDM to start up much quickly. The daemons have been divided into two groups, the DAEMONS and SERVICES. The DAEMONS starts up the important applications to load GDM, while the SERVICES will start after the GDM shows up and a user logged-in.

All DAEMONS and SERVICES will be executed as root, also DBUS will be automatically loaded by GDM so all SERVICES that calls dbus will find it. DBUS will run as system-wide message bus at the initial DAEMONS list and as a per-user-login-session daemon when a user logged in.. However if you prefer DBUS to run as a session message bus (this will affect avahi-daemon), remove the initial dbus on the DAEMONS list.

Kahel OS has a script /usr/bin/kahel-generate-rc for the generation of /etc/rc.conf, it is recommended that you modify the file /etc/kahel-system-profiles.conf if you plan to create an rc.conf profile.

The file /etc/kahel-system-profiles.conf contains the following lines:

------------------------------------------------------------------------------------
#
# /etc/kahel-system-profiles.conf - Generator configurations for Kahel OS Linux
#

## This values will be parsed by 'kahel-generate-mkinitcpio' use to generate
## a mkinitcpio.conf file with KMS support.

KERNEL_MODULES="crc32c libcrc32c btrfs ext4 udf nilfs2 ahci"

## This values will be parsed by 'kahel-generate-rc' use to generate an rc.conf
## with Kahel OS's daemon execution and management.

USER_MODULES="acpi-cpufreq cpufreq_stats cpufreq_powersave cpufreq_userspace cpufreq_ondemand cpufreq_conservative freq_table cfg80211 lib80211 lib80211_crypt_wep lib80211_crypt_ccmp lib80211_crypt_tkip fuse usblp usb_storage"
DAEMONS="preload @syslog-ng @hal @gdm"
SERVICES="rpcbind fam @networkmanager @crond @alsa @cpufreq @avahi-daemon @bluetooth @cups @mono"
------------------------------------------------------------------------------------

The script 'kahel-generate-rc' uses the USER_MODULES, DAEMONS and SERVICES fields, all compatible with the parameters that you use with /etc/rc.conf, so (!) to disable and (@) to start at background.

The USER_MODULES is the pre-seeded modules that you wish to be loaded by rc.conf MODULES by default. Also 'kahel-generate-rc' autodetects your modules then installed it along with your MODULES in rc.conf, 'kahel-generate-rc' smartly checks for any duplicate entries against the autodetected modules then it will remove one of them and retain only 1 entry.

The DAEMONS is the default daemons that will be loaded upon startup and load GDM.
The SERVICES is the daemons that will be loaded after GDM and when a user logged in.

The script 'kahel-generate-rc' will write rc.conf on your current working directory as default, unless you supplied it with '--install' parameter.

To install your changes, simply type 'sudo kahel-generate-rc --install', after that review the changes made by the script via editing /etc/rc.conf.

Then after that, you can reboot your system with your new configurations.

Merry Christmas and Happy New Year!

- Joel Bryan Juliano

No comments: