# [einit] qui joue avec ?

## Bapt

Bonjour,

ma gentoo commence a être trop stable (~amd64), paludis se porte comme un charme, alors je m'ennuie  :Smile: 

Je me disais que j'allais peut être tenté de changer mon init, j'avais regarder initng il fut un temps mais j'en suis revenu, il ne me plaisait pas, je ne sais plus pourquoi...

einit à l'air sympa, mais avant de me lancer, y a t il des retours d'expérience francophone ?

EDIT: correction pour éviter les mal entendus (cf post 2)   :Evil or Very Mad: Last edited by Bapt on Sat Jan 13, 2007 11:12 am; edited 1 time in total

----------

## E11

 *Bapt wrote:*   

> Bonjour,
> 
> ma gentoo commence a être trop stable (~amd64), paludis se porte comme un charme, alors je m'ennuie 
> 
> Je me disais que j'allais peut être tenté de changer mon init, j'avais regarder initng il fut un temps mais j'en suis revenue, il ne me plaisait pas, je ne sais plus pourquoi...
> ...

 

Tient, c'est bizarre, il me semblait que c'était Monsieur Bapt... et non madame   :Laughing: 

Déso pour l'énhaurme troll poilu... Mais c'était plus fort que moi   :Embarassed:   :Laughing: 

----------

## titoucha

 *Bapt wrote:*   

> Je me disais que j'allais peut être tenté de changer mon init, j'avais regarder initng il fut un temps mais j'en suis revenue, il ne me plaisait pas, je ne sais plus pourquoi...

 

J'avais testé et j'avais trouvé à l'époque qu'entre deux versions il y avait trop de changements qui cassaient tout et j'en avais eu vite ma claque.

----------

## truc

personnellement, j'utilisais initng jusqu'à y'a pas très longtemps, et maintenant je fais joujou avec einit, c'est sympa, en plus vous tombez bien, si vous voulez commencez maintenant, car mdeininger vient juste de mettre de la doc à jour!

Par contre, si vous trouviez que initng changeait trop vite, il ne faut pas déjà tenter einit, car ça va être un peu pareil, des trucs rajouté dans la configuration etc...

ceci dit, moi j'ai bien einit  :Smile:  faire des services, est relativement facile etc... et même si ça n'est pas le facteur premier de qualité pour moi, le boot est très rapide par rapport à sysvinit, mais grossomodo pareil qu'avec initng

----------

## SanKuKai

J'utilise einit depuis peu moi aussi et je trouve ça vraiment bien.

Je suis d'accord avec titoucha et truc pour dire que pas mal de choses changent d'une version sur l'autre, même si ayant commencé avec la version 0.12.x je n'ai pas connu de changements trop traumatisants.

