Upstart在嵌入式Linux上引起内核恐慌

时间:2016-07-19 11:55:48

标签: linux-kernel embedded-linux boot upstart

我正在使用ptxdist为在Linux Cortex A8 CPU上运行的Linux嵌入式系统创建内核和rootfs映像。

我试图使用更新的编译器(GCC 5+),因此被迫升级了几个不能在新GCC下编译的外部包。

我编译了以下版本的Upstart及其直接依赖项:

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

当我启动时,我收到以下消息:

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

在线搜索没有提供有用的提示 - the only relevant issue I found is this,但它与旧版本的Upstart相关,而且我的libnih已经是正确的版本。

1 个答案:

答案 0 :(得分:1)

根据您链接的错误报告中的评论#8,仅使用libnih的1.0.3版本是不够的 - 您必须专门使用Ubuntu版本,因为这似乎包括可以解决问题的dbus修复你看到了。来自错误报告:

  

David Ireland(e-david)撰写于2013-04-22:#7

     

我已经建立了libnih   1.0.3来自源代码,并确保使用该版本的nih-dbus工具构建upstart。我还有这个问题。

     

James Hunt(jamesodhunt)于2013-04-22撰写:#8

     

哪个问题?该   崩溃?如果是这样,你仍然使用错误版本的libnih:你   应该使用Ubuntu版本(特别是1.0.3-4ubuntu16)   这里:   https://code.launchpad.net/~ubuntu-branches/ubuntu/raring/libnih/raring

     

您不需要--session标志来运行"会话初始化" (是的,这个   有点令人困惑但是 - 很长一段时间都加入了测试   以前,仍然需要)。 A"会话初始化"只需要   " - 用户"