2016-07-19 19 views
2

Ich verwende ptxdist, um Kernel-und Rootfs-Images für ein Linux-Embedded-System zu erstellen, die auf einer ARM Cortex A8-CPU ausgeführt werden.Upstart verursacht Kernel-Panik auf Embedded Linux

Ich habe versucht, einen neueren Compiler (GCC 5+) zu verwenden und musste daher mehrere externe Pakete aktualisieren, die nicht unter dem neuen GCC kompiliert werden konnten.

ich die folgenden Versionen von Upstart und seiner unmittelbaren Abhängigkeiten zusammengestellt:

upstart: 1.13.2 
libnih: 1.0.3 
dbus: 1.11.2 
json-c: 0.12.1 

Wenn ich starte, erhalte ich folgende Meldung:

init: com.ubuntu.Upstart.c:3525: Assertion failed in control_emit_event_emitted: env != NULL 
init: Caught abort, core dumped 
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000600 

Online nützliche Hinweise nicht nachgeben Suche - the only relevant issue I found is this, aber es ist relevant für eine ältere Version von Upstart, und mein libnih hat bereits die richtige Version.

Antwort

0

Laut Kommentar # 8 im Fehlerbericht, den Sie verlinkt haben, ist es nicht genug, Version 1.0.3 von libnih zu verwenden - Sie müssen speziell die Ubuntu-Version verwenden, da dies dbus-Fixes zu enthalten scheint Problem, das Sie sehen. Vom Bug-Report:

David Ireland (e-david) schrieb am 2013.04.22: # 7

I libnih 1.0.3 von der Quelle aufgebaut haben und auch dafür gesorgt, dass upstart baut mit dieser Version des nih-dbus-tools auf. Ich habe immer noch dieses Problem.

James Hunt (jamesodhunt) auf 2013.04.22 schrieb: # 8

Welches Problem? Der Absturz? Wenn ja, sind Sie immer noch die falsche Version von libnih mit: Sie sollten die Ubuntu-Version werden (speziell 1.0.3-4ubuntu16) von hier: https://code.launchpad.net/~ubuntu-branches/ubuntu/raring/libnih/raring

Sie brauchen nicht die --session Flagge zu laufen eine "Session Init" (ja, diese ist ein wenig verwirrend, aber - Session wurde zum Testen eine lange Zeit hinzugefügt vor und ist immer noch dafür erforderlich). Ein "Session Init" benötigt nur "--user".