本次参考了http://blog.csdn.net/lxgwm2008/article/details/38925051
但在原有基础上有一定创新
1.首先有一块nanopi2 的开发板,CPU是 4418芯片
2. 下载busybox。下载地址:http://www.busybox.net/downloads/binaries/1.21.1/
(目前最新版是1.21.1)
打开网页后可以看到busybox支持了各种不同的arch,这里需要选择跟手机arch一致的版本。
4418芯片是arm-v7,因此选择busybox-armv7l。
3. 安装busybox
将下载的busybox-armv7l改名为busybox,然后push到手机的/system目录下:
[cpp] view plain copy
1. adb push busybox /system
注:
a)如果遇到提示说没有权限,请先执行su
b)如果提示Read-only file system,则需要将/system目录重新挂在为可读写方式。具体可参考:http://blog.csdn.net/hktkfly6/article/details/52496703 (nanopi m2开发板 mount:Read-only file system Android手机不能挂载读写,终极解决方案)
c)对于未获得root权限的手机,可以先push到sd卡目录,push busybox /mnt/sdcard。可以安装kingroot获取root权限。得到root权限后adb shell 登录后,再cp busybox /system/bin/
push成功后,开始安装busybox:
[html] view plain copy
1. chmod 755 busybox
2. ./busybox --install
注意:"./"很重要
此命令将busybox默认安装到/usr/bin目录下。有些手机没有这个目录,比如nanopi2 的开发板,其目录是/system/bin,这是需要更改默认安装目录:
[html] view plain copy
1. ./busybox --install /system/bin
注意:"./"很重要
安装成功后,执行busybox命令,会有如下提示:
[html] view plain copy
1. shell@hlte:/ $ busybox
2. busybox
3. BusyBox v1.21.1 (2013-07-08 10:26:30 CDT) multi-call binary.
4. BusyBox is copyrighted by many authors between 1998-2012.
5. Licensed under GPLv2. See source distribution for detailed
6. copyright notices.
7.
8. Usage: busybox [function [arguments]...]
9. or: busybox --list[-full]
10. or: busybox --install [-s] [DIR]
11. or: function [arguments]...
12.
13. BusyBox is a multi-call binary that combines many common Unix
14. utilities into a single executable. Most people will create a
15. link to busybox for each function they wish to use and BusyBox
16. will act like whatever it was invoked as.
17.
18. Currently defined functions:
19. [, [[, acpid, add-shell, addgroup, adduser, adjtimex, arp, arping, ash,
20. awk, base64, basename, beep, blkid, blockdev, bootchartd, brctl,
21. bunzip2, bzcat, bzip2, cal, cat, catv, chat, chattr, chgrp, chmod,
22. chown, chpasswd, chpst, chroot, chrt, chvt, cksum, clear, cmp, comm,
23. conspy, cp, cpio, crond, crontab, cryptpw, cttyhack, cut, date, dc, dd,
24. deallocvt, delgroup, deluser, depmod, devmem, df, dhcprelay, diff,
25. dirname, dmesg, dnsd, dnsdomainname, dos2unix, du, dumpkmap,
26. dumpleases, echo, ed, egrep, eject, env, envdir, envuidgid, ether-wake,
27. expand, expr, fakeidentd, false, fbset, fbsplash, fdflush, fdformat,
28. fdisk, fgconsole, fgrep, find, findfs, flock, fold, free, freeramdisk,
29. fsck, fsck.minix, fsync, ftpd, ftpget, ftpput, fuser, getopt, getty,
30. grep, groups, gunzip, gzip, halt, hd, hdparm, head, hexdump, hostid,
31. hostname, httpd, hush, hwclock, id, ifconfig, ifdown, ifenslave,
32. ifplugd, ifup, inetd, init, insmod, install, ionice, iostat, ip,
33. ipaddr, ipcalc, ipcrm, ipcs, iplink, iproute, iprule, iptunnel,
34. kbd_mode, kill, killall, killall5, klogd, last, less, linux32, linux64,
35. linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread,
36. losetup, lpd, lpq, lpr, ls, lsattr, lsmod, lsof, lspci, lsusb, lzcat,
37. lzma, lzop, lzopcat, makedevs, makemime, man, md5sum, mdev, mesg,
38. microcom, mkdir, mkdosfs, mke2fs, mkfifo, mkfs.ext2, mkfs.minix,
39. mkfs.vfat, mknod, mkpasswd, mkswap, mktemp, modinfo, modprobe, more,
40. mount, mountpoint, mpstat, mt, mv, nameif, nanddump, nandwrite,
41. nbd-client, nc, netstat, nice, nmeter, nohup, nslookup, ntpd, od,
42. openvt, passwd, patch, pgrep, pidof, ping, ping6, pipe_progress,
43. pivot_root, pkill, pmap, popmaildir, poweroff, powertop, printenv,
44. printf, ps, pscan, pstree, pwd, pwdx, raidautorun, rdate, rdev,
45. readahead, readlink, readprofile, realpath, reboot, reformime,
46. remove-shell, renice, reset, resize, rev, rm, rmdir, rmmod, route, rpm,
47. rpm2cpio, rtcwake, run-parts, runlevel, runsv, runsvdir, rx, script,
48. scriptreplay, sed, sendmail, seq, setarch, setconsole, setfont,
49. setkeycodes, setlogcons, setserial, setsid, setuidgid, sh, sha1sum,
50. sha256sum, sha3sum, sha512sum, showkey, slattach, sleep, smemcap,
51. softlimit, sort, split, start-stop-daemon, stat, strings, stty, su,
52. sulogin, sum, sv, svlogd, swapoff, swapon, switch_root, sync, sysctl,
53. syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp,
54. tftpd, time, timeout, top, touch, tr, traceroute, traceroute6, true,
55. tty, ttysize, tunctl, udhcpc, udhcpd, udpsvd, umount, uname, unexpand,
56. uniq, unix2dos, unlzma, unlzop, unxz, unzip, uptime, users, usleep,
57. uudecode, uuencode, vconfig, vi, vlock, volname, wall, watch, watchdog,
58. wc, wget, which, who, whoami, whois, xargs, xz, xzcat, yes, zcat, zcip
59.
60. shell@hlte:/ $
安装busybox的好处是可以执行一些系统不带的命令,比如ifconfig
#busybox ifconfig
未安装时无任何输出,安装后输出效果与Linux系统一致。