Forum: PC-Programmierung Linux Boot, ARM, Probleme mit udev, nanox


von Thomas B. (thomasb)


Lesenswert?

Hallo !

Ich richte mir für mein Embedded System zur Zeit ein rootfs ein und hab 
da zwei Probleme bzw. Fragen:

*) Ich erhalte beim Booten die Fehlermeldung
   udevd-event[898]: wait_for_sysfs: waiting for 
'/sys/class/net/usb0/device/driver' failed
Da an diesem Punkt der Bootvorgang für einige Zeit stehen bleibt, würde 
ich diesen Fehler gerne beheben. Kann mir jemand erklären wo/warum 
dieser Fehler auftritt und wie ich dieses Problem lösen kann ?
(Im Netz hab ich bisher nichts gefunden was mir helfen konnte)

*) Beim Start will ich ein Programm (nano-X + Applikation für mein GUI) 
automatisch starten. Dazu habe ich ein passenden Start-Script in init.d 
erstellt und einen symbolischen Link (S99nanoX) in rc5.d. Doch leider 
bekomme ich beim Boot von nano-X die Fehlermeldungen "KDGKMODE: Invalid 
Argument" und "Cannot initialise keyboard".
Starte ich nano-X als eingeloggter User klappt es ohne Probleme - auch 
der Aufruf über mein Startscript aus init.d funktioniert so - nur der 
automatische Start beim Bootvorgang macht Probleme.

Für mich ist hier jetzt die Frage, was den Aufruf des Scripts aus rc5.d 
vom Aufruf als user unterscheidet (bin als root angemeldet). Der Treiber 
für die Bedieneinheit ist im Kernel integriert und der Aufruf des 
Skripts erfolgt als letztes Skript in der rc5.d, d.h. hier sollten dann 
ja schon alle Treiber, Devices usw. verfügbar sein.

(Vielleicht mache ich ja einen prinzipiellen Fehler. Das automatische 
Starten eines anderen Programmes für einen Splash-Screen funktioniert 
aber, d.h. soo falsch kann meine Vorgangsweise nicht sein.)

Basis Kernel Version is übrigens 2.6.22, CPU ist At91SAM9261 auf einem 
taskit Stamp9261 Modul.

Besten Dank schon mal,
Thomas B.

von Hc Z. (mizch)


Lesenswert?

Der Aufruf aus rc5.d dürfte sich dadurch unterscheiden, dass der 
X-Server noch nicht gestartet ist.  Bist Du sicher, dass er es doch ist 
(dann solltest Du aber IMHO eine andere Fehlermeldung bekommen), sollte 
zumindest die Variable $DISPLAY gesetzt sein.

Du solltest GUI-Applikationen besser aus dem Window-Manager starten 
oder, falls keiner, aus dem X-Startskript.

Bei all dem habe ich angenommen, dass nanoX eine X-Applikation ist, die 
einen solchen Server voraussetzt.

von Thomas B. (thomasb)


Lesenswert?

Hallo Hazeh Zett,

Danke für deine Antwort!
nano-X ist selber so eine Art "X-Server" nur eben viel kleiner und für 
embedded Systeme gedacht (http://www.microwindows.org/). nano-X versuche 
ich nun am Ende der Initialisierung von Runlevel 5 zu starten um dann 
meine Applikation laufen zu lassen.

Was ich nicht verstehe/herausfinde ist, wieso der Server nicht auf das 
Keyboard zugreifen kann obwohl die Treiber schon lange alle geladen 
sind. (zumindest gehe ich davon aus, da mein Keyboard-Treiber im Kernel 
integriert ist und ich den Server am Ende der rc5 init starte)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.