LuckFox Pico Miniでbuildrootを使ってみる

buildrootのインストール

LuckFox Pico Maxに続けて、LuckFox Pico Mini-Aを入手しました。
写真の様に切手サイズのLinuxマシンで、EthernetもSPI NAND FLASHもない、一番安いモデルです。
SoCにはRockchip RV1103が採用されています。
RV1103のMCUはCortex-A7なので、CPU性能はPico Proと同じです。
裏面にSoCとμSDカードスロットが有ります。


こちらが表面です。
今回入手したのはPico Mini-Aタイプですが、Pico Mini-Bタイプは赤枠の部分にSPI NAND FLASHが搭載されます。
SPI NAND FLASHが実装されているMini-Bタイプでは、buildrootをSPI NAND FLASHから起動することができます。


前回紹介したPico Maxも小さいボードでしたが、それと比べてもさらに小型です。


各製品のスペックはこ ちらに公開されています。

OSイメージへのリンク(Google Cloud Link)がこ ちらに公開されていて、buildrootとubuntuのイメージを使用することができます。
Pico Maxではubuntuを使ったので、今回はbuildrootを使ってみます。
少し分かりにくいですが、GoogleドライブのMicroSDフォルダーには以下のイメージが公開されています。
Luckfox Pico: flash Luckfox_Pico_MicroSD_250313 firmware
Luckfox Pico Mini A: flash Luckfox_Pico_Mini_A_MicroSD_250313 firmware
Luckfox Pico Mini B: flash Luckfox_Pico_Mini_B_MicroSD_250313 or Luckfox_Pico_Mini_B_Flash_250313 firmware
Luckfox Pico Plus: flash Luckfox_Pico_Plus_MicroSD_250313 or Luckfox_Pico_Plus_Flash_250313 firmware

xxxx_MicroSD_250313はSDカードから起動するイメージで、xxxx_Flash_250313はSPI NAND FLASHから起動するイメージです。
今回は、「Luckfox_Pico_Mini_A_MicroSD_250429.zip」を使いました。

buildrootについては色々なところに紹介されていますので、細かい説明は割愛しますが、
ubuntuやdebianなどでは起動後に普通にできるこれらの事が全くできません。
・ユーザーやグループの追加、削除
・デバイスの追加、削除
・ライブラリやアプリケーションの更新、追加、削除

これらを行うためには一旦、イメージを作り直して、作り直したイメージを使って再起動する必要が有ります。
組み込み用途を前提にしたLinuxなので、一旦動いてしまえば、変更する必要が無いという前提です。

SDカードへの書き込みツール(SocToolKit.exe)と、書き込み手順がこ ちらに公開されています。
注意点としてSDカードを刺した状態で書き込みツール(SocToolKit.exe)を起動すると、SDカードを認識しません。
書き込みツール(SocToolKit.exe)起動後に、SDカードを刺すと、SDカードを認識します。
「Luckfox_Pico_Mini_A_MicroSD_250429.zip」を適当なフォルダーで解凍して、全てのファイルをツールに読 み込みます。
提供されているイメージにはmeta.imgとupdate.imgが含まれていますが、この2つのファイルは書き込み対象から除外する必要が有 ります。


meta.imgとupdate.imgを除くファイルをSDカードに書き込みます。


Create SDボタンを押すと書き込みが始まります。


SDカードの書き込みは結構時間が掛かります。
書き込みを始めると右側に進捗状況が表示されますが、rootfsの書き込みですごぉ〜く待たされます。
私の環境では書き込みが始まるまでに45分ぐらい掛かりました。


辛抱強く待つとrootfsの書き込みが始まります。


書き込みが終了するとこの画面になります。


SDカードが準備できたら、USB-TTL変換アダプターを本体のデバッグポートに接続します。
GPIOのピン配置はこちらに 公開されていますが、MiniタイプのデバッグポートはTXがピン番号4(GPIO42)、RXがピン番号5(GPIO43)です。
USB-TTLアダプターをWindowsマシンに接続し、TeraTermを起動してから、ボードのUSB経由で電源を供給します。
ずらずらとブートメッセージが表示されてログインプロンプトが表示されます。


root/luckfoxのユーザが事前に登録されています。


提供されているbuildrootのバージョンは2023.02.6です。


poweroffは再起動します。
haltでshutdownします。


16GのSDカードを使いましたが、アサインされているパーテイションは6G程度です。
buildrootはパーテイションの伸張を行わないので、事前に確認しておいた方がいいです。
パーテイションサイズの変更はイメージの再構築が必要になります。


Swapは定義されていません。


/etc/profile.d/RkEnv.shにバグが有り、1行目がexport HOME=/oemになっています。
cdコマンドでこのディレクトリに移動してしまいます。


/etc/profile.d/RkEnv.shを修正して、export HOME=/rootに変更するとcdコマンドで/rootに移動します。
# cat /etc/profile.d/RkEnv.sh
#export HOME=/oem
export HOME=/root
export PATH=$PATH:$HOME:$HOME/bin:$HOME/usr/bin:$HOME/sbin:$HOME/usr/sbin
export LD_LIBRARY_PATH=$HOME/usr/lib:$HOME/lib:$LD_LIBRARY_PATH



続く....