Autre point négatif, il y a encore quelques soucis au démontage de /proc, /sys et / mais mdeininger permet de contourner le problème pour le moment en utilisant le script /etc/init.d/halt.sh pour démonter correctement les récalcitrants (espérons qu'einit gère ça tout seul rapidement).

Sinon en ce qui concerne les points positifs, il y en pas mal de séduisants :

[*] La phase de boot est extrêmement rapide, je gagne environ 20s par rapport à sysvinit (je n'ai jamais utilisé initng mais d'après les commentaires c'est au moins aussi rapide) ;

[*] einit est très modulaire et les modules sont très simples à écrire (beaucoup plus à mon avis que les scripts de /etc/init.d/) ;

[*] Le développement est très rapide et l'auteur très sympathique et disponible.

----------

## Bapt

C'est marrant on retrouve toujours u peu les mêmes  :Smile: 

Bon je vais aller lire un peu la doc de plus près, configurer mon overlay et voir de plus près ce que ça donne.

Ma seule réticence est que tout semble se trouver dans des fichiers xml et que ça semble pas terrible à éditer de prim'abord ...

----------

## truc

y'a de un peu de doc sur le wiki aussi, et.. y'a également le fichier einit.conf pour l'overlay avec paludis si ça t'interesse:)

----------

## Bapt

 *truc wrote:*   

> y'a également le fichier einit.conf pour l'overlay avec paludis si ça t'interesse:)

 

Déjà vue et déjà pris  :Smile:  merci

----------

## titoucha

J'ai testé le reposite, il me fait une dépendance circulaire sur vim que je n'ai même pas installé.   :Confused: 

Par contre vous avez installé quel version de einit? est-ce que les 9999 sont assez stables.

Edit: C'est le dépot gentoo qui me fait la dépendance circulaire.   :Confused: 

----------

## truc

la version 9999 est à mon avis préférable car einit est toujours en plein développement  :Smile: 

----------

## razer

J'ai rien essayé du tout en matière d'init, mais c'est sympa de voir qu'il se passe des choses dans ce domaine, surtout si il s'agit d'accélérer le temps de boot. 

D'ailleurs, sur ce point, je trouve que gentoo de base (sysvinit) est particulièrement lente à démarrer, en comparaison avec une ubuntu. 

Enfin, en tant que fervant utilisateur du software suspend2, j'en aurait presque oublié que mes PCs bootent parfois...  :Laughing: 

----------

## titoucha

 *truc wrote:*   

> la version 9999 est à mon avis préférable car einit est toujours en plein développement 

 

Merci, j'ai pris la 9999 et non les versions 9999-r*, je trouve d'ailleur cette numérotation très étrange.

----------

## CryoGen

J'ai pas trouvé eINIT sur le wiki   :Embarassed: 

Vu que j'utilise paludis aussi, je ne veux pas me séparer du groupe   :Laughing: 

----------

## titoucha

Il a sont propre wiki qui se trouve sur la page du projet ICI

C'est pour que tu puisses suivre le groupe   :Wink: 

----------

## CryoGen

 *titoucha wrote:*   

> Il a sont propre wiki qui se trouve sur la page du projet ICI
> 
> C'est pour que tu puisses suivre le groupe  

 

Merci   :Razz: 

----------

## truc

en fait il faudrait plutôt prendre le dernier 9999, mais je trouve également la numérotation très étrange, je préfèrerai avoir un ebuild 9999 ou scm tant qu'on y est, et pas touche minouche à la version ni à la révision de cet ebuild!

----------

## CryoGen

 *Wiki de eINIT wrote:*   

> There's two svn ebuilds: -9999-r3 and -9999-r4: -r3 will simply install the current svn version, -r4 also include's Ryan's eselect-einit configuration tool.

 

Rien de bien méchant  :Smile: 

Question sur la marche à suivre pour installer einit:

1 -On le paludise

2 -On configure le fichier Local.xml avec les info du fstab devenu inutile

2bis -On y ajoute aussi le hostname

3 -On a de la chance: tout nos services ont déja un module eINIT deja crées   :Razz: 

3bis -On n'a pas de chance: On ecrit les modules des services qui nous manque   :Evil or Very Mad: 

4 -On edite le Local.xml pour ajouter les services à demarer

5 -On ajoute une entré dans le grub.conf pour utiliser einit.

Ca vous semble correcte ? j'ai bien compris ?

----------

## truc

 *CryoGen wrote:*   

> [
> 
> Ca vous semble correcte ? j'ai bien compris ?

 

faut que tu vois dans einit.conf si les modes par défaut te conviennent (comprendre runlevel), et pourle fstab, il n'est pas devenu inutile car des fonctions toutes simple du style mount vont l'utiliser:)

----------

## CryoGen

 *truc wrote:*   

>  *CryoGen wrote:*   [
> 
> Ca vous semble correcte ? j'ai bien compris ? 
> 
> faut que tu vois dans einit.conf si les modes par défaut te conviennent (comprendre runlevel), et pourle fstab, il n'est pas devenu inutile car des fonctions toutes simple du style mount vont l'utiliser:)

 

Oki  :Smile: 

merci bien   :Cool: 

----------

## titoucha

Je sais pas si c'est moi qui ai un à priori, mais je trouve les fichiers de configuration en xml assez pénibles à lire.

J'ai fait une première configuration et je dois dire que pour l'instant je suis pas vraiment surpris en bien, niveau vitesse de démarrage   :Confused:  ai-je loupé quelque chose ?

----------

## titoucha

j'ai tout viré, les fichiers de configurations sont trop une prise de tête, ça fait usine à gaz à mon goût.

Je préfère la gestion de sysv un service un fichier, je vais peut être refaire un test avec initng.

----------

## Bapt

 *titoucha wrote:*   

> Je sais pas si c'est moi qui ai un à priori, mais je trouve les fichiers de configuration en xml assez pénibles à lire

 

Oui c'est ce que je me disais. Je ne pense pas du tout que le xml soit adapté à ce genre de fichiers qui s'éditent la main... bien moins lisible qu'un bon vieux fichier de conf.

----------

## truc

c'est un peu dur  pour se mettre dedans, mais en fait, c'est bien rangé, je trouve juste qu'on devrait mettre la définitino des différents services dans un autre fichier séparés, parce-qu'il sont tellement nombreux qu'ils empèchent d'avoir une vision globale des fichiers de conf.. (enfin, c'est peut-être mon écran qui est trop petit? ? naaaaan, no way;) )

Sinon, vous pouvez biensur laisser tomber, mais si vous voulez on peut très bien aussi s'entraider, soit sur le forum soit directement sur #einit ou que  sais-je, ce soir je pourrai normalement être dans les parrages  :Wink:  (après la lessive bien sûr   :Evil or Very Mad:  )

----------

## titoucha

Merci pour ta proposition, je réinstalle einit et si jamais je pose mes questions sur le forum.

----------

## yoyo

J'avais testé einit au tout début du projet et ça fonctionnait assez bien. Les modules sont ultra-simples à écrire et l'auteur très ouvert et réactif.

Mais il y a eu pas mal de changement et je n'ai plus assez de temps libre pour suivre tout ça correctement, d'autant que tout le site est en anglais et que j'ai du mal avec les termes un peu techniques (déjà qu'en français c'est parfois limite  :Rolling Eyes:  ).

Si une âme charitable voulait bien faire un howto dans la sous-section du forum, je lui serais infiniment reconnaissant.  :Wink: 

----------

## titoucha

Pour le HOWTO on est deux alors   :Wink: 

J'essaye de configurer le wifi mais je n'y arrive pas du tout, dans le fichier local il y a que le ssid de noter et je ne connais pas les mots clef pour le reste de la configuration.

Premier constat, pour l'instant avec einit c'est plus lent au démarrage car il vérifie mes partitions alors que dans mon fstab elle sont bien configurée pour ne pas l'être.

----------

## yoyo

 *titoucha wrote:*   

> J'essaye de configurer le wifi mais je n'y arrive pas du tout, dans le fichier local il y a que le ssid de noter et je ne connais pas les mots clef pour le reste de la configuration.

 Ah, curieux ... Je n'ai eu aucun problème pour ça. De mémoire, j'utilise les commades iwconfig et iwpriv comme si je configurais ma connexion en ligne de commande.

 *titoucha wrote:*   

> Premier constat, pour l'instant avec einit c'est plus lent au démarrage car il vérifie mes partitions alors que dans mon fstab elle sont bien configurée pour ne pas l'être.

 Pour ça, j'ai repris mon ancienne config d'einit dans laquelle il était nécessaire de rentrer son plan de partitionnement. Du coup, aucun ralentissement à ce niveau pour ma part.

Mes 0.02 cents.

----------

## titoucha

Merci @yoyo je vais tester tes deux solutions.

----------

## truc

y'a pas vraiment d'howto à faire, ça serait surtout une présentation de la chose, mais bon, euh, en quelques mots, il faut mettre regler ses points de montage, choisir ce qu'on veut pour le réseau, et modifier au besoin l'alias network pour qu'il contienne ce que vous utilisez vraiment, et enfin il faut regarder les différents modes par défaut dans einit.xml, et si ils ne vous conviennent pas, redéfinissez ce que vous voulez dans local.xml.

et ensuite, crééz vos services si ils vous en manquait:)

----------

## titoucha

J'ai trouvé comment enlever les contrôle des partitions et du coup ça va plus vite   :Very Happy: 

J'ai pas encore trouver pour le wireless, je n'arrive même pas à lui faire charger le module pour ma carte   :Embarassed: 

Dernier point il ne veut pas me créer le point /dev/initctl

Bon je cherche la suite plus tard.

----------

## yoyo

 *truc wrote:*   

> y'a pas vraiment d'howto à faire, ça serait surtout une présentation de la chose

 En fait de howto je voulais surtout parler d'une traduction (soit dans la sous-section howto du foum, soit sur le wiki de einit).  :Rolling Eyes: 

Parce que mdeininger détaille très précisément le fonctionnement d'einit et que je passe probablement à côté de pleins de subtilités qui pourraient m'être utiles (la faute à gentoo ça de vouloir comprendre comment tout fonctionne quant on veut l'utiliser  :Laughing:  ).

@titoucha : de mémoire il me semble qu'il n'y a qu'un "module" wireless pour les cartes atheros (net-ath0 je crois). Il devrait te suffire de le recopier et de modifier les noms en fonction de tes besoins (perso, j'ai un module "net-ra0" pour ma carte à base de ralink).

Enjoy !

----------

## truc

 *titoucha wrote:*   

> J'ai trouvé comment enlever les contrôle des partitions et du coup ça va plus vite   

 

Tu m'interesses : :Smile:  tu t'y es pris comment en fait? t'as juste redefini le  <fsck-command s="/sbin/fsck -a -T -t %1$s %2$s" /> qu'on trouve dans einit.xml? Mais ce qui m'embète, c'est que si on fait ça ça ne le fait plus jamais, non? Pourtant y'avait pas une truc avec sysvinit qui te faisait un fsck tous les 100 montages de la partition  :Question: 

----------

## Bapt

Décidément je ne sais pas quoi penser de einit, j'aime beaucoup le fonctionnement et les principes (j'adore l'utilisation des efl, etc.) en revanche je déteste parceque illisible le xml. Je pense que se serait une bonne chose de fournir un einitctl (à la sysctl) permettant ainsi de garder les fichiers xml (pratique à parser) tout en ayant une interface claire. 

Je vais voir ce que je peux faire de ce côter là car éditer du xml à la main, vraiment beuark !!!

----------

## Magic Banana

Une application en Java (utilisant DOM) pour éditer un fichier de configuration XML, ce doit être faisable en quelques heures (GUI incluse)... Voilà par exemple ce qui se fait en quelques dizaines de lignes. Il ne s'agit là que de visualisation mais rajouter la possibilité de modifier ne doit pas être bien difficile...

Si quelqu'un veut s'y atteler, autant commencer par là.

----------

## Bapt

C'est ce que je suis en train de faire, mais en perl  :Smile:  avec XML::DOM

Pour le moment je visualise de manière "propre" le contenu de mon local.xml  :Smile: 

----------

## titoucha

 *yoyo wrote:*   

> @titoucha : de mémoire il me semble qu'il n'y a qu'un "module" wireless pour les cartes atheros (net-ath0 je crois). Il devrait te suffire de le recopier et de modifier les noms en fonction de tes besoins (perso, j'ai un module "net-ra0" pour ma carte à base de ralink).

 

