我正在使用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已经是正确的版本。
答案 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"会话初始化"只需要 " - 用户"