twitter icon   twitter icon   rss icon

Linux.com Japan

Home Linux Jp チュートリアル Raxda: Raspbery Pi に代わる 100 ドル クワッドコア ARM

Raxda: Raspbery Pi に代わる 100 ドル クワッドコア ARM

原文はこちらです。

radxa DIY (Do It Yourself) で、Linux を使った何かを作りたいと考えたとき、誰もが候補に挙げるのが Raspberry Pi か BeagleBone Black でしょう。しかし CPU をたくさん使う作業、たとえば画像処理などで opencv を走らせるプロジェクトのときは、Radxa Rock が良い候補です。DIY を考えていなくても、このマシンは Linux サーバー構築にぴったりです。

 Radxa は、外付けの電子機器とのインタフェースとして、80 ピン IO、高速のクワッドコア CPU、最大 2G バイトのRAM、8G バイトのフラッシュメモリ、そして Bluetooth が付いて 100 (米) ドルします。さらに、感度の良いアンテナが付いたオンボードの WiFi を備え、基盤にぴったり合う透明ケースが付属しています。

 Radxa は、1.6GHz で走る Rockchip  RK3188 Quad core SoC と周辺回路からなります。オンボードのフラッシュ メモリ、RAM の容量、Bluetooth の有無により 2 つのモデルがあります。80 ドルの安価モデルは 1G バイト RAM、4G バイト フラッシュで、Bluetooth は付いていません。両モデルとも、クワッドコア CPU、100M ビット イーサネット、WiFi (n)、IfR 受信機、HDMI、SPDIF、ヘッドフォン出力用ジャック、そして、DIY で使えるように 2 列 2 ブロックのヘッダー ピンが付いています。

 Radxa Lite は、ちょっと高いかもしれません。BeaglBone Black リビジョン C は、シングルコアの ARM、1G バイト RAM、4G バイト フラッシュが付いて 55 ドルです。Radxa Lite は、25 ドル追加で、高クロック スピードのクワッドコア、Mali-400 GPU、WiFi (n)、音声出力、USB ポート、IfR 受信機が付いています。

 モバイルのプラットフォームとして Linux を実行させるとしたら、WiFi アンテナを組み込んだ Radxaは良い候補でしょう。BeagleBone Black に 20 ドルの追加投資で openWRT が走るデバイスによる WiFi アクセス ポイント機能を追加できます。しかし、Radxa (モデルにより 80~100 ドル) は、BeagleBone Black リビジョン C に アクセス ポイントを組み合わせたもの (75 ドル) とほぼ同価格です。Radxa には、BeagleBone Black より 1 個多い 2 個の USB ポートがあり、余裕があります。また Radxa の IfR 受信機を使って、DIY で開発したコードを簡単に制御できます。

ソフトウエアの更新

 Radxaには、Android Jelly Bean 4.2.2 か Linaro 13.11 を実行できるシステムイメージ、もしくはデュアル ブート イメージが提供されています。

  標準では、Android 4.2.2 が付属しています。画面下のステータス バーには、音量の上下、電源断ボタン、ステータス バーを隠すためのボタン用のソフト キーが配置されています。隠されたステータス バーは、画面の下をクリックしたまま、上方向にドラッグして離すと再表示されます。

 標準では、ES ファイルエクスプローラ、SuperSU、WifiDisplay、RKGameController ツールと BootUbuntu を含む数種類のアプリケーションがインストールされています。BootUbutu を実行すると、スーパー ユーザー権限を要求するダイアログが表示されます。許可すると、リブートして Ubuntu を実行する許可を求めるダイアログが出ます。しばらくすると、Linaro バージョン 13.08 のデスクトップが表示されます。提供されている最新のLinaroバージョン13.11 は、ソフトウエア更新で入手できます。

 Radxaに新しいソフトウエアを書き込む方法は、Rockchip が出しているクローズド ソースのツール、GUI のオープン ソース ツールなど、いくつかあります。しかし、オープン ソースの rkflashkit では、インストール済みのソフトウエアをアップデートできる update.img を書き込めません。現状では、クローズド ソースのツールを使って、Radxa にオペレーティング システムの更新イメージを書き込むしかありません。説明書によれば、Linux デスクトップ マシンで、クローズド ソース ツールをルート権限で実行します。しかし、ここでは最小権限を持つユーザー アカウントを作成し、Radxa の OTG インタフェースへのアクセス権限を与えます。”/etc/udev/rules_d/50-radxa.rules” ファイルに以下の行を追加します。