Si tu pouvais me mettre la partie qui concerne ta ra0, j'ai la même carte

@truc, j'ai fait comme toi mais en pire, j'ai carrément virer la commande fsck.   :Wink: 

 *babt wrote:*   

> Décidément je ne sais pas quoi penser de einit, j'aime beaucoup le fonctionnement et les principes (j'adore l'utilisation des efl, etc.) en revanche je déteste parceque illisible le xml. Je pense que se serait une bonne chose de fournir un einitctl (à la sysctl) permettant ainsi de garder les fichiers xml (pratique à parser) tout en ayant une interface claire. 

 

+1 si ce n'était pas pour découvrir quelque chose de nouveau j'aurais déjà laissé tomber, car je ne suis vraiment pas à l'aise avec ce xml.

----------

## truc

salut, vous avez plein de bonnes idées par ici:)

en fait mdeininger prévoyait lui aussi d'écrire un GUI pour tout ça, c'est dans les dernières pages, que ça se disait, sinon bapt pour les dtd, il avait dit qu'il n'en avait pas écrit, car il n'en avait pas (encore?) besoin, et que ça serait très compliqué  :Smile: 

----------

## Bapt

 *truc wrote:*   

> salut, vous avez plein de bonnes idées par ici:)
> 
> en fait mdeininger prévoyait lui aussi d'écrire un GUI pour tout ça, c'est dans les dernières pages, que ça se disait, sinon bapt pour les dtd, il avait dit qu'il n'en avait pas écrit, car il n'en avait pas (encore?) besoin, et que ça serait très compliqué 

 

