buildroot编译内核启动报错:Kernel panic - not syncing: No working init found问题解决

本文介绍了Linux内核启动时遇到'Noworkinginitfound.'错误的原因和解决方法。该问题通常是由于系统缺少init文件导致的。解决方法包括创建init的软链接到busybox或者制作init启动脚本,并修复/dev/null等设备节点。通过这些步骤,可以成功解决内核启动问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

buildroot编译内核启动报错:

Kernel panic - not syncing: No working init found. Try passing init= option to kernel.

[   30.873178] Freeing unused kernel memory: 3928K
[   30.927451] Write protecting the kernel read-only data: 14336k
[   30.997419] Freeing unused kernel memory: 1028K
[   31.053095] Freeing unused kernel memory: 1364K
[   31.107381] Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
[   31.264608] CPU: 1 PID: 1 Comm: swapper/0 Not tainted 4.4.283 #3
[   31.336471] Hardware name: 360WS Default string/RT5140, BIOS 360WS-LY236-5140-20180130 01/30/2018
[   31.442653]  0000000000000000 ffff880264287ec0 ffffffff818d7847 ffffffff818f2532
[   31.531568]  ffffffff81b943d8 ffff880264287f38 ffffffff818ca0dd 0000000000000008
[   31.620486]  ffff880264287f48 ffff880264287ee8 0000000000000000 ffff880263804000
[   31.709405] Call Trace:
[   31.738632]  [<ffffffff818d7847>] dump_stack+0x57/0x6d
[   31.800090]  [<ffffffff818f2532>] ? rest_init+0x79/0x79
[   31.862595]  [<ffffffff818ca0dd>] panic+0xbb/0x1ff
[   31.919897]  [<ffffffff8117d857>] ? putname+0x47/0x50
[   31.980317]  [<ffffffff818f2532>] ? rest_init+0x79/0x79
[   32.042822]  [<ffffffff818f2602>] kernel_init+0xd0/0xde
[   32.105323]  [<ffffffff818f7d15>] ret_from_fork+0x55/0x80
[   32.169904]  [<ffffffff818f2532>] ? rest_init+0x79/0x79
[   32.232438] Kernel Offset: disabled
[   32.274216] ---[ end Kernel panic - not syncing: No working init found.  Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.

问题原因:
文件系统下没有对应的init文件,内核启动找不到初始化入口,无法启动init进程:
在这里插入图片描述
解决办法:
1)方法一:制作init的软链接文件:

ln -s bin/busybox init

在这里插入图片描述
2)方法二:制作init启动脚本,修改/sbin/init软链接,内容如下:
在这里插入图片描述

ln -s -f bin/busybox sbin/init

另附:
内核启动报错“can’t open /dev/null…”

解决办法:

cd dev
mknod null c 1 3
mknod ttyS0 c 4 64
ln -s ttyS0 console

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值