Linux-linux kernel run_init_process() 启动/linuxrc 失败

发布于 2016-11-12 06:21:39 字数 989 浏览 1294 评论 2

linux 内核启动失败:
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 6144KiB [1 disk] into ram disk...
done.
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 172K
ramdisk_execute_command=(null)
execute_command=/linuxrc
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

[<c000e6a8>] (unwind_backtrace+0x0/0xf8) from [<c04c2ce0>] (panic+0x80/0x1e8)
[<c04c2ce0>] (panic+0x80/0x1e8) from [<c001cc90>] (do_exit+0x648/0x740)
[<c001cc90>] (do_exit+0x648/0x740) from [<c001cdd0>] (do_group_exit+0x48/0xb0)
[<c001cdd0>] (do_group_exit+0x48/0xb0) from [<c0027e30>] (get_signal_to_deliver+0x1e4/0x528)
[<c0027e30>] (get_signal_to_deliver+0x1e4/0x528) from [<c000b788>] (do_work_pending+0xcc/0x4e4)
[<c000b788>] (do_work_pending+0xcc/0x4e4) from [<c000911c>] (work_pending+0xc/0x20)

不知道什么原因?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

泛泛之交 2017-08-03 08:37:54

问题是编译器的默认体系结构。
arm-linux-gcc 4.3.3 默认的 -march=armv5t;而我的CPU是S3C2440是armv4t。
可执行文件可以用 arm-linux-readelf -A busybox 查看可执行文件的体系结构。
同时可以查看自己的u-boot vmlinux busybox libc等文件,这些需要全部是armv4t;
解决方法:在busybox中先make clean, 然后修改Makefile中的CFLAG,添加CFLAG+=-march=armv4t

泛泛之交 2017-02-05 21:10:21

ramdisk_execute_command=(null)

看起来像是没有找到ramdisk里面的初始化脚本,试着在GRUB命令行里用
init=/bin/bash
看看能不能启动

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文