C'est pas super compliqué une dtd, et si il veut un coup de main genre un CLI (ce serait quand même vachement qu'un bête GUI  :Smile: ) sans DTD, on ne peut pas deviner l'intégralités des éléments/attributs disponibles.

En plus sa lui simplifierait la vie pour la validation de local.xml.

----------

## truc

bah, avec la quantité d'élément possible de conbinaison etc.. ça peut partir bien en live la dtd quand même non? En plus il me semble (j'suis pas sûr.. ) que les dtd ne sont pas excelentes quand il s'agit de vérifier les attributs etc.. et la config d'einit, c'et un peu à base d'attribut quoi :/

----------

## Bapt

 *truc wrote:*   

> bah, avec la quantité d'élément possible de conbinaison etc.. ça peut partir bien en live la dtd quand même non? En plus il me semble (j'suis pas sûr.. ) que les dtd ne sont pas excelentes quand il s'agit de vérifier les attributs etc.. et la config d'einit, c'et un peu à base d'attribut quoi :/

 

Donc un petit xml schema et on en parle plus  :Smile: . oui il vaut mieux bien chiader son shcema (dtd ou xml), après, ça simplifie drôlement la vie. Pour la validation du format du fichier, si il ne passe pas par ça je n'imagine même pas le nombre de ligne de code pour rien. L'intérêt de choisir le XML c'est justement pour les outils XML et les API agréables. Si il n'utilise pas les outils, il se pourri la vie avec du code inutile.

