[NXP プロセッサー 初心者ガイド 6] | [NXP プロセッサー 初心者ガイド 8] | ||
NXP プロセッサー 初心者ガイドまとめ | NXP プロセッサー実機検証ガイド まとめ |
もくじ
1. はじめに
NXP のプロセッサー i.MX シリーズの 組み込み Linux OS の開発は Yocto Project を使用します。
この記事は Yocto Project の開発環境に関する TIPS をまとめています。
実際に開発する際の参考にしてください。
TIPS は随時追加していきます。
下記ユーザーガイドとコミュニティー情報も併せてご覧ください。
参考:i.MX Yocto Project User's Guide (IMXLXYOCTOUG)
参考:Yocto Linux BSPのビルド時におけるTIPS集 (nxp.com)
参考:i.MX 8M Plus Yocto Linux ビルド方法 (nxp.com)
2. Yocto 開発環境に関する TIPS
2-1. 開発ホスト PC 要求仕様
NXP が提示している開発ホスト PC の推奨スペックは下記の通りです。
(LF6.6.3_1.0.0 2024/3/29 時点の情報)
- 64bit CPU 8スレッド以上
- Ubuntu 20.04 Desktop 以上
- メモリー16GB 以上
- SSD/HDD 250 GB 以上
リソース不足による Bitbake エラーが発生することは多々ある為、余裕の持った開発 PC の準備をお勧めいたします。
2-2. 開発ホスト PC の開発環境をいじらず Yocto Bitbake する方法 (imx-docker)
NXP Yocto Project の Bitbake に必要な追加パッケージは下記の通りです。
$ sudo apt install gawk wget git diffstat unzip texinfo gcc build-essential \
chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \
iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
python3-subunit mesa-common-dev zstd liblz4-tool file locales -y
既に他の開発で使用している PC の場合など、開発環境を変更したくない場合に有用な方法が Docker を実装する事です。
NXP では imx-docker が用意されており、簡単に i.MX Yocto Project 向けの Docker 環境を導入するこが可能です。
下記サイトに実装手順がまとまっていますので、参考ください。
参考:GitHub - nxp-imx/imx-docker: i.MX Docker
2-3. 開発ホスト PC のスワップファイルを設定する方法
開発 ホスト PC のスレッドが多く、メモリーリソースが足りない場合、Yocto Project の Bitbake がクラッシュする場合があります。その場合スワップファイルを設定しておくことで改善させることができます。
まずは、スワップファイルが設定されているか確認し、設定されていたら、スワップファイルを削除します。
$ swapon --show
$ sudo swapoff /swapfile
$ sudo rm /swapfile
続いて、スワップファイルを設定します。
下記は 32GB のスワップファイルを設定する場合の例です。
$ sudo fallocate -l 32G /swapfile
$ sudo chmod 600 /swapfile
$ sudo mkswap /swapfile
$ sudo swapon /swapfile
ホストマシンの起動時にスワップファイルを自動的にマウントさせるには、/etc/fstab 下記を追加してください。記載されている場合もあります。
/swapfile none swap sw 0 0
2-4. 社内ネットワーク経由で do_fetch できない場合の対策(Proxyの設定)
Yocto Project を構築し Bitbake するためには apt や git, curl などでパッケージをダウンロードする必要があります。
社内ネットワークの場合 Proxy によりうまくダウンロードできないことがありますので、設定すべき内容をこちらに記載致します。
- /etc/apt/apt.conf に Proxy を設定する
- ~/.bashrc に Proxy を設定する
- ~/.curlrc に Proxy を設定する
- git config で Porxy を設定する
設定方法は下記サイトを参考ください。
参考: [NXP プロセッサー 初心者ガイド 1] i.MX 系の Linux イメージ作成方法
2-5. SSH 接続が切れても処理し続ける方法(byobu の導入)
開発 ホスト PC と SSH で接続して Yocto Project の Bitbake を実行していると、途中で SSH が切れてしまったりして Bitbake が途中で終了してしまい、ログも残っていなくてどこまで進んだかわからなくなることが多くあります。
その解決方法として byobu を導入する方法があります。
メリットとしては主に2つあります。
- 開発ホスト PC 上でターミナル(Byobu セッション)が常に起動しておりそこにアタッチする形で SSH で操作や表示が可能。SSH が切れても再度アタッチすればターミナルに再接続可能。
- タブでターミナル(Byobu セッション)を複数起動させることが可能(F2 で新規作成、F3とF4でタブ切り替え)
apt でインストール後 byobu とタイプすると Byobu セッションが起動します
$ sudo apt install byobu
$ byobu
セッションがない場合:新規セッションにアタッチ
セッションが1つある場合:そのセッションにアタッチ
セッションが複数ある場合:どのセッションか(新規作成か)聞かれるので、番号を指定してアタッチ
下記で セッションを一覧表示し、セッション名を指定して起動できます。
$ byobu ls
$ byobu a -t XXX
下記でセッションを削除することができます。-t XXX でセッション名を指定して削除できます
$ byobu kill-session
または
$ byobu kill-session -t XXX
[NXP プロセッサー 初心者ガイド 6] | [NXP プロセッサー 初心者ガイド 8] | ||
NXP プロセッサー 初心者ガイドまとめ | NXP プロセッサー実機検証ガイド まとめ |