$ cat /etc/udev/rules.d/49-radxa.rules 
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2207", ATTRS{idProduct}=="310b", MODE:="0666"

 追加したら (訳注: udevadmin --reload_rulesを実行する必要があると思います)、Radxa の OTG ポートと Linux デスクトップ マシンの USB を接続しなおします。認識できたら、適当なユーザー アカウントで Radxa を更新します。ルート権限は不要です。まず、Radxa のリカバリ ボタンを押下し続けて、リカバリモードにします。 OTG ポートと Linux マシンを USB で接続します。Radxa のリカバリ ボタンは、電源ボタンの反対側にあります。わからないときは、OTG ポートから遠いほうのボタンを使ってください。

[ norights@desktop ]$ ./upgrade_tool  uf /tmp/radxa_rock_ubuntu_desktop_140318_update.img 
Loading firmware...
Support Type:RK31       FW Ver:1.0.00   FW Time:2014-03-18 16:22:24
Loader ver:2.08 Loader Time:2013-12-02 18:58:57
Upgrade firmware ok.

 再書き込み後の /etc/release ファイルには、version 13.09 of Linux と書き込まれています。イーサネットは、自動的には立ち上がっていなかったので、パネルから起動しました。次に、ルートのパスワードを変更しました。ルートでログインするためには、XTerm を開いて、「sudo su -1」と入力しますが、このときは、パスワードは要求されません。任意のパスワードを設定します。

 ubuntu_desktop_140318 は、NFS のクライアント、サーバ機能のどちらもサポートしていません。nfs-kernel-server パッケージをインストールしたときには、関連するカーネル モジュールはありませんでした。最新の関連モジュールをダウンロードし、/lib/modules に展開します。NFS がサポートできたら、次のようにして、Radxa でファイルシステムをマウントします。

[root@desktop mnt]# mount \
  -o soft,intr,tcp,bg,noatime,nodiratime,rsize=32768,wsize=32768,async \
  radxa:/tmp /mnt/tmp

80 ピンにアクセスする

 GPIO は、/sys/class/gpio で参照できます。

root@radxa:/sys/class/gpio# ls -l 
total 0
--w------- 1 root root 4096 Jan  1 12:00 export
lrwxrwxrwx 1 root root    0 Jan  1 12:00 gpiochip160 -> ../../devices/virtual/gpio/gpiochip160
lrwxrwxrwx 1 root root    0 Jan  1 12:00 gpiochip192 -> ../../devices/virtual/gpio/gpiochip192
lrwxrwxrwx 1 root root    0 Jan  1 12:00 gpiochip224 -> ../../devices/virtual/gpio/gpiochip224
lrwxrwxrwx 1 root root    0 Jan  1 12:00 gpiochip256 -> ../../devices/virtual/gpio/gpiochip256
--w------- 1 root root 4096 Jan  1 12:00 unexport

 TWI インタフェースは、/dev ディレクトリ経由で参照できますが、SPI は標準と違います。

# ls -l /dev/i2c*
crw------- 1 root root 89,  0 Jan  1 12:00 /dev/i2c-0
crw------- 1 root root 89,  1 Jan  1 12:00 /dev/i2c-1
crw------- 1 root root 89,  2 Jan  1 12:00 /dev/i2c-2
crw------- 1 root root 89,  3 Jan  1 12:00 /dev/i2c-3
crw------- 1 root root 89,  4 Jan  1 12:00 /dev/i2c-4
crw------- 1 root root 10, 51 Jan  1 12:00 /dev/i2c_detect
# ls -l /dev/*spi*
ls: cannot access /dev/*spi*: No such file or directory

性能テスト

 WiFi の性能測定には、Radxa、Fedora マシン間で rsync を使いました。結果は、だいたい 6.9M バイト/秒でしすが、ときどき 3.3M バイト/秒に落ちました。D-Link 855 WiFi (n) アクセス ポイント経由で測定しました。Radxa 上の NFS サーバーから、WiFi 経由でデスクトップ マシンへ 900M バイトのファイルをコピーしたときに、6.5M バイト/秒の性能がでました。

 シングル ジョブで、openssl 1.0.1e をコンパイルするのに 8 分強。BeagleBoane Black和訳) では、20 分以上かかりました。openssl をマルチ ジョブ コンパイルすると、Linaro に問題があることに気がつきました。暗号関係の性能は ODroid-U2 と同じか、良いものでした。

Radxa ciphers

Radxa の暗号化性能は、ODroid-U2 と肩を並べるものです。特に、MD5 関係の性能は U2 より良くなっています。

Radxa digests

 
RSA のシグネチャとベリフィケーション性能も同じ傾向で、Radxa は ODroid-U2 と競合しました。これらのベンチマークでは、Radxa は BeagleBone Black より高性能です。

rsa-sign copy

radxa rsa verify

今回使用した Radxa は、2G バイトの RAM を搭載しています。bonnie++ 実行には、キャッシュの影響を排除するため、4G バイトのフラッシュが必要です。bonnie++を標準の 4G バイトディスクで実行するため、下記に示すようにファイルサイズを制限し、他マシンと比較できるようにしました。

me@radxa:~/bonnie$ bonnie++ -f -m radxa -s 200 -r 100 -d `pwd`

  シーケンシャル出力は、7.4M バイト/秒、リライトでは、7.6M バイト/秒を記録しました。1 秒間に、10,500 から 15,400 ファイルの作成、削除を行えます。MarSボードは、出力に 4.7M バイト/秒、リライトが 3.5M バイト/秒、BeagleBone Black の場合、それぞれ 4.2M バイト/秒、4.5M バイト/秒、ODroid-U2 クワッドコア ARM では、16M バイト/秒、12M バイト/秒の性能でした。オンボードに搭載された 8G バイトというフラッシュのサイズ以上に、良い性能を手に入れることができます。ODroid-U2 は、eMMC インタフェースを使ったボードの中では飛び抜けて性能が良いものです。

Cairo Performance Demos  のバージョン 1.0.1 を使って、2D  グラフィック性能を測定しました。いくつかのテストを含みます。chart  は、4  本の線グラフを描画します。fish  は、多数の魚が泳ぐ水槽をシミュレーションします。gradient は、画面上を動き回る曲線を描画します。flowers  は、画面上を上下しながら回転する多数の花を描画します。1  つは 2560 x 1400、他方は 1080p の 2 個のディスプレイをドライブする NVidia GTX 570 カードを搭載した Intel 2600K CPU デスクトップ マシンと比較しました。このデスクトップ マシンは、BeagleBone Black の性能評価に用いたものです。

           Radxa      BBB fps    Mars fps       desktop 2600k/nv570
           at 1080    at 720p    LVDS at        two screens.
                                        1024x768
  gears         29      26         18             140
  chart          3       2            2              16
   fish          3        4           0.3             188
gradient        12     10        17             117
flowers          2       1           2             170

電力消費

 アイドル状態の Radxa は、約 3.5W 消費します。USB キーボードとマウスを接続すると、4.2W に上昇しました。シングル ジョブで openssl をコンパイルすると 5.5W、2 つのコンパイル ジョブだと 6.0W 消費しました。”openssl speed” ベンチマークで、インスタンスを 1 つ、または 2 つ実行したときと同様の傾向です。インスタンスを 3 つ~4 つにしたときには、ほとんど変化が見られません。WiFi を接続しても変化は見られないことから、WiFi チップには常時電力が供給されているものと思われます。

まとめ

 Radxa の安価モデルは、80 ドルで DIY に適したクワッドコア ARM ボードです。開発対象に応じて、必要なメモリやストレージが多い場合には、100 ドルの高モデルを採用すると良いでしょう。開発対象が、4 コアや無線 Linux マシンを必要とするようになったら、Radxa は良い候補と言えます。

 最後に、本レビュー用に Radxa ボードを提供してくださった Miniand に謝意を述べたいと思います。

より詳しい情報については、下記を参照してください。

The MarS DIY Platform for Around $100 (Without Screen)

BeagleBone Black: How to Get Interrupts Through Linux GPIO和訳)

Linux Foundationメンバーシップ

30人のカーネル開発者

人気コンテンツ

  1. Today's Linux 2018/01/10 2018年 1月 09日
  2. Today's Linux 2018/01/12 2018年 1月 11日
  3. Today's Linux 2018/01/15 2018年 1月 14日
  4. Today's Linux 2018/01/16 2018年 1月 15日
  5. Today's Linux 2018/01/17 2018年 1月 16日

Linux Foundationについて

Linux Foundation はLinux の普及,保護,標準化を進めるためにオープンソース コミュニティに資源とサービスを提供しています

 

The Linux Foundation Japan

サイトマップ

問い合わせ先

サイトに関するお問い合わせはこちらまで

Linux Foundation Japan

Linux Foundation

Linux Training

提案、要望

Linux.com JAPANでは広く皆様の提案、要望、投稿を受け付ける予定です。

乞うご期待!