Si il me fournit un fichier xml exhaustif, je lui pond une dtd (je pense que dans son cas c'est suffisant) ou un xml schema si il préfère et ça roule.

C'est comme une base de donnée, il vaut mieux bien réfléchir à la structure au début, et éventuellement y apporter deux ou trois modifications par le suite, plutôt que de la créer au fur et à mesure, sinon ça devient rapidement du n'importe quoi.

----------

## titoucha

Je viens de trouver un autre défaut qui là me parait assez important, lors d'une maj de einit, le dev à rajouté plusieurs services dans les fichiers de configs, le problème c'est que je les ai modifiés et donc si je prend les nouveaux fichiers je perd mes modifications et si je garde mes fichiers je n'ai pas les nouveaux services.

Honnêtement je trouve le principe de ces deux gros fichiers de configuration assez mauvais, je préfère nettement le principe un service un fichier de conf.

----------

## truc

 *titoucha wrote:*   

> Je viens de trouver un autre défaut qui là me parait assez important, lors d'une maj de einit, le dev à rajouté plusieurs services dans les fichiers de configs, le problème c'est que je les ai modifiés et donc si je prend les nouveaux fichiers je perd mes modifications et si je garde mes fichiers je n'ai pas les nouveaux services.
> 
> Honnêtement je trouve le principe de ces deux gros fichiers de configuration assez mauvais, je préfère nettement le principe un service un fichier de conf.

 

c'est assez pénible, heureusement, tu peux faire joujou avec sdiff, un superbe outil qui va te révolutionner la vie dans des cas comme ça  :Wink: 

----------

## yoyo

 *titoucha wrote:*   

> Honnêtement je trouve le principe de ces deux gros fichiers de configuration assez mauvais, je préfère nettement le principe un service un fichier de conf.

 Il me semble qu'au départ s'était le cas. Le problème, c'est le nombre de services et comment gérer les services de chacun en sachant que le principe est de pouvoir se faire sa sauce dans son coin.

Perso, j'utilise "gvimdiff" lors des mises à jour des gros fichiers de configuration tels que ceux-là.

Sinon, voici ma configuration wifi :

```
****** Fichier einit.xml ****

<!-- another hooray for haader, who contributed this module definition.

    this should (in theory) work for his Atheros WLAN NIC. I slightly modified it to pass the SSID

    as a varialble, just like he wanted. -->

    <shell id="shell-net-ath0"

     name="Network (Wireless, Atheros)"

     requires="mount/system"

     provides="net-ath0"

     enable="rm -f /var/run/dhcpcd-ath0.pid ;

             /sbin/modprobe ${configuration_kernel_module_ath0} ;

             /sbin/wlanconfig ath0 create wlandev wifi0 wlanmode sta ;

             /sbin/iwconfig ath0 essid ${configuration_network_wireless_ssid} ;

             /sbin/iwpriv ath0 mode 3 ;

             /sbin/wpa_supplicant -Dmadwifi -c/etc/wpa_supplicant.conf -W -B -iath0 -P/var/run/wpa_supplicant-ath0.pid ;

             /bin/wpa_cli -iath0 -B ;

             dhcpcd ath0 ;

             /sbin/ifconfig ath0 ; "

     disable="${configuration_command_rmmod} ${configuration_kernel_module_ath0}"

     variables="configuration-kernel-module-ath0:configuration-network-wireless-ssid:configuration-command-rmmod" />

    

    <shell id="shell-net-ra0"

       name="Network (Wireless, Ralink)"

       requires="mount/system"

       provides="net-ra0"

       enable="/sbin/modprobe ${configuration_kernel_module_ra0} ;

               /sbin/iwconfig ra0 essid ${configuration_network_wireless_ssid} ;

          /sbin/iwconfig ra0 mode managed ;

          /sbin/iwconfig ra0 essid ${configuration_network_wireless_ssid} ;

               /sbin/iwpriv ra0 set EncrypType=NONE ;

               /sbin/ifconfig ra0 192.168.x.y broadcast 192.168.0.255 netmask 255.255.255.0 up ;

          /sbin/route add default gw 192.168.z.t ; "

       disable="${configuration_command_rmmod} ${configuration_kernel_module_ra0}; /bin/true"

       variables="configuration-kernel-module-ra0:configuration-network-wireless-ssid:configuration-command-rmmod" />

```

Comme tu peux le voir c'est un copier-coller de la partie ath0 adapté au ralink en fonction de ce que j'avais mis dans les /etc/conf.d\{net;wireless}.

```
****** Fichier local.xml ****

 <module>

    <ath0 s="ath_pci" />

    <ra0 s="rt2500" />

 </module>

   <wireless>

    <ssid s="myssid" />

   </wireless>
```

Ici c'est les parties permettant de modifier les variables "perso" que tu peux adapter à ton goût (ajout d'une variable $IP etc.).

Enjoy !

----------

## titoucha

Merci pour vos conseils, mais après avoir fait fonctionner le wifi j'ai activé hplip et celui-ci n'a rien voulu entendre, j'ai craqué et je suis retourner sous sysv.

En plus pour le démontage du système il me mettait environs 30 secondes, donc le temps gagné au montage était perdu au démontage.

Je pense que je réessayerais dans quelques semaines, le temps que le programme évolue.

----------

## yoyo

 *titoucha wrote:*   

> En plus pour le démontage du système il me mettait environs 30 secondes, donc le temps gagné au montage était perdu au démontage.

 Il semblerai qu'une mise à jour règle ce problème : [einit] versions 0.14.0.500 - 0.15.2 -- happy new year.

Enjoy !

----------

## titoucha

Merci du renseignement   :Smile: 

----------

