Skip to main content

reTerminal用Buildroot

pir

はじめに

Buildrootは、クロスコンパイルを使用して組み込みシステム用の完全なLinuxシステムを構築するプロセスを簡素化し、自動化する使いやすいツールです。

これを実現するために、Buildrootはクロスコンパイルツールチェーン、ルートファイルシステム、Linuxカーネルイメージ、およびターゲット用のブートローダーを生成することができます。Buildrootは、これらのオプションの任意の組み合わせで独立して使用できます(例えば、既存のクロスコンパイルツールチェーンを使用し、Buildrootでルートファイルシステムのみを構築することができます)。

理解と拡張が容易なシンプルな構造を持っています。よく知られたMakefile言語のみに依存しています。Buildrootはオープンソースプロジェクトであり、多くの開発者が日々貢献しています。

以下のガイドに従うことで、Buildrootを使用して独自のreTerminalシステムイメージを構築することができます。それでは始めましょう!

Buildrootソースコードのコンパイル

ローカルマシンでの手動コンパイル

次に、Buildrootを使用してreTerminal用のシステムイメージを手動でコンパイルする方法に進みます。

注意: このガイドは、Ubuntu 20.04がインストールされたホストPCでテストした後に作成されました。ただし、他のLinuxシステムでも動作します。

  • ステップ1. 以下のパッケージ(git、gcc、make)をインストールして、ホストPCで開発環境を準備します
sudo apt update
sudo apt install git
sudo apt install build-essential

注意: 上記のパッケージが既にインストールされている場合は、この手順をスキップできます。

  • ステップ 2. 以下のGitHubリポジトリをクローンします
git clone --depth=1 https://github.com/Seeed-Studio/seeed-linux-buildroot.git -b master
  • ステップ 3. seeed-linux-buildroot ディレクトリに移動します
cd seeed-linux-buildroot

デフォルト設定でreTerminal用にコンパイルする

以下を入力してデフォルトのreTerminal設定でコンパイルを開始します

make reTerminal_64_defconfig
make

独自の設定でreTerminalをコンパイルする

独自の設定でコンパイルするために必要なパッケージをインストールするには、以下を入力してください

sudo apt install libncurses-dev
  • ステップ 5. 以下を入力してbuildrootの設定ウィンドウを開きます
make menuconfig

pir

この設定ウィンドウを使用して、利用可能なオプションをナビゲートし、ニーズに応じてイメージをカスタマイズできます。また、このウィンドウで変更を加えずに保存して終了をクリックすると、デフォルトのreTerminal設定が読み込まれます。

コンパイル済みイメージを見つける

コンパイルが成功したら、seeed-linux-buildroot/output/imagesに移動すると、コンパイル済みイメージがsdcard.imgとして見つかります。

pir

既にコンパイル済みのイメージをダウンロード

Buildrootを使用して既にコンパイル済みのreTerminalシステムイメージをダウンロードしたい場合は、以下の手順に進んでください。

  • ステップ1. このリンクを開いて、seeed-linux-buildroot GitHubリポジトリのActionsページに入ります

  • ステップ2. 最新のSeeed reTerminal buildrootワークフローをクリックします

pir

  • ステップ3. Artifactsの下で、buildroot deployをクリックしてイメージのダウンロードを開始します

pir

注意: イメージをダウンロードした後、イメージを展開してsdcard.imgファイルを取得してください

reTerminalにイメージをフラッシュ

次に、reTerminal上のCM4のeMMCにイメージをフラッシュする作業に移ります。

このwikiの手順に従い、以下のステップに注意してください:

注意: Raspberry Pi Imagerを開いたら、CHOOSE OSをクリックし、Use customを選択して、ダウンロードしたsdcard.imgファイルを選択してください。

pir

reTerminalでの初回起動

システムイメージをreTerminalにフラッシュした後、reTerminalの電源を入れます。ここで、reTerminal LCDにカーネルログがポップアップし、最後にQtを使用して作成されたデモアプリケーションが開きます。

デフォルトシステムイメージの起動時間は約30秒です

pir

Buildrootイメージの分析

前述のように、Buildrootは非常に強力なツールで、サードパーティのライブラリやツールに依存し、必要なものを迅速に構築できます。Buildrootのコンパイル時間、依存関係、コンパイルで消費されるリソースのサイズなどを理解したい場合、コードを通じて確認するのは非常に不便です。しかし、Buildrootは上記を分析するための視覚的分析ツールを提供しており、いくつかの簡単なコマンドでそれらを使用できます。

まず、以下のパッケージをインストールしてください

sudo apt install python3-matplotlib python3-numpy

依存関係図の生成

Buildrootの役割の一つは、パッケージ間の依存関係を理解し、正しい順序でビルドされることを確認することです。これらの依存関係は時として複雑になることがあり、特定のシステムにおいて、なぜ特定のパッケージがBuildrootによって導入され、正常にビルドされたのかを理解するのは容易ではありません。依存関係を理解し、組み込みLinuxシステムにおける異なるコンポーネントの役割をより良く理解するために、Buildrootは依存関係図(PDF形式)を生成することができます。

  • ステップ 1. 以下のパッケージをインストールしてください
sudo apt install graphviz
  • Step 2. Generate dependency diagrams
make graph-depends

pir

上記のコマンドの後、依存関係図が seeed-linux-buildroot > output > graphs に以下のように生成されます:

  • graph-depends.pdf
  • graph-depends.dot

注意: 上記の画像をクリックすると拡大版を表示できます

コンパイルで消費されるリソースのサイズ分析を生成する

Buildrootはコンパイルで消費されるリソースのサイズ分析を生成できます。

以下のコマンドを入力してください

make graph-size

上記のコマンドの後、視覚的解析ファイルが seeed-linux-buildroot > output > graphs に以下として生成されます:

  • graph-size.pdf
  • file-size-stats.csv
  • package-size-stats.csv

注意: 上記の画像をクリックすると拡大版を表示できます

Buildroot イメージのテスト

上記の Buildroot イメージを reTerminal でテストするには、reTerminal ハードウェアとインターフェース使用方法 wiki にアクセスして、記載されている手順を参照してください。

リソース

技術サポートと製品ディスカッション

私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャンネルを提供しています。

Loading Comments...