为Android交叉编译busybox

发布时间:2013-9-11 18:09    发布者:reggae
关键词: android
鉴于android调试模式中提供的命令太少而且功能太弱,给它添加个busybox是必需的,在网上找了几个已经编译好的busybox都挺不错,可是为了折腾,也为了根据自己喜好添加或者删除一些自己不用的命令,于是就想着自己编译一个。记得busybox是很好编译的,有跟编译内核差不多的 menuconfig,而且其中选项比kernel简洁得多了。
(PS:^_^不错的Android学习交流群278744577,验证:eec,有兴趣的话可以加入进来一起讨论)
我是在Linux下编译的,具体的过程如下:
1、准备
ARM的交叉编译工具,我这里使用的是Sourcery G++ Lite
下载地址:http://www.codesourcery.com/sgpp ... tion?@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上运行的。

本文地址:https://www.eechina.com/thread-120769-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
rinllow6 发表于 2013-9-17 13:32:22
谢谢!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

相关视频

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表