Install busybox for goldfish/phone
1. Download busybox source code
http://www.busybox.net/
2. Decompress busybox
$ tar xvf busybox-1.21.0.tar.bz2 -C ~/Android/
$ cd ~/Android/busybox-1.21.0
3. Correct the cross compiler
$ vim Makefile // add the compiler following CROSS_COMPILE CROSS_COMPILE ?= arm-linux-
TIPS : You must got an cross compiler already.
4. configure busybox
$ make menuconfig
If we would like to use the busybox on other platform, we should choose the following option :
Busybox Setting --> Build Options -->
[*] Build Busybox as a static binary (no shared libs)
And we don't want the busybox install in our localhost system :
General Configuration --> [*] Don't use /usr
Cross Compiler prefix
Busybox Setting --> Build Option -->
(arm-linux-) Cross Compiler prefix
TIPS : Check your cross compiler export path, if not, you should enter the complete path into Cross Compiler prefix.
Save configurations.
5. Compile the busybox
$ make
Wait a minute, there would be a new executable file : busybox
6. Push busybox to you emulator/phone
$ adb push busybox /data/busybox
7. Export the path to busybox
$ export PATH=$PATH:/data/busybox
TIPS: /data/busybox directory must already exist
8. Install busybox
(1) make install in localhost
$ pwd ~/Android/busybox-1.21.0 $ make install
(2) push the /bin to emulator/phone
// adb shell /# mkdir /data/busybox/bin // local host $ adb push _install/bin/ /data/busybox/bin/
(3) export the PATH in init.rc
TIPS:
This part we shoult not edit the init.rc directly, the init.rc was loaded by ramdisk.img.
It is no use to change init.rc on the rootfs.
We can change the init.rc by gunziping the ramdisk.img and rebuild it.
More details check :
http://blog.csdn.net/pansing/article/details/7565923
Or just copy the file to "/system/sbin/".