設定 - Banana Pi F3
概要
Banana Pi BPI-F3は、SpacemiT K1 8コアRISC-Vチップを搭載した産業グレードの開発ボードである。
SoCには2.0 TOPsのAI演算能力が統合されており、シングルコア性能はCortex-A55の約1.3倍に相当する。
メモリは2/4/8/16[GB]のLPDDR4、ストレージは8/16/32/128[GB]のeMMCを搭載しており、用途に応じた柔軟な構成が可能である。
ネットワーク機能として2つのギガビットイーサネットポートを備え、PoE HATの追加によりPoE給電にも対応する。
拡張性の面では、4つのUSB 3.0ポート、M.2インターフェース用のPCIe 2.1、HDMI出力、デュアルMIPI-CSIカメラインターフェースを装備している。
動作温度範囲は、-40[℃]〜85[℃] まで対応しており、NAS、ノートPC、スマートロボット、産業制御、AIエッジコンピューティング等、幅広い用途での活用が想定されている。
準備
Banana Pi F3は、RISC-V K1コア、SPM8821 PMIC + 外部DCDC電源方式、ストレージにはLPDDR4XとeMMCを採用している。
PCIe 2.0 2レーンM.2 KEY M、PCIe 2.0 1レーンMINI PCIe、USB3.0 TYPE-A * 3、WIFI / BT、TFカード、HDMI TX、MIPI DSI、MIPI CSI、TYPE-C、RJ45 * 2等の周辺デバイスを統合している。
TTLケーブル、12V PD電源、USBケーブル、最低8[GB]のTFカードを準備すること。
※注意
bianbu-k1-xxx.img.zipの名前のイメージはSDカードイメージ、bianbu-k1-xxx.zipの名前のイメージはeMMCイメージである。
書き込み時に間違えないように注意してください。
SDカードへの書き込み
Balena Etcherの使用
Balena Etcherは、BalenaによるオープンソースのGUIフラッシュツールで、OSイメージをSDカードまたはUSBドライブに書き込むことができる。
※注意
Bianbu OSの場合は、bianbu-k1-xxx.img.zipの名前のイメージファイルを選択すること。
- [Flash from file]を選択して、イメージファイルを選択する。
- [Select target]を選択して、ストレージを選択する。
- [Flash!]を選択して書き込みを開始する。
※注意
Bianbu OSの起動時にはHDMI画面を接続すること。
eMMCへの書き込み
TitanToolsのインストール
TitanToolsをダウンロードおよびインストールする。
- Windows
- Linux
- https://download.banana-pi.dev/d/ca025d76afd448aabc63/files/?p=%2FTools%2Fimage_download_tools%2Ftitantools_for_linux-1.0.35-beta.zip
- Linuxの場合は、TitanToolsに実行権限を付加して実行する。
[不明な発行元からのこのアプリがデバイスに変更を加えることを許可]を選択する。
その後、ドライバソフトウェアを常にインストールすることを選択する。
TitanToolsを使用してeMMCに書き込む
- TitanToolsを起動して、メイン画面左ペインから[Dev Tools] - [USB Download]を選択する。
(複数のデバイスを同時に書き込む必要がある場合は、[Factory Tools] - [Multi-USB Download]を選択する。 - Banana Pi F3をフラッシングモードにする。
- 方法1
- Banana Pi F3の電源が入っていない状態でDOWNLOAAO (FDL) ボタンを押下し続け、USB Type-Cケーブルを接続し、その後ボタンを離す。
USB電源が不足する場合は、まず電源を投入した後にボタンを離し、その後USB Type-Cケーブルを接続する。
- Banana Pi F3の電源が入っていない状態でDOWNLOAAO (FDL) ボタンを押下し続け、USB Type-Cケーブルを接続し、その後ボタンを離す。
- 方法2
- Banana Pi F3の電源が入っている状態でDOWNLOAD (FDL) ボタンを押下し続け、次に[Reset]ボタンを押下した後に、USBケーブルを差し込む。
- 方法1

※注意1
Bianbu OSの場合は、bianbu-k1-xxx.zipという名前のイメージファイルを選択すること。
※注意2
USBハブを使用すると、"Fastboot device initialization failure"エラーが発生する可能性がある。
ソフトウェアの認識が成功すると、VID:PID= と表示される。
複数のデバイスがある場合は、書き込むデバイスを選択する。
イメージファイルを選択すると自動的にソフトウェアが解凍される。
- [Start Flashing]ボタンを押下する。
- 書き込みが完了した後、再度電源を投入する。
TitanFlasherを使用してeMMCに書き込む
TitanFlasherツールを使用して、flashserver.exeファイルを書き込みたいeMMCイメージファイルの下に配置する。
PCからTitanFlasherを実行する。
# Winodws .\flashserver.exe --debug # Linux ./flashserver --debug
# Banana Pi F3の認識例 ---- Available ports: ---- 1:2-3 'fastboot VID:PID=0xAAAA:0xBBBB'
この例では、"1"を選択してイメージファイルをフラッシュする。
---- Enter port index of or full name: <数値を入力 例: 1>
※注意
現在、Armbianをインストールする場合はSDカード起動のみをサポートしている。
ddコマンドによるeMMCの書き込み
TitanTools以外に、ddコマンドを使用してイメージをeMMCに書き込むこともできる。
Bianbu OSの場合は、bianbu-k1-xxx.img.zipファイルをUSBドライブに解凍して、fsbl.bin および bootinfo_emmc.bin をUSBドライブにコピーする。
ユーザアカウントの作成
初回接続
Banana Pi F3に有線LANケーブルを接続し、デバイスを起動する。
起動後、画面にIPアドレスが表示されるため、そのIPアドレスを使用してPCからSSH接続を行う。
例えば、Armbianの初期認証情報は以下の通りである。
- ユーザ名:root
- パスワード:1234
アカウント設定
初回ログイン時、新規ユーザアカウントの作成が求められるため、以下に示す項目を入力する。
- シェル
- Bash または Zsh
- ユーザアカウント名
- ユーザアカウントのパスワード
SDカードからeMMCへインストール
Linux OSがSDカードに書き込まれ、正常に起動していることを確認する。
まず、以下に示すコマンドを実行する。
sudo bananapi-config # または sudo armbian-config
以下に示す手順に従って、eMMCにLinuxイメージをインストールする。
- [System]を選択する。
- [Install]を選択する。
- [Boot from eMMC]を選択する。
- [Yes]を選択する。
- [ext4]ファイルシステムを選択する。
- 処理が完了するまで数分間待機する。
Banana Pi F3の電源を落とさないこと。 - 処理が完了した後、Banana Pi F3をシャットダウンする。
- SDカードを取り外し再び電源を投入すると、eMMCから起動される。
有線LANの設定
静的IPアドレスの設定
静的IPアドレスを設定する方法として、nmcliコマンドを使用する方法と、設定ファイルを直接編集する方法の2つがある。
方法1 : nmcliコマンドによる設定 (推奨)
NetworkManagerの管理ツールであるnmcliコマンドを使用する方法である。
まず、現在の接続名を確認する。
nmcli connection show
接続名 (例 : Wired connection 1 や eth0等) を確認した後、以下に示すコマンドで静的IPアドレスを設定する。
sudo nmcli connection modify "Wired connection 1" \ ipv4.method manual \ ipv4.addresses 192.168.X.XX/24 \ ipv4.gateway 192.168.X.X \ ipv4.dns 192.168.X.X
設定を反映させるため、Banana Pi F3を再起動する。
※注意
SSH接続中に以下のコマンドで接続を再起動すると、Banana Pi F3へのアクセスが切断される。
そのため、初期設定時はシステム全体を再起動する。
sudo nmcli connection down "Wired connection 1" sudo nmcli connection up "Wired connection 1"
方法2:設定ファイルの直接編集
NetworkManagerの設定ファイルを直接編集することも可能である。
設定ファイルは /etc/NetworkManager/system-connections/ ディレクトリに保存されている。
該当する接続の設定ファイルを編集する。
sudo vi /etc/NetworkManager/system-connections/"Wired connection 1.nmconnection"
ファイルを以下に示すように編集する。
[connection]
id=<接続名 例 : Wired connection 1>
uuid=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
type=ethernet
autoconnect-priority=-999
interface-name=<インターフェース名 例 : end0>
timestamp=1736695791
[ethernet]
[ipv4]
method=manual
address1=<静的IPアドレス 例 : 192.168.1.100>/<サブネットマスク 例 : 24>,<ゲートウェイのIPアドレス 例 : 192.168.1.1>
dns=<DNSのIPアドレス 例 : 192.168.1.1>;
[ipv6]
method=auto
addr-gen-mode=default
[proxy]
ファイルを保存した後、Banana Pi F3を再起動する。
※注意
SSH接続中に以下に示すコマンドで設定を再読み込みすると、Banana Pi F3へのアクセスが切断される。
そのため、初期設定時はシステム全体を再起動する。
sudo nmcli connection reload sudo nmcli connection up "Wired connection 1"
設定の確認
設定が正しく適用されたことを確認する。
ip addr show
または、NetworkManagerの設定を確認する。
nmcli connection show "Wired connection 1"
Wi-Fiの設定
Wi-Fiの設定では、UIを使用する方法 および コマンドを使用する方法の2つがある。
# ネットワークデバイスの一覧を表示 sudo nmcli dev # Wi-Fi機能を有効化 sudo nmcli r wifi on # 周辺のWi-Fiネットワークをスキャンして表示 sudo nmcli dev wifi # 指定したSSIDとパスワードでWi-Fiに接続 sudo nmcli dev wifi connect <Wi-FiのSSID> password <Wi-Fiのパスワード> ifname wlan0
Bluetoothの設定
Bluetoothの設定では、UIを使用する方法 および コマンドを使用する方法の2つがある。
# Bluetoothデバイスの状態を表示 hciconfig # Bluetoothインターフェースを起動 sudo hciconfig hci0 up # 認証なしモードに設定 hciconfig hci0 noauth # 近くのBluetoothデバイスを検索 hcitool scan # Bluetoothデバイスをシリアルポートに紐付け sudo rfcomm bind /dev/rfcomm0 xx:xx:xx:xx # シリアルポート経由でデータを送信 sudo cat >/dev/rfcomm0
4Gモジュール
まず、SIMカードとEC25-EモジュールをBanana PiF3に挿入してから、電源を投入する。
次に、命令クエリモジュールを使用してステータスを確認する。
# USBデバイス一覧を表示 (4Gモジュールの認識確認) lsusb
ATコマンドを使用してモジュールとSIMカードのステータスを確認する。
# モジュールステータスを確認 AT+CGMM # SIMカードステータスを確認 AT+CPIN?
nmcliコマンドを使用して、モジュールでダイヤルを有効にする。
# 既存のモバイル接続設定を削除 sudo nmcli connection delete wwan # 出力例 : Connection 'wwan' (cf521d55-c9b0-48d3-96b7-d544cee4b054) successfully deleted.
# GSM (4G) 接続の新規作成 (APN等を設定) sudo nmcli connection add type gsm ifname "*" con-name wwan apn cmnet # 出力例 : Connection 'wwan' (cc1953ac-27d9-4bed-98c7-2256c6c6135a) successfully added.
# 4G接続を開始 sudo nmcli connection up wwan # 出力例 : Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
上記のコマンドを実行することにより、wwan0インターフェースにIPアドレスが割り当てられる。
また、pingコマンドを実行して外部ネットワークをテストすることにより、システムが正常にインターネットにアクセスできることが確認できる。
DDR容量の設定
- TitanToolsを起動して、メイン画面左ペインにある[Factory Tools]を選択する。
- [Key Programming]を選択する。
- [Custom field]を選択して、[Name]列の値が[ddr_cs_num]オプションを探す。
- [Type]列の値を[Scan]に変更する。
- [ddr_cs_num]オプションが表示されない場合は、[Restore]ボタンを押下して設定を復元する。
- [Save]ボタンを押下する。
[Factory Tools] - [Key Programming]に戻り、[ddr_cs_num]列の[Value]を 2 から 1 へ変更する。
Banana Pi F3本体のFDLボタンを押下し続けながら、USB Type-CケーブルをBanana Pi F3に接続する。
ボードが認識されたら、[Start Write]ボタンを押下する。
再度入力を求められた場合は、1 を入力して[Enter]キーを押下する。
番号が正常に書き込まれるまで待機する。
M.2インターフェース
NVMeプロトコルに準拠したSSDを接続することができる。
また、他の互換性のあるKEY.Mアダプタボードを使用することもできる。
以下の例では、KEY.MからSATAへの変換を行っている。
- 機器をBanana Pi F3に接続する。
- 対応するデバイスのストレージを確認する。
PWMの使用
# PWMチャンネル0を有効化 (エクスポート) echo 0 > /sys/class/pwm/pwmchip1/export # PWM周期を100000[ns] (0.1ミリ秒、10[kHz]) に設定 echo 100000 > /sys/class/pwm/pwmchip1/pwm0/period # デューティサイクルを50000[ns] (50[%]) に設定 echo 50000 > /sys/class/pwm/pwmchip1/pwm0/duty_cycle # PWM極性を通常モードに設定 echo normal > /sys/class/pwm/pwmchip1/pwm0/polarity # PWM出力を有効化 echo 1 > /sys/class/pwm/pwmchip1/pwm0/enable
RTCの使用
まず、バッテリーをBanana Pi F3のRTCインターフェースに接続する。
次に、Banana Pi F3の電源を接続して、電源を投入する。
ネットワークに接続してリアルタイムの時刻を取得する。
date # 出力例 : Sat Oct 11 14:25:47 CST 2025
cat /sys/class/rtc/rtc0/{date,time}
# 出力例 :
2025-10-11
06:25:59
電源を切り、ネットワークケーブルを外して待機する。
再度電源を投入すると、RTC時刻が正常に動作していることが確認できるが、ネットワークケーブルが外れているため、システム時刻は同期できない。
※注意
システムの電源が入ると、RTCは自動的にシステム時刻を同期します。コマンドを使用してシステム時刻とRTC時刻を確認できる。
ここでのシステム時刻はCST時刻で、RTCはUTC時刻を示す。
また、8時間の差は正常範囲内である。
Armbianイメージの構築
次の3つのステップを実行して、Armbianイメージを構築することができる。
まず、Armbianのソースコードをダウンロードする。
git clone [email protected]:BPI-SINOVOIP/armbian-build.git -b v24.04.30 v24.04.30 cd v24.04.30
Armbianイメージを構築する。
./compile.sh \ build \ # ビルドモードを指定 (イメージをビルド) BOARD=bananapif3 \ # ターゲットボードを指定 (Banana Pi F3) BRANCH=legacy \ # カーネルブランチを指定 (legacyカーネルを使用) BUILD_DESKTOP=yes \ # デスクトップ環境を含むイメージをビルド BUILD_MINIMAL=no \ # 最小構成ではなく通常構成でビルド DESKTOP_APPGROUPS_SELECTED= \ # デスクトップアプリケーショングループの選択 (空 = デフォルト) DESKTOP_ENVIRONMENT=gnome \ # デスクトップ環境にGNOMEを指定 DESKTOP_ENVIRONMENT_CONFIG_NAME=config_base \ # デスクトップ環境の設定名を指定(基本設定を使用) KERNEL_CONFIGURE=no \ # カーネル設定の対話的な変更を行わない RELEASE=noble # Ubuntu / Debianのリリース名を指定 (noble = Ubuntu 24.04)