Publié le dimanche 16 mars 2008, mis a jour le dimanche 7 septembre 2008, par maxime
OpenRC est un nouveau système d’init, reprenant les mêmes fonctionnalités de baselayout (le système d’init par défaut de Gentoo) c’est-à-dire la gestion, le démarrage et l’arrêt des services. Il est developpé en C contrairement à baselayout qui lui est en bash. Cela permet d’augmenter la rapidité de la gestion des dépendances et le lancement des services.
Une autre qualité est de supporter les services supportés par baselayout mais aussi par l’init des BSD, ce qui permet une migration douce et simple. Il permet aussi le lancement parallèle des services, augmentant la vitesse du démarrage.
OpenRC est maintenant supporté par Gentoo, vous trouverez les paquets dans l’arbre portage.
Page officielle d’OpenRC : http://roy.marples.name/openrc
A ce jour le paquet est en testing, il vous faut donc le démasquer :
# echo "sys-apps/openrc ~x86" >> /etc/portage/package.keywords
# echo "sys-apps/baselayout ~x86" >> /etc/portage/package.keywordsEnsuite installez le paquet :
# emerge -av openrc
Ceci dit, pensez à vérifier certains de vos fichiers de configuration :
Le fichier /etc/conf.d/hostname pour le nom du système :
hostname="gentoo1"
Le fichier /etc/hosts pour, en partie, le nom complet du système :
127.0.0.1 gentoo1.gentoofr.org gentoo1
Le fichier /etc/conf.d/keymaps pour la configuration du clavier :
keymap="fr"
...Le fichier /etc/conf.d/hwclock le remplaçant du fichier /etc/conf.d/clock :
clock="local"
par ailleurs, pour spécifier la variable TIMEZONE qui n’est plus présente dans le fichier /etc/rc.conf, créez le fichier /etc/timezone :
Europe/Paris
Attention, à la fin de l’installation, emerge vous dit que le fichier /etc/modules.autoload.d/kernel-2.6 est obsolete. OpenRC utilise un nouveau fichier pour la liste des modules à charger au démarrage : /etc/conf.d/modules. La syntaxe du fichier change : elle devient plus cohérente, dans le sens où on peut lister les modules à charger pour tel ou tel noyau. Par exemple :
modules_2_6_24_gentoo_r3="applesmc nvidia tun"
# et pour passer un argument à un module
modules_nvidia_args-2_6_24_gentoo_r3=""Sinon, vous pouvez aussi les mettre dans la variable modules, mais ils seront chargés pour n’importe quel noyau :
modules="applesmc nvidia tun"
Concernant la configuration réseau, il vous faudra modifier le ficher /etc/conf.d/net comme ce qui suit.
Pour une configuration par DHCP :
config_eth0="dhcp"
Pour une configuration fixe (avec iproute2 dans l’exemple) :
modules="iproute2"
config_eth0="192.168.0.2/24"
routes_eth0="default via 192.168.0.254"Pour les utilisateurs de x11-apps/xinit, vous définirez la variable XSESSION dans le fichier /etc/env.d/99xsession.
Et, pour finaliser, ne pas oublier de définir les variables PAGER et EDITOR qui ne se trouvent plus dans le fichier /etc/rc.conf. Elles sont définies par défaut par le fichier /etc/profile, mais vous pouvez les définir par utilisateur dans un .bashrc ou un .zshrc, sinon globalement en créant le fichier /etc/env.d/99editor :
PAGER="/usr/bin/less"
EDITOR="/usr/bin/vim"Pour les utilisateurs de reiser4, pensez à modifier le fichier /etc/conf.d/fsck pour passer le bon argument à reiser4fsck :
fsck_args="-a"
Rebootez et appréciez...
Pour plus d’informations sur la migration vers OpenRC : http://www.gentoo.org/doc/en/openrc-migration.xml