出现/bin/sh: can't access tty; job control turned off的解决方案

转自:http://blog.sina.com.cn/u/1704849371

问题现象:
移植完busybox后开机启动,在终端中打印出一条:/bin/sh: can't access tty; job controlturned off信息


问题分析:
 首先来了解下inittable文件,该文件保存在/etc/inittable
如果存在/etc/inittable文件,Busybox init程序解析它,然后按照他的指示创建各种子进程,否则使用默认的配置创建子进程.
/etc/inittable文件中每个条目用来定义一个子进程,并确定它的启动方法,格式定义如下:
<id>:<runlevels>:<action>:<process>

例如:
ttySAC0::askfirst:-/bin/sh

对于Busybox init进程,上述各个字段作用如下:
<id>: 表示这个子进程要使用的控制台(既标准输入、标准输出、标准错误设备)。如果省略,则使用与init进程一样的控制台
<runlevels>:对于busyboxinit程序,这个字段没有意思,可以省略。
<action>:表示init进程如何控制这个子进程。
<process>:要执行的程序,它可以只可执行程序,也可以是脚本
如果<process>字段前有“-”字符,这个程序被称为“交互的”

所以:::sysinit:/bin/sh 使用的是和init进程一样的控制台
而我们的console使用的是ttySAC0,所以就报错了。

 

问题解决办法:
修改/etc/inittable

#System initialization by xiongjinfei
::sysinit:/etc/init.d/rcS
::sysinit:/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a -r
修改如下:
#System initialization by xiongjinfei
::sysinit:/etc/init.d/rcS
ttySAC0::sysinit:/bin/sh
::ctrlaltdel:/sbin/reboot

::shutdown:/bin/umount -a -r



转自:http://486198.blog.51cto.com

可能原因:
  1、    busybox核心配置过程中
      shells-->[ ]Job control             不选择
                     [*]cttyhack               必须选择,否则sh无法工作
  2、网上有部分说该提示是由于dma通道问题,换光驱启动即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值