新手上路
- 积分
- 31
- 金钱
- 31
- 注册时间
- 2019-11-5
- 在线时间
- 11 小时
|
1金钱
开发指南第三十八章-38.3根文件系统初步测试,出现问题。SecureCRT终端信息表面根文件已挂载,但是最终卡在random: nonblocking pool is initialized,没有继续运行。
终端信息:
- fec 20b4000.ethernet eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=20b4000.ethernet:01, irq=-1)
- IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
- fec 20b4000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
- IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
- IP-Config: Complete:
- device=eth0, hwaddr=00:04:9f:04:d2:35, ipaddr=192.168.214.50, mask=255.255.255.0, gw=192.168.214.1
- host=192.168.214.50, domain=, nis-domain=(none)
- bootserver=192.168.214.30, rootserver=192.168.214.30, rootpath=
- can-3v3: disabling
- ALSA device list:
- No soundcards found.
- VFS: Mounted root (nfs filesystem) on device 0:15.
- devtmpfs: mounted
- Freeing unused kernel memory: 480K (8090e000 - 80986000)
- request_module: runaway loop modprobe binfmt-464c
- Starting init: /sbin/init exists but couldn't execute it (error -8)
- request_module: runaway loop modprobe binfmt-464c
- Starting init: /bin/sh exists but couldn't execute it (error -8)
- Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
- ---[ end Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
- random: nonblocking pool is initialized
复制代码 我的环境变量配置:
- bootargs=console=ttymxc0,115200 root=/dev/nfs rw nfsroot=192.168.214.30:/home/liangchanghao/linux/nfs/rootfs ip=192.168.214.50:192.168.214.30:192.168.214.1:255.255.255.0::eth0:off
复制代码
我的分析:
1、在前面的37.2.3linux内核启动测试是成功的,当时是用了EMMC里面的根文件
说明:NFS 下载没有问题,Uboot linux内核以及.dtb设备文件没有问题。
2、启动挂载NFS根目录时,打印的信息中出现了,VFS: Mounted root (nfs filesystem) on device 0:15.
说明,已经挂载成功了,环境变量应该没有输错。
3、根据最后出现的报错信息推断,
- Starting init: /sbin/init exists but couldn't execute it (error -8)
- request_module: runaway loop modprobe binfmt-464c
- Starting init: /bin/sh exists but couldn't execute it (error -8)
- Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
- ---[ end Kernel panic - not syncing: No working init found. Try passing init= option to kernel. See Linux Documentation/init.txt for guidance.
- random: nonblocking pool is initialized
复制代码
出错原因是Linux内核无法执行init这个文件。既然能找到文件,并提示无法执行应该是权限问题或者配置问题。按照教程检查了一遍根文件的配置,并没有找出问题。
求助各位出现过类似问题的提供一下思路!
|
最佳答案
查看完整内容[请看2#楼]
是文件格式不对了,在rootfs目录下查看 file bin/busybox。发现文件是X86的64位。
检查了下,是busybox编译时,手册里给的Makefile参考多了个问号,导致编译不对。
去掉问号重新编译,查看文件,是32位的了。重新运行,一切正常。
|