Banana Pi

From ArchWiki
Jump to navigation Jump to search

メーカーのウェブサイト より:

Banana Pi はオープンソースのシングルボードコンピュータです。Android 4.4, Ubuntu, Debian, Rasberry Pi イメージ, Cubieboard イメージなどを動作させることができます。AllWinner A20 SoC を使っており、1GB DDR3 SDRAM が搭載されています。

BananaPi は ARMv7-A アーキテクチャで作られたミニマルなコンピュータです。詳細は プロジェクトのページ技術仕様書 を見て下さい。

Allwinner SoC を使うため、Banana ボードはドキュメントがよくまとまっている Sunxi Linux カーネルが動作します。ハードウェアやカーネルに関連することについては、Sunxi Wiki も参照してください。

イントロダクション

この記事は Raspberry Pi のページが元になっています。さらに、この記事は詳しい手順を解説したセットアップガイドではなく、あくまで読者が既に Arch 環境をセットアップした経験があることを前提とします。Arch の初心者はビギナーズガイドを読むようにしてください。特にユーザーの作成やシステムの管理などについてよくわからないときは必読です。

Arch Linux ARM のインストール

ソースのダウンロード

まず、あなたのボードに合わせて適当なイメージをダウンロードします。Banana Pro で Banana Pi 用のイメージをインストールことも可能ではありますが、無線のサポートなどの機能は含まれていません。

こちらの Pi 用の Arch / LXDE ディストリビューション のように、カスタマイズされたイメージを使うこともできます。

インストール

Banana Pi のドキュメント を見て下さい。Arch Linux イメージ をダウンロードして、展開し、SD カードに書き込む必要があります。SD カードの容量が 4GB 以上あるときは、parted などのツールでファイルシステムをリサイズできます。

ネットワーク

SSH

デフォルトで SSH デーモンがインストールされるようになっています。デフォルトのログインデータは:

タイプ ユーザー名 パスワード
Root root bananapi
User bananapi bananapi

X.org ドライバー

Banana Pi 用の X.org ドライバーは xf86-video-fbdev パッケージでインストールできます。

トラブルシューティング

HDMI 1080p 解像度

デフォルトの 1280x720/60Hz から 1920x1080/60Hz に解像度を変更する方法は2つあります。

手動で解像度を変更

利用可能な HDMI 解像度を確認:

# cat /sys/class/graphics/fb0/modes

適当な解像度に変更、例:

# echo "D:1920x1080p-60" > /sys/class/graphics/fb0/mode

起動時に自動的に解像度を設定

uEnv.txt のカーネルパラメータを編集して script.bin に必要なパラメータを記述する必要があります。script.bin はバイナリファイルのため、Sunix をツールを使ってバイナリファイルを script.fex テキストファイルに変換して、変更を加えてから、script.bin に再変換してください (Sunxi fex ガイド, Sunix カーネル引数, スレッド を参照):

$ cd $HOME
$ mkdir $HOME/boot
$ sudo mount /dev/mmcblk0p1 $HOME/boot
$ cp $HOME/boot/script.bin $HOME/script.bin
$ pacman -S sunxi-tools
$ bin2fex $HOME/script.bin $HOME/script.fex

作成された script.fex を好きなエディタで編集します。[disp_init] セクションを探して以下のパラメータを変更・追加してください:

screen0_output_mode = 10
fb0_framebuffer_num = 3
fb0_scaler_mode_enable = 0
sunxi_fb_mem_reserve = 32

変更を保存したら、fex2bin を実行してから、script.bin をバックアップして置き換えます:

$ $HOME/sunxi-tools/fex2bin $HOME/script.fex $HOME/script.bin
$ sudo cp $HOME/boot/script.bin $HOME/boot/script.bin.backup
$ sudo cp $HOME/script.bin $HOME/boot/script.bin

バックアップの作成後、root 権限で $HOME/boot/uEnv.txtdisp.screen0.output_mode を変更できます:

disp.screen0.output_mode=10:1920x1080p60

ブートパーティションをアンマウントして再起動したら、1080p/60Hz になっているはずです。

アイドル状態でディスプレイがオフになった後にオンにならなくなる

一定時間アイドル状態が続いてディスプレイがオフになった後、オンに戻らなくなる問題が発生する場合、DPMS を無効化することができます。その後、以下の X11 引数をディスプレイマネージャの適当な設定に追加してください:

-s 0 -dpms

例えば、SLiM を使っている場合、/etc/slim.conf を編集します:

xserver_arguments -nolisten tcp vt07 -s 0 -dpms 

デバイスを再起動したときなど、何らかの理由でディスプレイがオフから変えられなくなったとき、一時的に解像度を変更することでオンにすることができます:

# echo "D:1280x720p-60" > /sys/class/graphics/fb0/mode
# echo "D:1920x1080p-60" > /sys/class/graphics/fb0/mode

ベンチマーク

実際に接続されているハードウェア (例: HDD) によって、ベンチマークの値は変わってきますが、Banana Pi のパフォーマンスを知るのにある程度は役に立つでしょう。

SATA HDD

2つの異なる外部 HDD (3.5インチ、外部電源) を SATA-L と eSATA-I ケーブルで Banana Pi に接続しています。読み書き速度は dd のものです (3回実行した平均):

HDD 1 (2 TB) HDD 2 (4 TB)
読み取り速度 81.8 MB/s 115.5 MB/s
書き込み速度 37.6 MB/s 39.4 MB/s

ネットワーク

Allwinner A20 SoC に制限があるため、BPi はギガビットイーサネット NIC の理論値の帯域幅を完全に使うことはできません。それでも BPi は約 510 MBits/s を出すことができます。

ベンチマークは iperf を使って実行しました (3回実行した平均値)。クライアントの BPi とサーバーはギガビットイーサネットによってギガビット対応のスイッチに接続しています。

参照