LMbench是個可移植的,用於評價系統綜合性能的多平台開源benchmark,能夠測試包括文檔讀寫、內存操作、進程創建銷毀開銷、網絡等性能。通過以下步驟操作,即可將LMbench移植到Android上。
1.下載LMbench源碼
傳送門:http://www.bitmover.com/lmbench/get_lmbench.html
2.編輯scripts/os 添加 OS=arm-linux
$vim scripts/os
#!/bin/sh
if [ "X$OS" != "X" ] && echo "$OS" | grep -q '`'
then
OS=
fi
if [ "X$OS" = "X" ]
then OS=bloat-os
MACHINE=`uname -m | sed -e 's/ //g' | sed -e 's?/?-?g'`
SYSTEM=`uname -s | sed -e 's/ //g' | sed -e 's?/?-?g'`
OS="${MACHINE}-${SYSTEM}"
if [ -f ../scripts/gnu-os ]
then OS=`../scripts/gnu-os | sed s/unknown-//`
fi
if [ -f ../../scripts/gnu-os ]
then OS=`../../scripts/gnu-os | sed s/unknown-//`
fi
fi
#add arm-linux
OS=arm-linux
echo $OS
3.編輯scripts/compiler 添加 CC=arm-linux-gcc
$vim scripts/compiler
#!/bin/sh
if [ "X$CC" != "X" ] && echo "$CC" | grep -q '`'
then
CC=
fi
if [ X$CC = X ]
then CC=cc
for p in `echo $PATH | sed 's/:/ /g'`
do if [ -f $p/gcc ]
then CC=gcc
fi
done
fi
#add arm-linux-gcc
CC=arm-linux-gcc
echo $CC
4.編輯src/Makefile 指定linker
62行,增加 -Wall -Wl,--dynamic-linker=/system/bin/linker
COMPILE=$(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -Wall -Wl,--dynamic-linker=/system/bin/linker
5.編輯src/Makefile 解決無bk.ver問題
用arm-linux-gcc編譯,遇到錯誤
make[2]: *** No rule to make target `../SCCS/s.ChangeSet', needed by
`bk.ver'. Stop.
解決辦法:
$vim src/Makefile
231 $O/lmbench : ../scripts/lmbench bk.ver
刪除 bk.ver ,再次make , 順利編譯完成後,在bin/arm-linux/下 生成所有工具二進制,並且可以在Android設備上執行。
更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11