【发布时间】: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