android+busybox+编译,Android版busybox编译

Android版busybox编译

1下载busybox源码

2解压

tar -xvf busybox-1.23.2.tar.bz2

3 android版的配置脚本

解压后的源码里,configs文件压有android版本的配置脚本:

android2_defconfig       android_defconfig        android_ndk_defconfig

我选用的是android2_defconfig

4编译arm版busybox

1)export arm的编译工具:

export PATH=$PATH:/xxx/yyy/android_source/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin

2)修改编译工具

打开android2_defconfig

CONFIG_CROSS_COMPILER_PREFIX=" arm-eabi-"

改为

CONFIG_CROSS_COMPILER_PREFIX="arm-linux-androideabi-"

3)修改sysroot路径

由于arm-linux-androideabi-4.6目录下没有sysroot目录,因此需要指定,否则编译时会出现找不到一些头文件的错误,如:

include/platform.h:141:20: fatal error:limits.h: No such file or directory

compilation terminated.

make[1]: *** [applets/applets.o]错误1

make: *** [applets_dir]错误2

打开android2_defconfig

在CONFIG_CROSS_COMPILER_PREFIX下再添加一行:

CONFIG_SYSROOT=":/xxx/yyy/android_source/prebuilts/ndk/android-ndk-r7/platforms/android-14/arch-arm"

或者是在make android2_defconfig之后,进入配置选项里改,其位置是在:

Busybox Settings  --->

BuildOptions  --->

()  Path to sysroot (NEW)

4)编译

make android2_defconfig        //选项编译脚本

make       //开始编译

5编译mips版busybox

1)export mips的编译工具:

export PATH=$PATH:/xxx/yyy/android_source/prebuilts/gcc/linux-x86/mips/mipsel-linux-android-4.7/bin

2)修改编译工具

打开android2_defconfig

CONFIG_CROSS_COMPILER_PREFIX="arm-eabi-"

改为

CONFIG_CROSS_COMPILER_PREFIX="mipsel-linux-android-"

3)修改sysroot路径

mipsel-linux-android-4.7目录下已包含sysroot目录,不需要修改,默认就行。

4)编译

make android2_defconfig        //选项编译脚本

make       //开始编译

6编译异常

编译时会出现几次错误,处理原则是将该错误对应的工具选项关闭,实际上很多工具用不上,如果确实需要,才对错误进行修复。

下面是几个错误的处理过程:

Error:

coreutils/touch.c: In function'touch_main':

coreutils/touch.c:171:21: error: 'lutimes'undeclared (first use in this function)

coreutils/touch.c:171:21: note: eachundeclared identifier is reported only once for each function it appears in

make[1]: *** [coreutils/touch.o]错误1

make: *** [coreutils]错误2

Solution:

从coreutils/touch.c可看出是core utils里的touch工具出问题,所以进入编译选项coreutiles将touch的选项的勾去掉。如下:

make menuconfig  //配置编译选项

Coreutils --->

[*]touch

将touch去掉,然后退出保存,再继续编译。

Error:

networking/udhcp/dhcpc.c: In function'udhcp_recv_raw_packet':

networking/udhcp/dhcpc.c:852:24: error: invalidapplication of 'sizeof' to incomplete type 'struct tpacket_auxdata'

networking/udhcp/dhcpc.c:915:26: error:'PACKET_AUXDATA' undeclared (first use in this function)

networking/udhcp/dhcpc.c:915:26: note: eachundeclared identifier is reported only once for each function it appears in

networking/udhcp/dhcpc.c:922:11: error:dereferencing pointer to incomplete type

networking/udhcp/dhcpc.c:852:16: warning:unused variable 'cmsgbuf' [-Wunused-variable]

networking/udhcp/dhcpc.c: In function'udhcp_raw_socket':

networking/udhcp/dhcpc.c:1050:33: error:'PACKET_AUXDATA' undeclared (first use in this function)

make[1]: *** [networking/udhcp/dhcpc.o]错误1

make: *** [networking/udhcp]错误2

Solution:

去掉:

