arm嵌入式设备工具移植指南

fio移植编译方法:


$make clean
$make CROSS_COMPILE=/path/to/toolchain/prefix
例如:
make CROSS_COMPILE=工具链目录公有头
make CROSS_COMPILE=/xxx/xxx/xxx/arm-linux/target/bin/arm-linux-
备注:
若出现 对‘posix_madvise’未定义的引用 的错误,可以修改该函数为madvise
 

iozone移植编译方法:


方法1:阉割掉iozone对aio的支持 
修改src/current下的makefile的cc和GCC为当前交叉编译工具链,将所有"linux-arm"目标中的“-DASYNC_IO”删掉,并且,将所有"linux-arm"目标中的生成xxxasynxxx.o的命令删掉
make clean
make linux-arm
成功生成iozone
方法2:添加对aio库的支持 备注:未成功
因为在aio.h中,还包含了很多其他文件,而这些文件又是uclibc中所没有的,所以单纯找到aio.h和aio.c然后编译进来是不可以的。方法如下:   

  • 把其他包含aio.h的libc/usr库(包含include、lib等)
  • 修改makefile:
    • CC  = arm-linux-gcc
    • GCC = arm-linux-gcc
    • CFLAGS  = -Wall -static
    • CFLAGS  = -L /xxxx/lib
  •  make clean
  •  make linux-arm
  •  成功生成iozone 

注意:
本处不能指定-I目录为/xxxx/include,如果指定了,会报错:iozone_linux-arm.o:在函数‘begin’中:iozone.c:(.text 0xda0):对‘__xstat64’未定义的引用

smartmontools交叉编译:


  1. ./configure --host=arm-linux
  2. make

strace-4.9交叉编译:


  1. ./configure --host=arm-linux  
  2. make

mdadm-4.1交叉编译:


  1. 修改Makefile,增加CC赋值为需要的编译工具链
  2. make
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值