Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[howto] initng
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index French
View previous topic :: View next topic  
Author Message
bouleetbil
Guru
Guru


Joined: 06 Jul 2004
Posts: 456
Location: Montpellier

PostPosted: Fri Feb 24, 2006 11:08 pm    Post subject: [howto] initng Reply with quote

Bonsoir,
En ce moment je fais des essais avec initng qui pourra à terme remplacer sysvinit

1. Explication
Voici une explication de initng
InitNG remplace le System V Init (sysvinit)
Il remplace aussi tous les scripts de démarrage, ce qui fait qu'on n'utilise plus /etc/init.d/*. Ca peut aussi rendre pas mal de documentations obsolètes ou inappropriées.
Par exemple:
1) pour démarrer manuellement un service avec le sysvinit, on ferait :
/etc/init.d/unservice start
avec initng, on fait comme ceci:
ngc -u daemon/unservice
2) idem, pour arrêter ce service avec sysvinit:
/etc/init.d/unservice stop
ou avec initng:
ngc -d daemon/unservice
3) pour ajouter un service au démarrage avec sysvinit:
rc-update add unservice default
ou avec initng:
ng-update add unservice

InitNG utilise deux formats de fichiers de «scripts»: XML ou «.i».


Aprés cette petite explication, on peux se lancer dans l'installation. ;-)
Je me suis basé sur la version cvs. Il est possible de cumuler initng et sysvinit c'est au niveau du gestionnaire de boot que ce se fera le choix.

2. Pré installation
Si vous avez déjà installé initng il faut le désinstaller :
Code:

# emerge -C initng

Ensuite, si vous utilisez genkernel il faut modifier le script /usr/share/genkernel/generic/linuxrc
Ajouter après :
Code:
 real_init\=*)
         REAL_INIT=`parse_opt "${x}"`
         ;;

ceci
Code:

 real_initd\=*)
         REAL_INITD=`parse_opt "${x}"`
         ;;

Remplacer les 2 occurences de
Code:
/sbin/init ${REAL_INIT}
par
Code:
/sbin/${REAL_INITD} ${REAL_INIT}

Recompilez l'initrd :
Code:

# genkernel --gensplash=Metal-Tosh --install initrd

(Choisir votre gensplash)

Ebuild pour initng-cvs :
Code:

# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
#

ESVN_REPO_URI="http://svn.initng.thinktux.net/initng/trunk"
ESVN_PROJECT="initng"
inherit subversion

DESCRIPTION="A next generation init replacement"
HOMEPAGE="http://initng.thinktux.net/"
SRC_URI=""

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sparc ~x86"
PLUGINS="dev doc also bash_launcher chdir chroot conflict cpout cron critical
   daemon dllaunch envparser find fstat history initctl interactive iparser
   last limit logfile netprobe idleprobe ngc2 ngcs pause pidfile reload
   renice rlparser simple_launcher splash usplash stcmd stdout suid syncron
   syslog unneeded jbx"
IUSE="debug ${PLUGINS}"

S=${WORKDIR}/${PN}

pkg_preinst() {
   ewarn "All plugins are disabled by default, check USE flags"
}

src_unpack() {
   subversion_src_unpack
   ./autogen.sh || die "autogen failed"
}

src_compile() {
   ECONF_OPTS="--prefix=/"
   for plugin in ${PLUGINS}
   do
      ECONF_OPTS="${ECONF_OPTS} $(use_with ${plugin})"
   done
   econf ${ECONF_OPTS}
   emake || die
}

src_install() {
   make install DESTDIR="${D}" || die
   # Dont need libtool linker scripts, so punt em
   find "${D}" -name '*.la' -exec rm {} \;
   # other packages install these
   rm "${D}"/sbin/{{ifplugd,wpa_cli}.action} || die
   dodoc README FAQ AUTHORS ChangeLog NEWS TEMPLATE_HEADER TODO
}

pkg_postinst() {
   einfo "remember to add init=/sbin/initng in your grub or lilo config"
   einfo "to use initng Happy testing."
}




3. Installation
Démasquer initng-cvs :
Code:
# echo sys-apps/initng-cvs ~x86 >> /etc/portage/package.keywords

Gestion de la variable USE :
Editer /etc/portage/package.use pour ajouter ceci:
Code:
sys-apps/initng-cvs dev doc also bash_launcher chdir chroot conflict cpout cron critical daemon dllaunch envparser find fstat history initctl interactive iparser last limit logfile netprobe idleprobe ngc2 ngcs pause pidfile reload renice rlparser simple_launcher -splash usplash stcmd stdout suid syncron syslog unneeded -jbx

De cette manière tous les plugins disponibles seront installés. Sauf splash chez moi, la compilation plante sur cela : initng_splash.c:221 et jbx plante sur initng_jbx.c:203: warning: nested extern declaration of `initng_plugn_hook_del'
Installer
Code:
# emerge initng-cvs


4. Configuration du gestionnaire de boot
Pour les utilisateurs de genkernel :
Ajouter à l'entrée de GRUB ou dans la section append de LILO[/code][/b]
Code:
real_initd=init

Cela bootera normalement.
Pour utiliser initng ajouter
Code:
real_initd=initng

Sans genkernel dans la section append de LILO ou dans l'entrée de GRUB
Code:
init=/sbin/initng


4. Configuration initng
Pour ajouter un script au démarrage ou le supprimer utiliser :
Code:
# ng-update


Par contre, je n'ai pas encore réussi à démarrer avec initng :cry: . pour le moment je bloque sur hdparm. En fait il faut adapter les scripts de démarrage. Donc, au fur et à mesure que j'avancerais je posterais mes scripts.
_________________
L'homme n'est pas fait pour travailler ça le fatigue.
LiveCD Gentoo : http://www.frogdev.info
Gentoo/Freebsd : http://www.frogdev.info/gentoo_freebsd.php


Last edited by bouleetbil on Sat Feb 25, 2006 8:00 am; edited 1 time in total
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772
Location: Wellington, Aotearoa

PostPosted: Sat Feb 25, 2006 1:13 am    Post subject: Reply with quote

C'est sympa de faire un howto sur initng :D Et l'ebuild CVS à l'air sympa :)
En ce qui me concerne, je tourne avec la version 0.5.3 qui marche plutôt bien, à part les mixer alsa qui sont pas restaurés, j'ai pas vraiment planché dessus encore, de plus que je démarre rarement avec (seulement pour faire joujou ou quand je suis pressé).
Mais je suis dérouté à chaque changement de version parce que le format des scripts change tout le temps :?, donc je trouve ça dur à maintenir pour le moment. Vivement que ça soit stabilisé...
Back to top
View user's profile Send private message
bouleetbil
Guru
Guru


Joined: 06 Jul 2004
Posts: 456
Location: Montpellier

PostPosted: Sat Feb 25, 2006 8:03 am    Post subject: Reply with quote

Merci en ce qui concerne l'ebuild je l'ai trouvé ici http://svn.initng.thinktux.net/initng/trunk. Il a juste fallu modifier :
Code:
ESVN_REPO_URI="http://svn.initng.thinktux.net/initng/trunk"
car cela ne pointer au bon endroit.
_________________
L'homme n'est pas fait pour travailler ça le fatigue.
LiveCD Gentoo : http://www.frogdev.info
Gentoo/Freebsd : http://www.frogdev.info/gentoo_freebsd.php
Back to top
View user's profile Send private message
PabOu
Veteran
Veteran


Joined: 11 Feb 2004
Posts: 1088
Location: Hélécine - Belgium

PostPosted: Sat Feb 25, 2006 11:23 am    Post subject: Re: [howto] initng Reply with quote

bouleetbil wrote:
InitNG remplace le System V Init (sysvinit)
Il remplace aussi tous les scripts de démarrage, ce qui fait qu'on n'utilise plus /etc/init.d/*. Ca peut aussi rendre pas mal de documentations obsolètes ou inappropriées.


et quels sont les avantages de passer à InitNG ?
Back to top
View user's profile Send private message
BuBuaBu
l33t
l33t


Joined: 09 Jul 2005
Posts: 914
Location: France

PostPosted: Sat Feb 25, 2006 12:36 pm    Post subject: Reply with quote

Un boot beaucoup plus rapide. (4 s chez moi après le chargement du kernel.
Back to top
View user's profile Send private message
bouleetbil
Guru
Guru


Joined: 06 Jul 2004
Posts: 456
Location: Montpellier

PostPosted: Sat Feb 25, 2006 4:19 pm    Post subject: Reply with quote

Oui, c'est juste pour booter plus vite, même si on redemarre pas beaucoup sous linux :lol:
Bon j'ai réglé mon problème avec hdparm voici mon script c'est une adaptation du script rc originale :
Code:

service system/hdparm {
   need = system/initial;
   env_file = /etc/conf.d/hdparm;
   script start = {
checkconfig() {
   drives=""
   cdroms=""

   for i in `dir /dev/discs 2>/dev/null`
   do
      if [ ! -n "`ls -la /dev/discs/${i} | grep scsi`" ]
      then
         all_discs="${all_discs} `basename ${i}`"
      elif [ -n "${all_args}" ]
      then
         echo "Skipping $i hdparm does not support SCSI devices."
      fi
   done
   for i in `dir /dev/cdroms 2>/dev/null`
   do   
      if [ ! -n "`ls -la /dev/cdroms/${i} | grep scsi`" ]
      then
         all_cdroms="${all_cdroms} `basename ${i}`"
      elif [ -n "${all_args}" ]
      then
         echo "Skipping $i hdparm does not support SCSI devices."
      fi
   done

   for i in ${all_discs}
   do
      tmp_args=${i}_args
      eval hd_args=\$${tmp_args}

      if [ -n "${hd_args}" ]
      then
         drives="$drives $i"
      fi
   done

   for i in ${all_cdroms}
   do
      tmp_args=${i}_args
      eval hd_args=\$${tmp_args}

      if [ -n "${hd_args}" ]
      then
         cdroms="$cdroms $i"
      fi
   done
   }

   echo "Starting hdparm"
   checkconfig
   
   if [ -n "${all_args}" ]
   then   
      for i in ${all_discs}
      do
         echo "Running hdparm on ${i}"
         hdparm ${all_args} /dev/discs/${i}/disc &> /dev/null
         
      done

      for i in ${all_cdroms}
      do
         ebegin "Running hdparm on ${i}"
         hdparm ${all_args} /dev/cdroms/${i} &> /dev/null
         eend $? "Failed to start hdparm on ${i}."
      done
   else
      for i in ${drives}
      do
         tmp_args=${i}_args
         eval hd_args=\$$tmp_args
         echo "Running hdparm on ${i}"
         hdparm $hd_args /dev/discs/${i}/disc &> /dev/null
         
      done

      for i in ${cdroms}
      do
         tmp_args=${i}_args
         eval hd_args=\$$tmp_args
         echo "Running hdparm on ${i}"
         hdparm $hd_args /dev/cdroms/${i} &> /dev/null
         
      done
   fi
}


Après je m'attaque dbus qui plante aussi :wink:

J'en profite pour poster 1 script sympa trouvé sur le wiki gentoo
Code:

#!/bin/sh
ls -1 /etc/runlevels/ | while read RUNLEVEL
   do ls -1 /etc/runlevels/${RUNLEVEL}/ | while read DAEMON
      do HAS_D=`find /etc/initng -iname ${DAEMON}.i`
         if [ ! -n "$HAS_D" ]; then
            echo -en '\E[47;31m'"\033[1mERROR\033[0m: ${DAEMON}.i not found.\n"
         fi
         if [ -n "$HAS_D" ]; then
            if [ "$RUNLEVEL" = "boot" ]; then
               NG_LEVEL="system"
            elif [ "$RUNLEVEL" = "single" ]; then
               NG_LEVEL="single"
            else
               NG_LEVEL="default"
            fi
            ng-update add ${DAEMON} ${NG_LEVEL}
         fi
      done
   done



Il permet d'ajouter à initng l'équivalent du script rc s'il éxiste et sinon signale une erreur.
_________________
L'homme n'est pas fait pour travailler ça le fatigue.
LiveCD Gentoo : http://www.frogdev.info
Gentoo/Freebsd : http://www.frogdev.info/gentoo_freebsd.php
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sun Mar 05, 2006 1:19 pm    Post subject: Reply with quote

salut, initng-9999 est disponible directement dans portage, ce qui est étonnant c'est qu'il n'a pas tous ces use flags? je ne trouve rien de particulier sur eux d'ailleurs?(arf si en fait certains sont un peu documenté sur le site d'initng. Quoiqu'il en soit, le ./autogen.sh de l'ebuild est obselete:
Code:
THIS SCRIPT IS OBSOLTED!                                                   |
|  it will be removed next days.                                              |
|  use this:                                                                  |
|  make -f Makefile.cvs                                                       |
|  or:                                                                        |
|  autoreconf --force --install

Donc je doute que cette ébuild fonctionne encore, mais il peut-être interessant de s'en refaire un dans un overlay avec tous les use flags, (et le ewarn "All plugins are disabled by default, check USE flags" ;)
arf je viens de voir qu'il y a déjà un ebuild tout fait dans l'"archive svn" (aucune idée comment le dire :? Je veux dire dans distfiles/svn-src/initng )

Et puis pour chipoter c'est pas cvs mais svn .. m'enfin..

Sinon, ici, ça démarre, ça s'est amélioré pas mal déjà, car maintenant ça monte la racine / en premier... Ce qui évite d'avoir des mountpoints qui n'existent pas.. Enfin c'était comme ça la première fois que je l'avais essayé.. ça date un peu maintenant..

Bref...



pierreg wrote:
C'est sympa de faire un howto sur initng :D Et l'ebuild CVS à l'air sympa :)
En ce qui me concerne, je tourne avec la version 0.5.3 qui marche plutôt bien, à part les mixer alsa qui sont pas restaurés, j'ai pas vraiment planché dessus encore, de plus que je démarre rarement avec (seulement pour faire joujou ou quand je suis pressé).
Mais je suis dérouté à chaque changement de version parce que le format des scripts change tout le temps :?, donc je trouve ça dur à maintenir pour le moment. Vivement que ça soit stabilisé...


J'ai aussi (eu :) ) un problème avec alsa, mais comment dire.. Un peu différent, j'ai une question pour toi pierreg chez toi, alsa est compilé en dur ou en module dans ton noyau? Chez moi c'est en module) Si je demande c'est que je suis étonné de voir qu'alsasound semble s'être lancé chez toi, (même si les mixer n'étaient pas bon..)

Je m'explique: (c'est pas pour raconter ma vie, juste au cas où, ça peut servir et puis vous aurez peut-être des critiques à faire..)
dans system/alsasound.i on a

Code:
...
service system/alsasound {
need = system/bootmisc;
use = system/coldplug system/alsasound/cards system/static-modules system/alsasound/ioctl32 system/alsasound/oss system/alsasound/seq;
...


sur le site d'initng on peut lire use -->Service uses service, IF the service is in "starting" state (for example if it's in a runlevel starting it) we depend on it.

Je ne vois pas trop ce qu'ils veulent dire par là, mais ce que je vois c'est que system/alsasound/cards n'est pas lancé, et donc aucune chance pour que les modules correspondants à ma carte soient chargés :?, Bref vous me direz ce que vous en pensez mais j'ai mis system/alsasound/cards dans need plutôt que dans use ce qui donne

(toujours dans system/alsasound.i)
Code:
...
service system/alsasound {
need = system/bootmisc system/alsasound/cards;
use = system/coldplug system/static-modules system/alsasound/ioctl32 system/alsasound/seq system/alsasound/oss;
...


Et là effectivement les modules sont chargés, (/proc/asound est créé (cf mon post sans réponse...) Et alsasound démarre enfin...

Mais comme le dit pierreq les mixers ne sont pas réglés, pourtant y'a le service system/alsasound/mixerstate (dans system/alsasound.i)) qui est là pour ça, mais il dépend de system/alsasound donc on ne voit pas forcément ce qu'on peut en faire..

En fait d'après ce post, (j'ai bien fouillé pour le trouvé celui là...) il suffit d'ajouter le service system/alsasound/mixerstate au runlevel default
Code:
ng-update add system/alsasound/mixerstate default


et de demander au service alsasound de l'arreter lorsque on arrete alsasound
ajouter system/alsasound/mixerstate à also_stop dans le service alsasound:
ce qui nous donne

(toujours dans system/alsasound.i)
Code:
...
service system/alsasound {
    need = system/bootmisc system/alsasound/cards;
    use = system/coldplug system/static-modules system/alsasound/ioctl32 system/alsasound/seq system/alsasound/oss;
    also_stop = system/alsasound/cards system/alsasound/ioctl32 system/alsasound/seq system/alsasound/oss system/alsasound/mixerstate;
...



Voila, j'pense avoir été à peu près clair si toutes fois vous aviez des questions/remarques etc.. n'hésitez pas:)


BTW: pour me logger graphiquement et automatiquement j'utilisais ce TIP: Démarrer une session graphique automatiquement y'en a qui ont déjà un truc tout fait? où je dois chercher tout seul pour refaire ce comportement (que j'aimais bien..;)?


Last edited by truc on Wed Mar 15, 2006 7:26 am; edited 1 time in total
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sun Mar 05, 2006 6:59 pm    Post subject: Reply with quote

j'viens de trouver ça:
/usr/doc/initng-9999/imanual.txt wrote:
service system/foo {
need = system/initial system/mountfs;
use = system/alsasound;
exec start = /sbin/foo;
exec_args start = bar baz;
}

i'll explain these lines.
the first line says that this service requires system/initial and
system/mountfs to be run before it can be started.

the second line says that it should also wait for system/alsasound is also in
the current runlevel, then it should also wait for system/alsasound. but if
system/alsasound is NOT in the current runlevel, this line would be ignored.
in contrary, if it would have said need = system/alsasound, then
system/alsasound would also have been started even if it is not in the current
runlevel.


Avec ça c'est tellement plus clair! Maintenant je comprends pourquoi dans le use il y a "tant" de sous-services de alsasound (du style system/alsasound/ioctl32 ou system/modules/depmod ) qui me sont inutiles, je comprends également pourquoi il est dit qu'avec initng on peut (facilement (c'est moi qui l'ajoute celui là..)) controler plus de chose. :)

En fait (pour ceux qui voudraient être sûr), dans mon cas par exemple, je vais rajouter system/alsasound/cards au default runlevel, ainsi, alsasound devra attendre que system/alsasound/cards soit lancé avant de pouvoir se lancer à son tour. (dans le genre les trucs interessants à ajouter il y a aussi : system/alsasound/seq ou encore system/alsasound/oss

Le truc trop bien c'est que ainsi, c'est qu'au final, system/alsasound.i sera le fichier par défaut, et je n'aurai donc pas à m'en soucier lors de la prochaine update.. :D

Voila, la vie est trop bien.. (ma vie sociale aussi je vous assure...)


EDIT: une option bien sympa de ngc également:
Code:
ngc -H
...
 [-j] --restart_from opt               : Stop all services, and start from
...

va vous permettre par exemple (ngc -j default) de tester vos changements, sans redémarrer totalement l'ordinateur, c'est très sympa
à voir également le ngdc avec un fake-init etc.. ça peut être très pratique (cf man page bien sur)


Last edited by truc on Fri Mar 10, 2006 10:34 pm; edited 3 times in total
Back to top
View user's profile Send private message
geekounet
Bodhisattva
Bodhisattva


Joined: 11 Oct 2004
Posts: 3772
Location: Wellington, Aotearoa

PostPosted: Sun Mar 05, 2006 7:50 pm    Post subject: Reply with quote

ALSA est en dur dans le kernel chez moi, donc j'ai pas eu ce pb là. Pour le mixerstate, j'avais réussi à régler ce pb déjà, de la manière que tu expliques.
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sun Mar 05, 2006 7:51 pm    Post subject: Reply with quote

ok tout est clair! j'me demandais aussi, merci de l'info..

EDIT 09/03/2006: Si il y en a qui font joujou encore, je leur conseille de faire un tour du coté de /usr/portage/distfiles/svn-src/initng/trunk, ou quelque chose comme ça de mémoire.; y'a plein de chose! Du style des scripts pour vérifier la syntaxe des fichiers.i que vous créez, etc..

Vous trouverez également un fichier texte iimanual.txt qui n'est pas recopié dans /usr/share/doc/initng c'est dommage car il est beaucoup plus complet( que le imanual.txt qui s'y trouve..).

Le site a changé, mes liens ne doivent plus marcher, mais je ne peux pas encore les mettre a jour car le site est encore très incomplet. Mais vous pouvez (ceux qui tourne en ~arch) déjà tester des nouvelles fonctionnalités de celui ci, avec un ebuild qui y est donné etc.. cf ici: http://initng.thinktux.net/wiki/Install_Gentoo et l'ebuild donc je vous parle est sur le svn repository. (c'est le initng-9998.ebuild pas le 9999 !)



RE-EDIT 10/03/2006:
Pour ceux qui arrivent, qui sont en ~arch, il vous suffit d'installer initng-ifiles qui installera automatiquement initng, une fois biensûr que vous aurez rajouté les ebuilds conrespondant qui se trouvent ici, toujours pour vous n'oubliez pas de vous reporter à cette doc pour configurer les plugins à installer directement dans /etc/make.conf.
voili-voilou;)


Last edited by truc on Fri Mar 10, 2006 10:42 pm; edited 1 time in total
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Mar 10, 2006 9:29 pm    Post subject: Reply with quote

la différence entre use et need est assez simple : avec need X on veut absolument que le service X tourne, sinon on ne fait rien. Avec use, si et seulement si le service est supposé être démarré, on l'attends.

Exemple : je te mets un script de fsck, normalement c'est un des tout premiers truc qui se fait au démarrage, si je mets need fsck dans mes scripts puis que l'utilisateur décide qu'il n'y a pas besoin de fsck (un utilisateur averti d'XFS par exemple qui sait que fsck.xfs ne fait que renvoyer 0) ben tous les scripts avec need fsck sont à l'eau. si j'avais mis use ce serait bon.
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Fri Mar 10, 2006 10:31 pm    Post subject: Reply with quote

bah quoi j'avais pas bien expliqué finalement :?: zut j'pensais avoir été clair :lol: arf pas grave, En fait, j'ai compris tout ça en lisant le iimanual.txt, et non le imanual.txt, c'est juste pour ça que j'avais fait une petite précision.. vous trouverez bien plus d'info dans dans le premier..


Il semble tout fois être recopié, dans les doc maintenant, c'est bien;)

EDIT: j'apprécie ton exemple de l'utilisateur avertis soit dit en passant.. XFS :lol: t'en manques pas une...
Back to top
View user's profile Send private message
Enlight
Advocate
Advocate


Joined: 28 Oct 2004
Posts: 3519
Location: Alsace (France)

PostPosted: Fri Mar 10, 2006 11:04 pm    Post subject: Reply with quote

truc wrote:
bah quoi j'avais pas bien expliqué finalement :?: zut j'pensais avoir été clair :lol: arf pas grave, En fait, j'ai compris tout ça en lisant le iimanual.txt, et non le imanual.txt, c'est juste pour ça que j'avais fait une petite précision.. vous trouverez bien plus d'info dans dans le premier..


Il semble tout fois être recopié, dans les doc maintenant, c'est bien;)

EDIT: j'apprécie ton exemple de l'utilisateur avertis soit dit en passant.. XFS :lol: t'en manques pas une...


oups j'avais zappé ton précédent post (en plus j'ai éhontément répondu ce que je pensais sans me documenter, je finis un bilan là alors j'en ai plein le c...) :oops: Attention j'ai pas dit l'utilisateur averti utilises XFS, j'ai dit l'utilisateur averti qui utilises XFS sait que mkfs.xfs est un dummy et que la vérification d'intégrité du file system se fait au mount. :wink:
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Sun Mar 26, 2006 11:37 am    Post subject: Reply with quote

iopiop, bon j'viens apporté quelques nouvelles... bon déjà autant le dire ça bouge pas mal en ce moment sur initng svn repository m'enfin...

Bon, je prends enfin le courage de rajouter de petits de ma composition qui pourront vous servir:)

Tout d'abord, je vous parlais plus haut d'un TIP pour me logger graphiquement et automatiquement que
j'utilisais avec sysvinit, et j'aurai bien aimé en avoir un similaire pour initng. Et bien finalement voila ce que ça donne
/etc/initng/daemon/xuser.i:
#!/sbin/itype
# This is a i file, used by initng parsed by install_service

daemon daemon/xuser/gnome-settings-daemon {
    use = daemon/xuser;
    conflict = daemon/xuser/xfce-mcs-manager;
    env_file = /etc/conf.d/xuser;
    stderr = /dev/null;
    script daemon = /bin/su - ${X_USER} -l -c "DISPLAY=:${X_DISPLAY} /usr/libexec/gnome-settings-daemon";
}

daemon daemon/xuser/xfce-mcs-manager {
    need = system/bootmisc;
    use = daemon/xuser;
    conflict = daemon/xuser/gnome-settings-daemon;
    env_file = /etc/conf.d/xuser;
    stderr = /dev/null;
    script daemon = /bin/su - ${X_USER} -l -c "DISPLAY=:${X_DISPLAY} /usr/bin/xfce-mcs-manager";
}

daemon daemon/xuser {
    need = system/bootmisc;
    conflict = daemon/gdm daemon/kdm daemon/wdm daemon/xdm;
    use = system/modules system/coldplug system/faketty daemon/xfs;
    provide = virtual/dm;
    stdall = /dev/null;
    env_file = /etc/conf.d/xuser;
    also_stop = daemon/xuser/gnome-settings-daemon daemon/xuser/xfce-mcs-manager;
    script daemon = /bin/su - ${X_USER} -l -c "/usr/bin/startx -- :${X_DISPLAY} ${X_defaultservargs}";
}



Alors je ne sais pas si certains avait regardé le lien que j'avais donné pour le TIP, mais au final, ça ne ressemble plus vraiment, c'est plus simple:)

Bon, enfait ça remplace gdm/xdm/wdm/kdm et j'en passe, c'est pour lancé le bon vieux startx, c'est tout rien de plus, vous l'aurez sans doute remarqué ce script s'accompagne d'un fichier pour définir pour l'instant deux variables:
/etc/conf.d/xuser:
# Config file for /etc/initng/daemon/xuser

# type your username here
X_USER=truc

# Display number for the X server
X_DISPLAY=0

# Default X server args
X_defaultservargs="-nolisten tcp -br"


après vous y mettez ce que vous voulez quoi... :)

puis si vraiment ça vous interesse alors:
Code:
ng-update add daemon/xuser default
pour lancer lancer l'ensemble à chaque démarrage.


Comme vous l'avez sans doute également remarqué il y a un peu plus qu'un simple startx dans xuser.i , en fait, pour a petite histoire, j'utilise fvwm et gnome-settings-daemon comme xsettings manager et donc pourquoi ne pas le lancer automatiquement aussi si vous l'utilisez!
Donc si vous l'avez:
Code:
ng-update add daemon/xuser/gnome-settings-daemon default


Et oui rien ne vous échappe, en théorie je devrai pouvoir faire pareil avec l'autre: xfce-mcs-manager cependant pour une raison encore inconnue(HELP!! :? ), je peux lancer xfce-mcs-manager depuis une session X mais le lancer depuis un tty me fait planter xorg, donc daemon/xuser/xfce-mcs-manager ne marche pas (encore)


Et enfin, j'ai en préparation à peu près la même chose mais pour XGL, donc si ça en interesse certains quand j'me remettrai à le faire, je le mettrai ici:)

Et pour finir, un autre petit ifiles qui pourrait éventuellemtn vous servir:
daemon/urxvtd.i:
daemon daemon/urxvtd {
   need = system/bootmisc;
   env_file = /etc/conf.d/xuser;
   exec daemon = /bin/su - ${X_USER} -l -c /usr/bin/urxvtd;
   respawn;
   daemon_stops_badly;
}


qui vous lance un daemon urxvtd, qui n'est attaché à aucun display, cela peut à la fois être un avantage comme un inconvénient je sais à vous de voir.


Last edited by truc on Thu Sep 21, 2006 10:27 pm; edited 2 times in total
Back to top
View user's profile Send private message
yesi
Guru
Guru


Joined: 25 Oct 2004
Posts: 331

PostPosted: Wed Sep 20, 2006 7:22 pm    Post subject: Reply with quote

salut,

Quote:
daemon/urxvtd.i


juste par curiosité, quel est l'intérêt d'un daemon urxvtd ?

moi, je me content d'un screen et d'un urxvt...

bon, truc, tu m'as incité d'une certaine manière à mettre mon nez dans initng que je n'ai pas pas du tout suivi "la révolution"...:)

mon 1er consat, c'est que c'est très, très mais vraiment très rapide!!!
ça m'a agréablement surpris.

mais le seul hic, c'est que j'ai du mal à avoir ma connection internet wifi:

Quote:
Sep 20 12:37:34 igloo ivman: Destruction du fichier de verrou /var/run/ivman.pid
Sep 20 12:37:34 igloo ivman: Impossible de détruire le fichier de verrou /var/run/ivman.pid!
Sep 20 12:38:44 igloo daemon/xfs: mkdir: ERROR: euid != 0,directory /tmp/.font-unix will not be created.
Sep 20 12:38:47 igloo system/ntpdate: Error : Temporary failure in name resolution
Sep 20 12:38:47 igloo daemon/dhcpcd/wlan: Error,
Sep 20 12:38:47 igloo daemon/dhcpcd/iwconfig: Error, dhcpStart: ioctl SIOCGIFHWADDR: No such device
Sep 20 12:38:47 igloo daemon/dhcpcd/net: Error, dhcpStart: ioctl SIOCGIFHWADDR: No such device
Sep 20 12:38:47 igloo system/ntpdate: Error : Temporary failure in name resolution
Sep 20 12:38:47 igloo InitNG: FAIL: start system/ntpdate, Returned with TERMSIG 0 rcode 1.
Sep 20 12:38:47 igloo InitNG: Service system/ntpdate FAILED.
Sep 20 12:39:07 igloo InitNG: Service default FAILED.
Sep 20 12:39:48 igloo InitNG: FAIL: Service "daemon/dhcpcd/wlan" wait for pidfile timed out! Will kill daemon now.
Sep 20 12:39:48 igloo InitNG: FAIL: Trying to kill a service (daemon/dhcpcd/wlan) with a pid (2556), but there exists no process with this pid!
Sep 20 12:39:48 igloo InitNG: FAIL: Service "daemon/dhcpcd/iwconfig" wait for pidfile timed out! Will kill daemon now.
Sep 20 12:39:48 igloo InitNG: FAIL: Trying to kill a service (daemon/dhcpcd/iwconfig) with a pid (2565), but there exists no process with this pid!
Sep 20 12:39:48 igloo InitNG: FAIL: Service "daemon/dhcpcd/net" wait for pidfile timed out! Will kill daemon now.
Sep 20 12:39:48 igloo InitNG: FAIL: Trying to kill a service (daemon/dhcpcd/net) with a pid (2569), but there exists no process with this pid!
Sep 20 12:39:48 igloo InitNG: Service daemon/dhcpcd/wlan FAILED.
Sep 20 12:39:48 igloo InitNG: Service daemon/dhcpcd/iwconfig FAILED.
Sep 20 12:39:48 igloo InitNG: Service daemon/dhcpcd/net FAILED.


donc je suis repassé à sysvinit...

un lien pour le svn:
http://www.initng.org/wiki/Install_Gentoo
Back to top
View user's profile Send private message
yesi
Guru
Guru


Joined: 25 Oct 2004
Posts: 331

PostPosted: Wed Sep 20, 2006 8:08 pm    Post subject: Reply with quote

qu'est-ce c'est que:

conflict = daemon/toto
also_stop = daemon/toto2
?

pas trop compris ces mots clés?
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Wed Sep 20, 2006 10:35 pm    Post subject: Reply with quote

yesi wrote:
salut,

Quote:
daemon/urxvtd.i


juste par curiosité, quel est l'intérêt d'un daemon urxvtd ?


ahah, oui, bon pour répondre franchement y'en a pas tant que ça. C'est juste que
[*] ça fait bien
[*] d'après le man page ça permet une économie des ressources mémoires ( je sais maintenant c'est plus très important, mais bon..)
[*] Parce que, d'après le man page toujours, ça nous permet d'avoir un temps de chargement minime, et sachant que j'utilise des scripts avec rox pour pouvoir , afficher le contenu, extraire ou créer une archive, pour ouvrir un fichier etc.. directement dans in term, je n'aime pas que ça mette 3 plombes à se lancer, c'est pourquoi j'utilse le daemon, mais pour être honnète, on ne perçois presque pas la différence.. :)

Quote:
qu'est-ce c'est que:

conflict = daemon/toto
also_stop = daemon/toto2
?

pas trop compris ces mots clés?

alors pour le premier c'est par exemple, imagine tu as sur ton système xdm, gdm (imagiiiinee), c'est deux programmes ont le même rôle et de par leur fonctionnement, ne peuvent fonctionner ensemble, alros pour éviter les que cela n'arrive tu peux préciser dans les i-files avec quels autre(s) daemon il pourrait y avoir des problèmes.


Pour le deuxième, j'vais continuer sur un autre exemple, pour alsasound par exemple, tu as un service qui s'appelle (de mémoire) system/alsasound/mixerstate, qui enregistre les différents niveaux de volume quand tu coupe le son, et qui les remet comme ils étaient lorsque il a été éteint (le service).
Donc suppose maintenant que tu veuilles arreter le son ngc -d system/alsasound, le also_stop va également faire arreter le service system/alsasound/mixerstate, ce qui ba t'enregistrer l'états des mixers tout ça automatiquement:)
Bon maintenant, l'exemple est peut-être mal choisi( je me dis ça en fait maintenant) mais bon le principe c'est ça, dis nous si c'estpas plus clair!

Quote:
mais le seul hic, c'est que j'ai du mal à avoir ma connection internet wifi:
Ouais à ce que j'ai entendu dire le wifi c'est toujoursu peu délicat, mais si tu le fait fonctionner comme tu veux avec sysbinit, alors il n'y a pas de raison que ça ne marche pas avec initng! mais je ne m'y connais pas assez en wifi/linux pour pouvoir t'aider..

Quote:
donc je suis repassé à sysvinit...

QU'on se comprenne bien là, tu as juste rebooté avec sysvinit là? ut n'as rien désinstallé?! car il suffit de te faire deux entrée dans grub par exemple pour passer sur l'un ou sur l'autre, sans rien désinstaller, voila c'est dit, c'était principalement pour être sûr..
_________________
The End of the Internet!


Last edited by truc on Mon Sep 25, 2006 6:04 am; edited 2 times in total
Back to top
View user's profile Send private message
yesi
Guru
Guru


Joined: 25 Oct 2004
Posts: 331

PostPosted: Wed Sep 20, 2006 11:24 pm    Post subject: Reply with quote

merci pour toutes tes explications, truc!

pour le wifi, je chercherai car vu le boost que fait initng, j'ai carrément envie de l'adopter.

Quote:
QU'on se comprenne bien là, tu as juste rebooté avec sysvinit là? ut n'as rien désinstallé?! car il suffit de te faire deux entrée dans grub par exemple pour passer sur l'un ou sur l'autre, sans rien désinstaller, voila c'est dit, c'était principalement pour être sûr..


:) bien sûr que non, je n'ai pas désinstallé la bête.
...Et oui, j'ai deux entrées sur mon grub pour sysvinit et pour initng, il faut bien que je teste, n'est-ce pas? :)
Back to top
View user's profile Send private message
freezby
Tux's lil' helper
Tux's lil' helper


Joined: 07 Sep 2006
Posts: 103
Location: Angers, France

PostPosted: Fri Sep 29, 2006 8:40 pm    Post subject: Reply with quote

Salut tout le monde,

Bon bah moi ca marche, j'ai meme réussi a faire marcher mon speedtouch donc chui content ^^

Par contre il me semble qu'il y a quelques erreurs au demarrage notamment concernant un certain fmon (juste après que le noyau ait chargé). le problème c'est que ca défile tellement vite que j'ai pas le tps de lire.
J'arrive pas à trouver ces informes dans des logs. Donc si vous pouviez m'indiquer ou c'est qu'on peut obtenir les messages qui s'affiche durant le démarrage. (j'utilise syslog-ng, au cas ou)

Bye
Back to top
View user's profile Send private message
truc
Advocate
Advocate


Joined: 25 Jul 2005
Posts: 3199

PostPosted: Fri Sep 29, 2006 11:29 pm    Post subject: Reply with quote

je ne sais plus exactement ce que c'est, mais pout utiliser le plugin fmon, il faut activer quelque chose dans le noyau, pour ma part, n'en voyant pas l'intérêt (par manque de connaissance?) j'ai simplement désactiver le plugin, ou plutôt je ne l'ai pas activé,
Code:
-initng_plugins_fmon

_________________
The End of the Internet!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index French All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum