linux下3.4.1交叉编译器编译busybox-1.20.2
来源:互联网 发布:淘宝返利机器人软件 编辑:程序博客网 时间:2024/06/03 20:41
一、移植:busybox-1.20.0并且使用strace解决问题
1、到官网下载:http://www.busybox.net/downloads/
2、解压:tarxvf busybox-1.20.0.tar.bz2
3、配置:cd busybox-1.20.0
make menuconfig
4、配置选项添加交叉编译工具:arm-linux-
Busybox Settings --->
Build Options --->
添加交叉编译工具前缀:arm-linux-
5、编译:make
6、解决错误:
错误1:
miscutils/ionice.c:23: error:`SYS_ioprio_set' undeclared (first use in this function)
解决方法:将ionice选项去掉
(1)make menuconfig
(2)输入"/",进入到搜索框
(3)在搜索框里面输入:ionice,回车
(4)会列出ionice选项的位置
(5)找到ionice选项并去除选中
(6)保存退出,并且执行:make
错误2:
miscutils/nandwrite.c:64: error:dereferencing pointer to incomplete type
解决方法:将nandwrite,nanddump选项去掉
方法同上
错误3:
miscutils/ubi_tools.c:67:26:mtd/ubi-user.h: No such file or directory
解决方法:将ubi开头的选项都去掉
错误4:
networking/interface.c:806: error:`ARPHRD_INFINIBAND' undeclared here (not in a function)
networking/interface.c:806: error: initializerelement is not constant
networking/interface.c:806: error: (nearinitialization for `ib_hwtype.type')
在文件interface.c中加入如下语句
#define ARPHRD_INFINIBAND 32 /* InfiniBand */
这个是从文件include/linux/if_arp.h中得到
错误5:法一、networking/udhcp/dhcpc.c: In function`udhcp_raw_socket':
networking/udhcp/dhcpc.c:821: error:elements of array `filter_instr' have incomplete type
把network下面不要的一堆东西干掉吧
法二、
我根据提示,改了一下,将/FL2440/usr/local/arm/3.4.1/arm-linux/sys-include/llinux/filter.h中的sock_filter类型的定义改成了
struct sock_filter /* Filter block */
{
unsigned short code; /* Actual filter code */ 原来为__u16
unsigned char jt; /* Jump true */
unsigned char jf; /* Jump false */
unsigned int k; /* Generic multiuse field */
};
或者直接添加头文件 #include <linux/types.h>
错误6:
/opt/arm/3.4.1/bin/../lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/percpu.h:45:error: `GFP_KERNEL' undeclared (first use in this function)
/opt/arm/3.4.1/bin/../lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/percpu.h:45:error: (Each undeclared identifier is reported only once
/opt/arm/3.4.1/bin/../lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/percpu.h:45:error: for each function it appears in.)
In file included from/opt/arm/3.4.1/bin/../lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/ext2_fs.h:20,
去掉
Linux System Utilities --->
[ ] mkfs_ext2
[ ] mkfs_vfat
错误7:
usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:342: error: variable or field `__user'' declared void
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:342: error: parse error before ''*'' token
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/sys-include/linux/fd.h:360: error: parse error before ''}'' token
解决方法:
在/usr/local/arm/3.4.1/arm-linux/sys-include/linux/fd.h文件中添加#include <linux/compiler.h>
- linux下3.4.1交叉编译器编译busybox-1.20.2
- Linux 下 Busybox 交叉编译
- 交叉编译器的建立及uboot、linux内核、busybox的编译方法
- 交叉编译 BusyBox 1.15.1
- ARM-Linux平台的Busybox交叉编译
- busybox-1.20.2 交叉编译 并构建最小根文件系统
- linux下安装交叉编译器
- linux下交叉编译器制作
- 交叉编译busybox
- busybox交叉编译
- Busybox文件系统交叉编译
- busybox 交叉编译
- 交叉编译busybox
- busybox交叉编译选项
- 交叉编译busybox
- 交叉编译busybox
- busybox交叉编译+移植
- Busybox 交叉编译
- 《方与圆》第三章 生命力
- 微软面试题:求整数随机数构成的数组中找到长度大于=3的最长的等差数列
- 《方与圆》第四章 保持思想的开放性
- Ubuntu下的Android(三)、搭建Eclipse开发环境
- 《方与圆》第五章 积极主动的人生态度每个人都是自己命运的设计师
- linux下3.4.1交叉编译器编译busybox-1.20.2
- Work time
- 在ubuntu编译openjdk7(转载)
- 《方与圆》序人生控制论
- linux串口
- 《方与圆》序人生控制论 第一章 生命的意义
- app推广方式
- 在Drupal7当中如何直接在线浏览PDF文档
- 《方与圆》序人生控制论 第二章 认识自己