1. 首先去busybox主页() 下载最新版本的busybox源代码.
2. busybox源码目录.配置:先执行$ make menuconfig命令对编译过程进行配置. 过程如下:
(1).Busybox Settings -> Build Options -> [*] Build BusyBox as a static binary (no shared libs) 这个要选上,因上这样子编译出来的busyBox才是可以独立运行的。
(2).(/home/jo/tool/arm-2008q3/bin/arm-none-linux-gnueabi-) Cross Compiler prefex 这是交叉编译器的"路径+前缀",要根据具体的情况来设置。
(3).Busybox Settings -> General Configuration-> [*] Don’t use /usr 这样子编译出来的busybox才不会安装到你主机的/usr目录下。一定要选上。编译:$make 编译成功后将得到一个名为busybox的可执行文件.
3 先在Linux下安装busybox执行$ make install 如果没有问题的话,会出现:......... ./_install/sbin/watchdog -> ../bin/busybox ./_install/sbin/zcip -> ../bin/busybox--------------------------------------------------You will probably need to make your busybox binarysetuid root to ensure all configured applets willwork properly.--------------------------------------------------表示安装成功 在busybox源码目录下面的 _install目录下面将可以看到链接的方式,我这里将_install文件夹改名为busy_box(个人习惯)
4 修改/init.rc文件添加(红色字体):
export PATH /system/busy_box/bin:/sbin:/system/sbin:/system/bin:/system/xbin
注释掉:#service console /system/bin/sh 添加:service console /system/busy_box/bin/sh console
5 将busy_box文件夹导入Android 将Android终端连上PC,执行:$ adb push busy_box /system/ 或者直接将busy_box文件夹编入system.img,放在/system目录下面完成以上步骤,OK,正常的话,到这里你的终端就可以使用busy_box了。
附加:上面说的情况可能会遇到init: cannot execve('/system/busy_box/bin/sh'): Permission denied的问题,可以通过在init.rc文件中修改/system/busy_box/bin/sh的权限#mount yaffs2 mtd@system /system ro remount ro->rwmount yaffs2 mtd@system /system rw remount.......chmod 0777 /system/busy_box/bin/sh解决问题
阅读(4063) | 评论(0) | 转发(0) |