コラム

2024年09月27日

,

TorizonCoreBuilderToolでのカーネルモジュールの追加

TorizonCoreBuilderToolでのカーネルモジュールの追加

初めに

Torizo​​nCore Builder はTorizonOSのデバイス構成、カスタムデバイスツリーとオーバーレイ、事前にプロビジョニングされたコンテナ、外部カーネルモジュール、スプラッシュスクリーンを追加・変更したカスタムイメージを作成できるツールです。

今回はこのツールを使用してモジュールの追加を行います。

なお、下記の環境を使用しています。
HostOS:Ubuntu 18.04
カスタム元イメージ:torizon-core-docker-verdin-imx8mp-Tezi_6.7.0+build.18.tar

参考ページ:https://developer.toradex.com/torizon/os-customization/torizoncore-builder-tool-customizing-torizoncore-images

セットアップ

下記のコマンドでセットアップ用のスクリプトをダウンロードします。
なお、作業ディレクトリはホームディレクトリ下のtcbdirで作成しなくても構いません。
異なるディレクトリで行う場合は以降の各コマンドをそのディレクトリに合わせて変更して下さい。

 

# mkdir -p ~/tcbdir/images && cd ~/tcbdir/
# wget https://raw.githubusercontent.com/toradex/tcb-env-setup/master/tcb-env-setup.sh
# source tcb-env-setup.sh

 

※セットアップ用スクリプトはcurlやdockerのパッケージがインストールされていることが前提です。
必要なパッケージがインストールされていない場合はスクリプトの実行メッセージに従って追加してください。

 

セットアップスクリプト実行後はtorizoncore-builderコマンドが実行可能であることを確認してください。
# torizoncore-builder -h

 

このセットアップスクリプトはtorizoncore-builderコマンドが恒常的に使用可能になるものではありませんので、HostOSを再起動させた場合は再度セットアップスクリプトを実行してください。

カスタムイメージの作成

1.設定ファイルの作成

TorizonCoreは構成用の YAML ファイルを使用してTorizonOSイメージをカスタマイズします。
設定ファイルのフォーマットは下記のコマンドで作成することができます。

# torizoncore-builder build –create-template

※このコマンドで必ずフォーマットを用意しなければならないわけではありません。
各設定の説明がコメントアウトされて記載されているため、その説明が不要であればテキストエディタを用いて
同じファイル名でファイルを作成し、使用することが可能です。

 

今回使用するtcbuild.yaml

input:
  easy-installer:
    local: images/torizon-core-docker-verdin-imx8mp-Tezi_6.7.0+build.18.tar
customization:
  kernel:
    modules:
      source-dir: hellomod/
      autoload: no
output:
  easy-installer:
    local: torizon-core-docker-verdin-imx8mp-Tezi_6.7.0_CUSTOM

 

2.イメージの作成

カスタム元イメージをimagesディレクトリ内に用意します。
# cd ~/tcbdir/images
# wget https://artifacts.toradex.com/artifactory/torizoncore-oe-prod-frankfurt/kirkstone-6.x.y/release/18/verdin-imx8mp/torizon/torizon-core-docker/oedeploy/torizon-core-docker-verdin-imx8mp-Tezi_6.7.0+build.18.tar

 

hello-modのソースコードも用意します。

# cd ~/tcbdir
# git clone https://github.com/toradex/hello-mod

 

カスタムイメージをビルドします。
# torizoncore-builder build

 

3.イメージの確認

作成したカスタムイメージ  torizon-core-docker-verdin-imx8mp-Tezi_6.7.0_CUSTOM を Verdin i.MX8MPにインストールしてください。
方法に関しては下記のコラムを参考に行ってください。

Verdin iMX8にOSイメージをインストールする方法(Verdin iMX8 + DahliaCarrierBoard)
Verdin iMX8にOSイメージをインストールする方法(Verdin iMX8 + Development Board)

 

起動後、modprobeでhello-mod加えられることを確認し、イメージの確認は終了です。

$sudo su
# lsmod
# modprobe hello
# lsmod

一度目のlsmodではなかったhelloが二度目のlsmodで出ていれば成功です。

以上、簡単ではございますが開発の一助となれば幸いです。