【问题标题】:Kernel panic - not syncing:Attempted to kill init内核恐慌 - 不同步:试图杀死 init
【发布时间】:2018-05-01 11:48:53
【问题描述】:

我为内核、工具链和文件系统使用 buildroot 版本 20011.02。我的定制板 ARMV7 cortexA9 SoC。内核版本是 3.18.41。 构建内核(uImage)、Buildroot 工具链、rootfs.tar.gz。 在 buildroot 和内核中启用文件系统类型 ext4。 将此 rootfs.tar.gz 提取到 /export/users/buildroot/。 使用
exportfs -a, exportfs -rv 导出此目录并重新启动 nfs 服务器。在 nfs 服务器端似乎一切正常。
这里分享一下“make menuconfig”系统配置 -->

Init system (BusyBox)  --->

即使我尝试使用Init system (systemV) --->
bootargs 为 bootargs console=ttyAM0,115200n8 root=/dev/nfs rw rootwait ip=dhcp nfsroot=192.168.1.40:/export/users/buildroot,tcp,v3 init=/sbin/init
每次我低于日志时:

VFS: mounted fs via nfs  
devtmpfs is mounted.  
Kernel panic - not syncing:Attempted to kill init, exit code=0x000000b 

请帮我解决这个问题。

【问题讨论】:

  • 尝试找出你的问题。如果您构建另一个内核版本怎么办?我想你已经读过kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt了。
  • 是日志中的整个堆栈吗?如果还有更多可能会有用。
  • 什么是/sbin/init?它是指向 systemd 的软链接还是只是脚本?
  • @AlexBender,我没有尝试使用另一个内核版本,因为在板文件和其他源文件中进行了更改以将其自定义到我们的 SoC。我想坚持使用这个内核来解决这个问题。如果您建议我尝试使用另一个内核。您认为这是内核的问题吗?是的,我已经阅读了您共享的链接,它似乎是内核命令行,即 bootargs 是正确的,这就是它从日志安装到 nfs 服务器的原因。不过,如果您觉得我在 bootargs 中遗漏了一些东西,请随时发表评论。
  • @kabanus,我同意如果我分享完整的日志会更有用,但很抱歉我在如此安全的环境中工作。我记得我在这里分享。 VFS:挂载的 fs 通过 nfs devtmpfs 被挂载。释放未使用的 kenel 内存...内核恐慌 - 不同步:试图杀死 init,退出代码 = 0x000000b,它似乎内核正在尝试找到该 init,但无法找到。我假设。我们需要以这种方式调试内核在挂载 nfs 文件系统后可以找到这个 init 的问题。

标签: linux-kernel


【解决方案1】:

这可能会对你有所帮助。

如你所说,有如下日志。

Kernel panic - not syncing:Attempted to kill init, exit code=0x000000b 

这意味着init(busybox) 已退出,退出代码为0xb。 所以内核陷入恐慌。 这可能是由网络问题引起的。但我们暂时不能断定这是由于网络造成的。

你说,你看到了崩溃,没有 NFS。 我认为解决崩溃可能是解决这种情况的更好方法。

请在没有 NFS 配置的情况下共享崩溃日志。如果你分享日志,我会检查它。

【讨论】:

  • 现在我尝试使用 initramfs 仍然遇到与 nfs 相同的问题。
  • 当我在内核中禁用 I-cache 时,我观察到它工作正常,但我与 beaglebone 等其他板进行了检查,他们正在启用此 I-cahe。我需要启用 I-cache,它似乎需要正确的一些内核配置。请任何人知道如何通过在内核中启用 I-cache 来解决这个问题。如果有人有适用于 buildroot 的 ARMv7 cortex a9 内核配置,请分享,同时我正在检查我的内核配置。
猜你喜欢
  • 2019-01-10
  • 2017-08-24
  • 1970-01-01
  • 2014-01-04
  • 2018-08-28
  • 2020-01-28
  • 2018-09-22
  • 2018-10-01
  • 1970-01-01
相关资源
最近更新 更多