2014年1月25日土曜日

パッケージの追加(nbench)

今日は、core-image-satoに手動でnbenchを追加してみます。
raspberry piはオーバークロックがあるみたいなので、
この後nbenchを使ってみようという感じです。
まずは、nbenchのレシピがあるかどうか探します。
$ cd poky
$ find -name nbench*
./meta-openembedded/meta-oe/recipes-benchmark/nbench-byte
./meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte
./meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte/nbench_32bits.patch
./meta-openembedded/meta-oe/recipes-benchmark/nbench-byte/nbench-byte_2.2.3.bb
meta-oeの下にレシピがあるようなので、ちょっとこのままビルドしてみます。
$ bitbake nbench-byte
Loading cache: 100% |###########################################################################################################################| ETA:  00:00:00
Loaded 1224 entries from dependency cache.
ERROR: Nothing PROVIDES 'nbench-byte'

Summary: There was 1 ERROR message shown, returning a non-zero exit code.
あれ?みつかんないみたいです。。。
あ~、レイヤが見つからないんだなってことで、bblayersを編集します。
$ cd ../build_raspi
$ vi conf/bblayers.conf
  BBLAYERS ?= " \
    /home/knishimu/workplace/yocto/poky/meta \
    /home/knishimu/workplace/yocto/poky/meta-yocto \
    /home/knishimu/workplace/yocto/poky/meta-yocto-bsp \
    /home/knishimu/workplace/yocto/poky/meta-raspberrypi \
    /home/knishimu/workplace/yocto/poky/meta-openembedded/meta-oe \
    "
んで、ビルド。
$ bitbake nbench-byte
Parsing recipes: 100% |#########################################################################################################################| Time: 00:01:53
Parsing of 1304 .bb files complete (0 cached, 1304 parsed). 1722 targets, 65 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies

Build Configuration:
BB_VERSION        = "1.21.1"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-12.04"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "raspberrypi"
DISTRO            = "poky"
DISTRO_VERSION    = "1.5+snapshot-20140121"
TUNE_FEATURES     = "armv6 vfp"
TARGET_FPU        = "vfp"
meta
meta-yocto
meta-yocto-bsp    = "master:b908caca1af1d4150eafd3d3001ea19599657270"
meta-raspberrypi  = "master:49c08724483da00d6cd0ed7d00561cfa14edf2f2"
meta-oe           = "master:9402e8cc964a3d75456af616497d376ebcc8e299"

NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
WARNING: nbench-byte: No generic license file exists for: freely in any provider
WARNING: nbench-byte: No generic license file exists for: distributable in any provider
NOTE: Tasks Summary: Attempted 372 tasks of which 359 didn't need to be rerun and all succeeded.

Summary: There were 2 WARNING messages shown.
$
なんか、ライセンスで怒られてますが、できたっぽいです。
meta-oeも認識されたみたいですね。
RPMパッケージがこのへんにあります。
$ ls tmp/deploy/rpm/armv6_vfp/nbench-byte-*
tmp/deploy/rpm/armv6_vfp/nbench-byte-2.2.3-r0.armv6_vfp.rpm
tmp/deploy/rpm/armv6_vfp/nbench-byte-dev-2.2.3-r0.armv6_vfp.rpm
tmp/deploy/rpm/armv6_vfp/nbench-byte-dbg-2.2.3-r0.armv6_vfp.rpm
これを、raspiにコピーして、
$ scp tmp/deploy/rpm/armv6_vfp/nbench-byte-2.2.3-r0.armv6_vfp.rpm root@192.168.0.10:/home/root
nbench-byte-2.2.3-r0.armv6_vfp.rpm                                100%   26KB  26.2KB/s   00:00
$
んで、ターゲット側でインストールします。
root@raspberrypi:~# ls
nbench-byte-2.2.3-r0.armv6_vfp.rpm
root@raspberrypi:~# rpm -ivh ./nbench-byte-2.2.3-r0.armv6_vfp.rpm
Preparing...                ########################################### [100%]
   1:nbench-byte            ########################################### [100%]
root@raspberrypi:~# which nbench
/usr/bin/nbench
実行結果は、またこんど♪
追記:
nbenchをこのまま実行すると、下記のようなエラーがでます。
root@raspberrypi:~# nbench

BYTEmark* Native Mode Benchmark ver. 2 (10/95)
Index-split by Andrew D. Balsa (11/97)
Linux/Unix* port by Uwe F. Mayer (12/96,11/97)

TEST                : Iterations/sec.  : Old Index   : New Index
                    :                  : Pentium 90* : AMD K6/233*
--------------------:------------------:-------------:------------
NUMERIC SORT        :          182.96  :       4.69  :       1.54
STRING SORT         :          28.689  :      12.82  :       1.98
BITFIELD            :      8.2803e+07  :      14.20  :       2.97
FP EMULATION        :           28.34  :      13.60  :       3.14
FOURIER             :          1685.8  :       1.92  :       1.08
ASSIGNMENT          :          2.3679  :       9.01  :       2.34
IDEA                :          674.32  :      10.31  :       3.06
HUFFMAN             :          408.97  :      11.34  :       3.62
NEURAL NET          :
 CPU:NNET--error in opening file!root@raspberrypi:~#
これは、NNET.DATというファイルが見つからないために発生しています。
nbenchのパッケージの中身をのぞいてみると、、、
$ rpm2cpio rpm/armv6_vfp/nbench-byte-2.2.3-r0.armv6_vfp.rpm |cpio --list
./usr
./usr/bin
./usr/bin/nbench
./usr/bin/NNET.DAT
85 blocks
と、/usr/binにありますので、これをコピーするなり、シンボリックリンクをはるなりして
実行するカレントディレクトリにあるようにしてやるとOKです。

0 件のコメント :

コメントを投稿