Networking Utilities  --->

[*]udhcp client (udhcpc)

Error:

libbb/lib.a(pw_encrypt.o): In function`pw_encrypt':

pw_encrypt.c:(.text.pw_encrypt+0x10):undefined reference to `crypt'

libbb/lib.a(replace.o): In function`xmalloc_substitute_string':

replace.c:(.text.xmalloc_substitute_string+0xa8):undefined reference to `mempcpy'

replace.c:(.text.xmalloc_substitute_string+0xbc):undefined reference to `mempcpy'

collect2: error: ld returned 1 exit status

make: *** [busybox_unstripped]错误1

Solution:

Crypt错误改起来麻烦,就直接将libbb/ pw_encrypt.c里的crypt(clear, salt);摒蔽掉了。

libbb/replace.c则将mempcpy改为memcpy

然后编译就通过了,并在源码根目录下产生busybox,如果只是要提取busybox里的某个工具,则继续下面的编译。

7编译出工具包

将Don't use/usr选项勾上,会将工具包编出到源码根目录下。

make menuconfig  //配置编译选项

Busybox Settings  --->

GeneralConfiguration  --->

[*]Don't use /usr

make //开始编译

编译完成后会生成_install文件夹,里面有各种工具文件。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/243931.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

北京有一个“牧人”合唱团

在北京活跃着一支名为“牧人”的合唱组织。成员由曾经在内蒙下乡的北京知青、在京的蒙古族人和热爱蒙古文化的其他民族组成。合唱团成立于2004年11月20日。春节前,我有幸参加了他们的一次聚会,感触颇深。这是一个非常团结,亲如一家的洋溢着火…

“暧昧”的吉本,“疗伤”的芭娜娜

在日本,吉本芭娜娜是与村上春树齐名的作家,她的作品《厨房》90年代就引进到了中国,还被香港改编成电影《我爱厨房》。吉本是姓,芭娜娜则是英文的“banana”(香蕉),取自于作家最喜爱的香蕉花。 正…

android+主界面所有应用程序图标添加统一背景主题,Android 4.0替Launcher主界面所有应用程序图标添加统一背景主题...

当前位置:我的异常网 Android Android 4.0替Launcher主界面所有应用程序图标添加Android 4.0替Launcher主界面所有应用程序图标添加统一背景主题www.myexceptions.net 网友分享于:2013-01-22 浏览:422次Android 4.0为Launcher主界面所有应用程序图标添…

蒙古族女孩鲍尔金娜的小说《紫茗红菱》

昨天参加了蒙古族女孩鲍尔金娜新书《紫茗红菱》的研讨会。小说是由春风文艺出版社出版的。作者是北京服装学院的学生。作者的父亲、作家鲍尔吉原野,作家邹静之、周晓枫,评论家白烨、兴安等及北京媒体记者,还有大学生读者代表对作品进行了探讨…

另一个世界的真实影像——看吕楠摄影集《四季:西藏农民的日常生活》

吕楠是中国最富传奇色彩的摄影家,假如把某些电影称为“地下”电影,那吕楠的摄影似乎可以称之为“地下”摄影。但是“地下”这个词又无法涵概他的意义和价值。他是另类的,也是人文的;他是中国的,更是世界的。他早期的摄…

android 视频开发sd卡,Android开发之SD卡文件操作分析

本文实例讲述了Android开发之SD卡文件操作。分享给大家供大家参考,具体如下:前面的文章中写过直接操作手机自带存储器的程序,这次就接着上次文章协议下对sd卡的文件操作。与自带存储不同的是使用sd卡需要用户授权千万要记住不能写颠倒了&…

母与子

姑姑和堂弟从老家呼伦贝尔来北京,我拍下了这张照片。

BRAND-NEW OF DOUBLES工作组合的新作品

1号作品:由主笔LUCKY BIRD创作,长篇少年冒险漫画《旗の交响曲》2号作品:由主笔LUCKY BEGGAR创作,长篇少年航海漫画《圣灵号》以上是我女儿与同学设立的动漫工作室推出的作品。

android listview 切换,Android:在ListView适配器中切换OnCheckedChangeListener

我在我的应用程序中有一个listView。对于listView中的每个元素,它都有一个Switch。以前我在listView Adapter的getView方法中为Switch实现了一个onClickListener。但是,我发现虽然它在用户单击交换机时工作,但当用户在交换机上滑动时&#xf…

絮语之一:悲悯·海·《垂死的肉身》

有怜悯之心的人是可爱的。 但是悲悯之心却是很难的。怜悯容易,悲悯难。怜悯是情感,悲悯却是情怀和境界。悲悯是一种宗教,中国人少有。我崇拜基督。但觉得它太遥远,而且怕皈依了会坚守不住。所以只能远远地崇拜和学习。因为信了一但不能坚守,就…

鸿蒙之下5怎么跳城池,鸿蒙之空间道尊

“恩,一切都准备好了,也和伏羲兄长他们说好了,现在我们可以走了,”在女娲说完后,炫龙句看向后土和玄冥,看到二女也点着头,意思就是自己也和女娲一下安排好了巫族剩余的族人。原本按照天道原来的…

北京某打工子弟学校之一

北京有一批自愿帮助打工子弟学校的学生学习英语的中外青年人。他们利用周末的休息时间来到沙河某子弟学校,为孩子们进行义务授课。这是曾在美国学习英语的厄瓜多尔女孩和中国某汉语学校的英语老师在交孩子们学习阅读数字。这是从美国留学归来志愿教孩子们英语的北京…

北京某打工子弟学校之二

中国老师和韩国老师的师范英语教学引起了学生的好奇。一个插班小女孩的苦闷。你猜她们快乐么?外国女孩第一次当老师,却遭到学生们的躲避抵抗。这才叫聚精会神。课间男孩子也会打闹。

带控制端口的加法器

带控制端口的加法器 1 电路系统的工作原理 2 电路的VHDL语言描述方法及语法分析 1). 带控制端口加法器的源描述 2). 设计实体 3). 实体说明 4). 结构体 5). 进程 6). 顺序语句if 7). 位向量 8). 重载 1 电路系统的工作原理 该加法器有二个输入端口in1和in2,一个输出…

鸿蒙系统安兔兔排行榜,安兔兔评测鸿蒙版下载-安兔兔评测 鸿蒙版v9.0.7-PC6鸿蒙网...

需要调用以下重要权限- 允许应用程序打开网络套接字, 允许只读到电话状态访问,包括该装置的电话号码,当前蜂窝网络信息,任何正在进行的呼叫的状态,并且任何一个列表 PhoneAccount的注册在设备上, 允许应用程序访问Wi-Fi网络的信息…

北京某打工子弟学校之三

小孩子的画一般都寄托了着她们的理想。看到她们在画画,我于是也画了一匹马,她们直喊:画的像。哈哈。有困难找老师。

大历史小人物轻喜剧重悬疑:读刘连枢的长篇小说《暗宅之谜》

从《渴望》到《贫嘴张大民的幸福生活》,反映市民生活的京味儿电视剧给我们带来了令人难忘的眼泪和欢笑。至今,《渴望》还在电视台播放,吸引了新一代的观众;而《贫嘴张大民的幸福生活》对北京市民生活更加真实的展露,使…

比较器

比较器 1. 电路的工作原理 比较器用于比较两个位串所代表的整数的大小。比较器两个输入端分别是in1和in2,类型为位向量,另外还有一个输出端口pout,将比较的结果输出。如果in1小于in2,则pout输出“1”,否则输出为“0”。 2. VHDL语言描述方法及语法分析 (1) 比较器的…

在所有浏览器下一次性测试您的网站

一个名为Browsershots的新项目可以帮助Web设计师以非常小的代价查看所他们设计的网站在各种不同的浏览器和平台下的外观。\u0026#xD;\n你在Browsershots网站上所要做的事情就是输入网址,然后选中你需要测试的浏览器。Browsershots支持31种Linux浏览器、6种Windows浏…