Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Reihenfolge der init Skripte
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2953
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Wed Mar 29, 2006 6:06 pm    Post subject: Reihenfolge der init Skripte Reply with quote

Init Skripte für gentoo zu schreiben ist wirklich leicht, ich hab kaum Probleme damit. Es gibt nur eins, womit ich mich immer ein wenig beschäftigen muss und manhcmal gar nicht hinkrige: Die Startreihenfolge.

Ich arbeite an einem Projekt, welches eine Install LiveDVD hat. Die LiveDVD habe ich mit Gentoo erstellt und es läuft alles ganz gut. Man startet den PC mit der LiveDVD und ein Install Skript wird ausgeführt. Dieses Skript fragt nach dem Rechnernamen und danach installiert die DVD den Rechner neu.

Jetzt ist mir eigentlich eingefallen, dass ich das Fragen nach dem Rechnername gar nicht brauche, ich brauche lediglich die MAC Adresse der Netzwerkkarte (die man über /sys/class/net.... gelesen werden kann) zu lesen und damit erfährt mein Skript, um welches Rechner es sich handelt.

Also habe ich mir ein Init Skript geschrieben (resolve_client) und will, dass es vor hostname ausgeführt wird. Also habe ich geschrieben:

Code:

depend() {
        before hostname
}


und dann rc-update add resolve_client boot ausgeführt. Dann ISO Datei erstellt (zum Debuggen nur eine CD ISO, also nur 100 MB groß) und gebrannt und ausprobiert. Das Problem ist, resolve_client wird als letztes von den "boot" Skripte gestartet und gerade vor den "default" Skripte gestartet. Warum?
Dann habe ich /etc/init.d/hostname so geändert:

Code:

depend() {
    need checkroot resolve_client
}


und dann wieder getestet. Das habe ebenfalls nichts gebracht. Aber wenn ich von der LiveDVD /sbin/rc boot ausführe, dann wird resolv_client vor hostname ausgeführt, aber beim echten Boot nicht. Warum?

Dann habe ich resolve_client wieder geändert

Code:

depend() {
        need checkroot
        before hostname
}


ebenfalls gar nichts gebracht :twisted: was zumTeufel mache ich falsch???

wie kann ich denn am besten testen, in welche Reihenfolge die Skripte ausgeführt werden, ohne die LiveCD neu starten zu müssen?
_________________
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2953
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Thu Mar 30, 2006 8:31 pm    Post subject: Reply with quote

*bump*

hoffentlich kann mir noch irgendjemand helfen.
_________________
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Back to top
View user's profile Send private message
schmutzfinger
Veteran
Veteran


Joined: 26 Oct 2003
Posts: 1287
Location: Dresden/Germany

PostPosted: Fri Mar 31, 2006 1:28 am    Post subject: Reply with quote

Wenn du das ganze eh brennst und auch damit leben kannst bestehende scripte anzupassen dann schreibe doch einfach alles was dein resolv script macht in hostname mit rein. Das würde ich machen wenn ich das Ganze nur schlecht testen kann (brennen und booten).
Back to top
View user's profile Send private message
Earthwings
Bodhisattva
Bodhisattva


Joined: 14 Apr 2003
Posts: 7753
Location: Germany

PostPosted: Fri Mar 31, 2006 6:08 am    Post subject: Reply with quote

hostname ist einer der "critical services" für /sbin/rc. Um etwas vorher zu starten, muss es ebenfalls als critical service markiert sein. Das erreichst du, indem du es in /etc/runlevels/boot/.critical einträgst. Die Datei existiert wahrscheinlich nicht, trag dort dann unbedingt auch die standardmäßigen critical services ein:
Code:
checkroot hostname modules checkfs localmount clock
Details siehe /sbin/rc

Edit: Sieht mir nach nem [DUP] von startreihenfolge von init scipten aus.
_________________
KDE
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2953
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Fri Mar 31, 2006 11:14 am    Post subject: Reply with quote

schmutzfinger wrote:
Wenn du das ganze eh brennst und auch damit leben kannst bestehende scripte anzupassen dann schreibe doch einfach alles was dein resolv script macht in hostname mit rein. Das würde ich machen wenn ich das Ganze nur schlecht testen kann (brennen und booten).


daran hatte ich schon gedacht, aber wollte es nicht tun.

Earthwings wrote:
hostname ist einer der "critical services" für /sbin/rc. Um etwas vorher zu starten, muss es ebenfalls als critical service markiert sein. Das erreichst du, indem du es in /etc/runlevels/boot/.critical einträgst. Die Datei existiert wahrscheinlich nicht, trag dort dann unbedingt auch die standardmäßigen critical services ein:
Code:
checkroot hostname modules checkfs localmount clock
Details siehe /sbin/rc

Edit: Sieht mir nach nem [DUP] von startreihenfolge von init scipten aus.


das sieht sehr gut aus, danke.

edit: ich hatte mir schon die /sbin/rc Datei angeschaut aber das mit den critical services ist mir entgangen. Theorethisch könnte ich auch nur get_critical_services ändern.
_________________
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) 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