织梦CMS - 轻松建站从此开始!

罗索

当前位置: 主页>嵌入式开发>Android>

为Android交叉编译busybox

jackyhwei 发布于 2011-04-21 09:22 点击:次 
鉴于android调试模式中提供的命令太少而且功能太弱,给它添加个busybox是必需的,在网上找了几个已经编译好的busybox都挺不错,可是为了折腾,也为了根据自己喜好添加或者删除一些自己不用的命令,于是就想着自己编译一个。
TAG:

by Yunt    in Android

鉴于android调试模式中提供的命令太少而且功能太弱,给它添加个busybox是必需的,在网上找了几个已经编译好的busybox都挺不错,可是为了折腾,也为了根据自己喜好添加或者删除一些自己不用的命令,于是就想着自己编译一个。记得busybox是很好编译的,有跟编译内核差不多的menuconfig,而且其中选项比kernel简洁得多了。

我是在Linux下编译的,具体的过程如下:

1、准备

ARM的交叉编译工具,我这里使用的是Sourcery G++ Lite

下载地址:http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite

Busybox的源代码

下载地址:http://busybox.net/downloads/

2、编译busybox

在busybox目录下执行

make menuconfig

进入图形选择模式,这里有几个选项是必选或者必填的

Busybox Settings -> Build Options ->
[*] Build BusyBox as a static binary (no shared libs)
//这个是静态编译的选项,这样编译出来的可执行文件才不依赖系统的动态链接库
(/home/yunt/works/cross-arm/bin/arm-none-linux-gnueabi-) Cross Compiler prefex
//这是交叉编译器的”路径+前缀”,这里要根据实际安装位置填,在我的机器上安装位置为/home/yunt/works/cross-arm
 
Busybox Settings
-> Installation Options->
[*] Don’t use /usr
//这样子编译出来的busybox才不会安装到你主机的/usr目录下。一定要选上。

接下来退出menuconfig模式后运行make编译

完成后会在当前目录生成busybox的可执行文件

3、安装进android

连上手机数据线,然后执行

adb push busybox /sdcard/ #将busybox push进SD卡
adb shell
#进入终端
su #取得root权限
mount -o remount,rw /dev/block/mtdblock6 /system #重新mount使/system可写
mv busybox /system/bin/ #移动busybox
chmod 777 /system/bin/buxybox #设为可执行
mount -o remount,ro /dev/block/mtdblock6 /system #恢复/system为只读
busybox
#执行busybox
BusyBox v1.15.2
(2009-12-02 21:29:32 EST) multi-call binary
Copyright
(C) 1998-2008 Erik Andersen, Rob Landley, Denys Vlasenko
and others. Licensed under GPLv2.
See
source distribution for full notice.
#有类似以上内容输出表示成功

这里只是简单的介绍一种方法,其实只要有了交叉编译工具基本上大部份的开源软件都是能够使用静态编译而在android上运行的。

源文档 <http://lazyhack.net/cross-compile-busybox-for-android/>

(Yunt)
本站文章除注明转载外,均为本站原创或编译欢迎任何形式的转载,但请务必注明出处,尊重他人劳动,同学习共成长。转载请注明:文章转载自:罗索实验室 [http://www.rosoo.net/a/201104/11263.html]
本文出处:lazyhack.net 作者:Yunt
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
将本文分享到微信
织梦二维码生成器
推荐内容