本人用的手机是小米,某次发现Android的adb下有很多命令不能实现,所以加入busybox。
1、首先去busybox主页下载源代码http://www.busybox.net/
2、下载arm-none-linux-gnueabi-gcc编译工具,并且导入到环境变量中 export PATH=安装路径/bin:$PATH
3、在ubuntu下配置与编译busybox
make menuconfig命令后:
Busybox Settings -> Build Options ->
[*] Build BusyBox as a static binary (no shared libs)这个要选上,因上这样子编译出来的busyBox才是可以独立运行的。
(arm-none-linux-gnueabi-) Cross Compiler prefex 这是交叉编译器
Busybox Settings -> Installation Options->
[*] Don’t use /usr 这样子编译出来的busybox才不会安装到你主机的/usr目录下。一定要选上。
4、执行make编译,busybox文件下会生成一个busybox执行文件。
5、在PC机上将执行文件busybox放到手机文件系统/system/xbin 下
adb push 存放路径/busybox /systen/xbin/
failed to copy 'C:\Users\User\Desktop\...\busybox to '/system/xbin/busybox': Read-only file system
可以用手机的Root Explorer应用程序将改成Mount R/O。
有人说要遇到这种情况,要执行adb remount命令,又出现下面提示:
remount failed: Operation not permitted
最简单的方法是在PC上将buxybox执行文件复制到/system/xbin/下。
6、将手机连接到PC上,开始->运行->输入cmd后,出现对话框,adb shell后输入su命令发现permission denied。后来发现原来手机屏幕上会弹出一个确认窗口,要确认后才能su。
7、将/system处于挂在状态,
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
8、然后adb shell 后进入命令行,取得root权限:su.
9、使用ls命令发现有乱码
经常查找发现是显示模式的问题,输入以下两行命令后。
alias ls='busybox ls--color=never'
alias ll='busybox ls -la --color=never'