Xilinx社ではZynqMPSoC向けのLinuxディストリビューションとして、PetaLinuxを用意しています。
PetaLinuxはXilinx社のダウンロードサイトからダウンロードすることができます。
また、PetaLinuxのドキュメントは「PetaLinux Tools Documentation - Reference Guide」で確認できます。
これを読んでZynqMPSoCのLinuxディストリビューションを作成しましょう。
PetaLinuxとはYocto ProjectをベースとしてXilinx社がZynqシリーズにカスタマイズしているLinuxディストリビューションを構築するフレームワークです。
基本的にはXilinx社が販売している評価ボード向けのLinuxディストリビューションを構築できます。
Yocto Projectは次のURLで確認できます。
Yocto Projectは組込みLinuxディストリビューションを構築するフレームワークです。
Yocto ProjectはmetaファイルというLinuxディストリビューションを構築するためのレシピ集をかけ合わせてLinuxディストリビューションを構築します。
Yocto Projectを構成する最小単位はレシピであり、レシピが集まってメタファイル、メタファイルをかけ合わせてLinuxディストリビューションになります。
Yocto Projectのフレームワークはpokyという名称であり、Linuxディスとビューションのビルドコマンドはbitbakeです。
そして、Yocto Projectにはさまざまな会社やコミュニティーが参加していまのでZynq向けだけではなく、i.mxやRasberryPi、IntelのsocfpgaのLinuxディストリビューションを構築できます。
Yocto Projectは特定CPUやSoCに依存するフレームワークではなく「組込み向けLinuxディストリビューションを構築するフレームワーク」です。
Xilinx社はYocto ProjectをベースにPetaLinuxを構築し、IntelのsocfpgaはangstromeというLinuxディストリビューションがあります。
Yocto Porojectのバージョンは3.0.1です。
ZynqMPSoC向けのLinuxディストリビューションを構築するには最低限、次のメタファイルが必要です。
PetaLinuxでは上記のメタファイルの他に次のメタファイルも使います。
今回の解説では上記、2つのメタファイルは使用しません。
メタファイルのダウンロード行います。
まずはpokyのダウンロードです。
$ VERSION="zeus"
$ git clone git://git.yoctoproject.org/poky.git -b $VERSION
次に追加したいメタファイルをダウンロードします。
$ VERSION="zeus"
$ mkdir -p sources
$ cd sources
$ git clone git://github.com/openembedded/meta-openembedded.git -b $VERSION
$ git clone git://github.com/xilinx/meta-xilinx -b warrior
$ git clone git://github.com/aquaxis/meta-ultra96.git -b $VERSION
ここでは筆者が作成しているmeta-ultra96も追加しています。
meta-ultra96はUltra96V2のLinuxディストリビューションを構築するためのレシピが入っています。
今回、Yocto ProjectでLinuxディストリビューションを構築するディレクトリの構成は次のようにしました。
┣poky
┗sources
┣meta-openembedded
┣meta-xilinx
┗meta-ultra96
ZynqMPSoCでLinuxディストリビューションを起動するまでの手順があるのでLinuxディストリビューションのビルドの前にZynqMPSoCのブートについて勉強したいと思います。
次回は「ZynqMPSoCのブート」の勉強をしましょう。
勉強の記録は月曜日、水曜日、金曜日を予定しているので次回は月曜日に記録予定です。
Tweet write: 2020/01/10/ 00:00:00