现在的位置: 首页 > 综合 > 正文

CTRL+C CTRL C不能用的原因 zz

2013年10月13日 ⁄ 综合 ⁄ 共 660字 ⁄ 字号 评论关闭

 

进入android shell后会打印:

sh: can't access tty; job control turned off
输入tab键没有补全,输入ctrl+c没有终止到下一行,而是输入一个乱七八糟的字符,
没有cp命令等等等等,
你会发现,这他妈还是 linux吗,这日子没法过了,简直!
要支持一些常用的命令,
需要重新编译一个busybox,
make menuconfig
先选择你想要的那些命令,然后如果要支持tab补全的话,
选择,
Busybox Settings-->
Busybox Library Tuning-->
Tab completion
选中就可以了
然后进入android串口,执行 busybox sh
就可以了。
默认没有cp函数,
先重新mount一下T卡(默认的加载T卡的方式是不支持改变权限的),
然后
cd /sdcard
chmod 777 busybox
./busybox cp ./busybox /data/bin/
就可以了。
补全的原理如下:
本质也就是读到tab键就开始查找,找到匹配的就显示出来。
至于 ctrl+c不支持的解决办法是:
修改system/core/init/init.c 里面的
static char *console_name = "/dev/ttyS2";
这里以前是/dev/console,
重新编译:
source  build/envsetup.sh
mmm system/core/init/
把编译出来的init放到内核里面的root目录,
重新做一个内核烧进去,
这样就可以支持ctrl+c了,
当然前提是/dev/ttyS2确实是串口。

抱歉!评论已关闭.