組込みLinux PetaLinux 2023.1インストール方法

Zynq UltraScale+用に、PetaLinuxをインストールしてみます。

PetaLinuxとは

YoctoをベースにZynqやVersalやMicroBlaze向けにカスタマイズしていて、Linuxディストリビューション、ブートローダー、ルートファイルシステム、アプリケーションパッケージを一括ビルドするXilinxの統合ツールソフトウェア。 クロスコンパイラ入っているみたいで、SDK(Sysroot)のビルドもでき、QEMUも内蔵されています。

ダウンロード

  1. Xilinx ダウンロードサイトに行く(https://japan.xilinx.com/support/download/index.html/content/xilinx/ja/downloadNav/embedded-design-tools.html)
  2. PetaLinux』のタブをクリックする
  3. 2023.1』を選択
  4. PetaLinux インストーラー』をクリックしてダウンロードする
  1. パスワードを聞かれるので、AMDのログインパスワードを入力する
  2. 画面が変わると、一番下までスクロールし『Download』ボタンをクリックしてダウンロード。3,2GBあるので時間がかかりました。
  3. ダウンロード完了したら、以下の『2023.1』はスキップして『インストール』までに進む

2023.1

Vitis Unified Software Platform 2023.1版をダウンロードしてVitisをインストールしていたら、同じxsetupからPetaLinuxを選んで実行するとPetaLinux2023.1インストーラーがダウンロードされる。

$ cd /tools/Xilinx/Downloads/2023.1
$ sudo ./xsetup

PetaLinux』を選択して『Next

私は、『Zynq UltraScale+』と『Zynq-7000』を使いたいので『PetaLinux All platforms』を選択して『Next

  • 『Agree』して、『Next』〜次のページでDirectoryもそのままで『Nextt』。
  • インストーラー『petalinux-v2023.1-final-installer.run』が入った。
$ cd tools/Xilinx/PetaLinux/2023.1/bin
$ ls -l
total 3332324
-rw-rw-rw- 1 root root         57  5月 20 13:46 petalinux_installation_log
-rwxr-xr-x 1 root root 3412288971  5月  2 14:26 petalinux-v2023.1-final-installer.run

インストール

注意1:ルート権限ではインストール出来ないので、必ずローカルユーザーでインストールしてください。 間違ってルート権限でインストールしてしまった時は、生成されたpetalinux_installation_logファイルを削除してからインストールしてください。

注意2:ダウンロードしたファイル名を確認して実行してください。 以下は私がダウンロードしたファイル名ですが、もしかしたら特に、『v2022.2-10141622』辺り若干異なるかもしれません。

インストール前準備

  1. まず、下の例のように必要なライブラリを『sudo apt install -y …』でインストールする。
  2. uBuntuの場合、初期設定はbashでなくdashなので、bashに変更する。
  3. (2023.11.16) apt installにdevice-tree-compileを追加しました。 petalinux-buildでkernelをビルドする時にエラーになるため。
$ whoami  //ユーザー確認
ichiri

// **********************************************
// # whoami  //rootユーザーの場合は、プロンプトが$でなく#表示です。
// root     //rootと表示されたら、一般ユーザーに切り替えて下さい。
// **********************************************

//どこでもいいのですが、実行場所を分かりやすくするためホームディレクトリに移動します。
$ cd ~
//必要ライブラリをインストール
$ sudo apt install -y python gawk gcc git make net-tools libncurses5-dev tftpd zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential screen pax gzip device-tree-compile


// /bin/sh が dash or bash かを確認
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4 10月 24 08:26 /bin/sh -> dash
  
// dash になっている場合は、以下のコマンドで表示されたダイアログで「No」を選択
$ sudo dpkg-reconfigure dash
Removing 'diversion of /bin/sh to /bin/sh.distrib by dash'
Adding 'diversion of /bin/sh to /bin/sh.distrib by bash'
Removing 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash'
Adding 'diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by bash'

// /bin/sh を再度確認する
$ ls -l /bin/sh
lrwxrwxrwx 1 root root 4  3月 15 15:12 /bin/sh -> bash

インストール

インストール時、Agreement等何度も聞かれますが、以下の通り進めれば簡単にインストールできます。

  1. ダウンロードしたディレクトリに移動
  2. ダウンロードした『petalinux-v2022.2 ….installer.run』ファイルに実行権限を与える
  3. インストールしたいディレクトリを作成。 (これをしなかったら ERROR: Failed to create the installation directory: /tools/Xilinx/petalinuxでインストール出来ませんでした)
  4. そのディレクトリが現在のユーザー権限でアクセスできるように sudo chown USER_NAME:GROUP_NAME ディレクトリ名で設定。 私の場合、ユーザー名もグループ名もichiriなので、ichiri:ichiriとしています。(これをしなかったら、ERROR: Access Denied: No access permissions to the directorでインストール出来ませんでした)
  5. –dirオプションで先程作ったディレクトリを指定してインストール
    • 私の場合、既に/tools/Xilinxの下にVitisやVivadoがあるので、同じディレクトリにpatalinuxを入れています。
    • しかし、PetaLinuxのマニュアルによるとPetaLinuxのインストール先は、/home/user_nameの下のディレクトリにインストールするようにと記載されています。
  6. 『Press Enter to display the license agreements』と表示されるので『ENTER
  7. 『/tmp/tmp.2YMmblyK8J/Petalinux_EULA.txt』と表示されるので『ENTER
  8. License Agreementのtxtファイルがviewerで開き、画面の下に『:』が表示されているので、『q
  9. Do you accept Xilinx End User License Agreement? [y/N] >と表示されるので、『y』->『ENTER
  10. また、License Agreementで、/tmp/tmp.yampVV6szq/Third_Party_Software_End_User_License_Agreement.txtと表示されるので、『ENTER
  11. また、License Agreementのtxtファイルがviewerで開き、画面の下に『:』が表示されているので、『q
  12. Do you accept Third Party End User License Agreement? [y/N] >と表示されるので、『y』->『ENTER
// ダウンロードしたディレクトリに移動
$ cd ~/Downloads  
// 実行できる権限付与する
$ chmod 755 ./petalinux-v2023.1-05012318-installer.run

// インストールしたいディレクトリ作成して、権限を変えて、ディレクトリを指定して実行 
$ sudo mkdir /tools/Xilinx/PetaLinux
$ sudo chown ichiri:ichiri /tools/Xilinx/PetaLinux
$ ./petalinux-v2023.1-05012318-installer.run --dir /tools/Xilinx/PetaLinux

INFO: Checking installation environment requirements...
WARNING: This is not a supported OS
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services
INFO: Checking installer checksum...
INFO: Extracting PetaLinux installer...

LICENSE AGREEMENTS

PetaLinux SDK contains software from a number of sources.  Please review
the following licenses and indicate your acceptance of each to continue.

You do not have to accept the licenses, however if you do not then you may 
not use PetaLinux SDK.

Use PgUp/PgDn to navigate the license viewer, and press 'q' to close

Press Enter to display the license agreements
Do you accept Xilinx End User License Agreement? [y/N] > y
Do you accept Third Party End User License Agreement? [y/N] > y
INFO: Installing PetaLinux...
INFO: Checking PetaLinux installer integrity...
INFO: Installing PetaLinux SDK to "/tools/Xilinx/PetaLinux/."
INFO: Installing buildtools in /tools/Xilinx/PetaLinux/./components/yocto/buildtools
INFO: Installing buildtools-extended in /tools/Xilinx/PetaLinux/./components/yocto/buildtools_extended
INFO: PetaLinux SDK has been installed to /tools/Xilinx/PetaLinux/.

2023.1 インストール『sudo apt install -y …』

2022.2と同じように、

  1. ライブラリーをインストールしておく
  2. bashに変更する
  3. PetaLinuxがインストールするディレクトリをchownでrootから一般ユーザー(私の場合、ichiri:ichiri)に変更しておく。 インストールするディレクトリはdefaultではインストーラーのあるディレクトリです。 私はインストーラーを『/tools/Xilinx/PetaLinux/2023.1/』に移動させてインストールしました。
$ cd ~
$ sudo apt install -y python gawk gcc git make net-tools libncurses5-dev tftpd zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential screen pax gzip

$ sudo dpkg-reconfigure dash  //<---Noを選ぶとbashになる。

$ cd /tools/Xilinx/
$ sudo chown -R ichiri:ichiri PetaLinux  //<== ichiri:ichiriの代わりに、自分のユーザー名を入れる。 whoamiで確認できる。
  • インストーラーがあるディレクトリに移動して
  • インストーラーとインストールログファイル/binの上に移動させて
  • インストーラーを実行
  • ライセンスアグリーメントを聞いてくるので
    1. Press Enter to display the license agreements ENTER
    2. Petalinux_EULA.txt でENTER ->q- > y
    3. Third_Party_Software_End_User_License_Agreement.txtでENTER->q->y
    4. y
    5. is not empty y (多分ここでディレクトリを指定できるのかもしれません。)
$ cd /tools/Xilinx/PetaLinux/2023.1/bin
$ mv peta* ..
$ ./petalinux-v2023.1-final-installer.run

起動

起動するか確認します。

  1. まずホームディレクトリに移動します。
  2. そこで、PetaLinuxのコマンドの一つ『petalinux-config -h』を実行。 この場合、まだ『setting.sh』を実行していないので、『petalinux-config: command not found』となります。
  3. 次に、『source <PETA_INSTALL_DIR>/settings.sh』を実行します。
  4. その後、再度『petalinux-config -h』を実行します。
  5. 『settings.sh』を実行したので、petalinux-configのヘルプが表示され、PetaLinuxが正常にインストールされ、動作することが確認できました。(実際ビルドして動作させてみないとちゃんとインストールされているかどうか解りませんが、ここで出来るのはこの程度です。)
  6. ERRORが表示されていますが、本来PetaLinuxのコマンドはPetaLinuxのプロジェクトディレクトリ下で実行るので、ERRORが表示されました。 今回は、確認だけなのでこれでOKです。
  7. 『settings.sh』は、PetaLinuxを走らせる環境設定(主に各種PATH)をします。 これはPCを終了すると消えるので、起動したら必ず実行する必要があります。
$ cd ~
$ petalinux-config -h
petalinux-config: command not found

//私は、/tools/Xilinx/PetaLinux/にインストールしたので。 (*2023.1は/tools/Xilinx/PetaLinux/2023.1/settings.sh)
$ source /tools/Xilinx/PetaLinux/settings.sh
PetaLinux environment set to '/tools/Xilinx/PetaLinux'
WARNING: This is not a supported OS
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services

$ petalinux-config -h
petalinux-config             (c) 2005-2022 Xilinx, Inc.

ERROR: You are not inside a PetaLinux project. Please specify a PetaLinux project!
Configures the project or the specified component with menuconfig.

Usage:
  petalinux-config [options] {--component <COMPONENT> |--get-hw-description[=SRC]}

Options:
  -h, --help                      show function usage
  -p, --project <PROJECT>         path to PetaLinux SDK project.
                                  default is the working project
  --silentconfig      		  takes the default configuration and skips the GUI.
  -c, --component <COMPONENT>     Specify the component
                                  If no component is specified, it will do
                                  top level project configuration .
                                  If you specify a component,it will
                                  configure it with menuconfig and saves
                                  user's config fragments in meta-user.
                                  E.g. -c rootfs, -c busybox
  --get-hw-description [SRC]      get hardware description.
                                  if [SRC] is specified, look in that
                                  location for an Vivado export to SDK directory.
                                  Otherwise, this MUST be run from
                                  WITHIN the vivado export to SDK directory.
  -v, --verbose                   verbose mode

Note: There is no validation for configurable components. User can provide
      any component, bitbake will throw error for invalid components.

ichiri@ichiri-VPCF128FJ:~$ 

これで、petalinux-コマンドを実行出来るようになりました。

おしまい

その他

メモ用です。 知識が付いてきたら追々整理していきます。

PetaLinuxプロジェクト作成

  • petalinux-createコマンドでプロジェクトディレクトリを作ります。
  • zynqMPはZynq UltraScale+の場合です。
  • 『petalinux-create –type project –template zynqMP –name プロジェクト名』 とすると、実行したディレクトリ下にプロジェクト名のディレクトリが生成され、各種ファイルやディレクトリが配置されます。
  • 個人的にはVivadoで生成した.xsaファイルのあるディレクトリの下にプロジェクトディレクトリを作っています。
$ cd ~/ultra96/vivado/project_2_ultra96_xsa_tutorial
$ petalinux-create --type project --template zynqMP --name ultra96_peta_project

INFO: Create project: ultra96_peta_project
INFO: New project successfully created in 

参考

PetaLinux ツール資料リファレンス ガイド UG1144 (v2021.1)

PetaLinux Tools Documentation: Reference Guide (UG1144) 2022-10-19

Ultra96用Vitisプラットフォームの作り方(BASE編)

起動用コマンド

Vivado、Vitis、PetaLinux、XRTを起動する前に実行しなければならないスクリプト。

$ source <VIVADO_INSTALL_DIR>/settings64.sh
$ source <VITIS_INSTALL_DIR>/settings64.sh
$ source <PETA_INSTALL_DIR>/settings.sh    //<-------PetaLinux用
$ source <XRT_INSTALL_DIR>/setup.sh

memo

  • PetaLinuxはYoctoをベースにカスタマイズされたツール
  • Sysroot生成
  • U-BOOTイメージ変更
  • QENUも入っている
  • 遠隔管理用の統合Webserverも追加
  • JTAG経由での起動・検証ーーーJTAGからboot.scr 読めそう
  • カスタムBSP生成ツールもあるのかな?
  • ブートローダ(FSBLも)、Kernel、ルートFS、ライブラリを自由に設定できる

コマンド

PetaLinux commands UG1144 2022-10-19

$ petalinux-                // <---一覧表示
petalinux-create
petalinux-config
petalinux-build
petalinux-build  --sdk         //<---sysroot生成
petalinux-build -x mrproper    //<--ビルドしたプロジェクトをクリーンアップ
petalinux-boot
petalinux-boot --jtag
petalinux-boot --qemu --u-boot //<--QEMUで実行出来る
petalinux-boot --qemu --kernel //<--QEMUで実行出来る
petalinux-package
petalinux-package --sysroot -s 
petalinux-package --wic  // BOOT.BINが必要。 images/linux ディレクトリで実行。
petalinux-util
petalinux-upgrade
petalinux-devtool

$ petalinux-build -c rootfs -x distclean
$ petalinux-config -c rootfs   // <--- これでrootfsの設定が出来る。
$ petalinux-config -c kernel  // <--- これでKernelの設定が出来る。 5分くらいかかった。
  • 別ディレクトリから実行する際は、-p <PETA_PROJ_DIR> を指定して実行。
  • -h ヘルプ
  • -v 詳細表示
petalinux-build
使い方
  petalinux-build [options]

オプション:
  -h, --help                         ヘルプ
  -p, --project <PROJECT>            path to PetaLinux SDK project.
                                     Default is working project.
  -c, --component <COMPONENT>        Specify the component
                                     指定したコンポーネントと依存関係をビルドする
                                     E.g. -c rootfs
                                     E.g. -c myapp
  -x, --execute <tasks of bitbake>   Specify a bitbake task of the component
				     To know the list tasks for a component:
				     E.g. -x do_listtasks
  -f, --force			     Force run a specific task ignoring the stamps
				     Force run has to be for a component or its tasks
				     E.g. -c myapp -f
				     E.g. -c myapp -x compile -f
  -v, --verbose                      詳細のコンパイルメッセージ表示
  -s, --sdk                          Build SDK ==> do_populate_sdk
  -e, --esdk                         Build Minimal eSDK ==> do_populate_sdk_ext
  -a|--archiver                      This will create archiver.tar.gz in the images/linux folder
				     which contains sources and licenses.

EXAMPLES:

Build the project:
  $ petalinux-build
  the bootable images are in <PROJECT>/images/linux/.

Build project with archiver:
  $ petalinux-build -a | --archiver

Build SDK :
  $ petalinux-build --sdk | -s
  the equivalent bitbake task is do_populate_sdk,
  built sdk is deployed at <PROJECT>/images/linux/sdk.sh

Build Minimal eSDK :
  $ petalinux-build --esdk | -e
  the equivalent bitbake task is do_populate_sdk_ext
  built esdk is deployed at <PROJECT>/images/linux/esdk.sh
  This can be imported to petalinux tool with user source changes

Build SDK with archiver:
  $ petalinux-build --sdk --archiver

Build kernel only:
  $ petalinux-build -c kernel

Compile kernel forcefully:
  $ petalinux-build -c kernel -x compile -f

Deploy kernel forcefully:
  $ petalinux-build -c kernel -x deploy -f

Build kernel and update the bootable images:
  $ petalinux-build -c kernel
  $ petalinux-build -x package

Build rootfs only:
  $ petalinux-build -c rootfs

Build myapp of rootfs only:
  $ petalinux-build -c myapp

List all rootfs sub-components:
  $ petalinux-build -c rootfs -h

Clean up u-boot and build again:
  $ petalinux-build -c u-boot -x distclean
  ## above command will remove tmp files and sstate cache of u-boot.
  $ petalinux-build -c u-boot

Clean up the project build and build again:
  $ petalinux-build -x distclean    //<---これをしたらmenuconfigの設定はは消える。
  ## above command will remove tmp files and sstate cache files.
  $ petalinux-build

Clean up the project build and the generated bootable images:
  $ petalinux-build -x mrproper    //<---これをしてもmenuconfigは残っていた。 5分ほどかかる。
  ## above command will remove tmp files, <PROJECT>/images/,  <PROJECT>/build/ 		and <PROJECT>/components/plnx_workspace directories

petalinux-config -c rootfs で組み込めるでもの

  • このファイルは編集してはいけないが、<PETA_PROJ_DIR>/project-spec/configsの下のrootfs_configでopensshなどがあるのがわかる。 ファイルの先頭に『Configuration』とあるので、どうもこれがメインのconfigurationのよう。 抜粋ですが、以下のようなものを組み込めそうです。 nodejsやaptはないですが、赤字の部分は嬉しい。
    • Openssh
    • BusyBox
    • minicom
    • sudo
    • init-itupdown
    • bash
    • tar, gzip,zip, unzip
    • shadow
    • dtc
    • curl
    • ethtool
    • subversion
    • wget
    • git
    • grep
    • opencv
    • slqite3
    • apache2
    • python3
    • rmp — Redhat Package Manager, CentOSで使用されてた。 もしかしたら、PetaLinuxでDebian系でビルドする時にaptが選べるのかもしれない。
  • configファイルは、misc/config System Configuration

NodeJS追加方法

実際検証していないのでメモです。

Add IMAGE_INSTALL_append = ” nodejs” project-spec/meta-user/recipes-core/images/petalinux-image-full.bbappendEnable the support in petalinux-config -c rootfs -> user packages -> (*) nodejs

デバイスツリー連結方法

Vivadoで作成したdtbにはFPGA部の情報が無いので、自分で記述してマージするらしい。(2016年の情報なので、今は自動化されているかもしれない)

FPGA+SoC+Linuxのブートシーケンス(ZYNQ+Vivado編) - Qiita
はじめに前回は「 FPGA+SoC+Linuxのブートシーケンスの概要」を説明しましたが、ここでは、Xilinx社のZYNQ に Vivado SDK で作った FSBL と U-Boot を使っ…

uEnv.txt読み込む方法

boot.scrが生成されていますが、そのソースコードがどれか分っていません。 いざとなったら色々試してみますが、もしuEnv.txtが使えたら便利なので一応メモしています。 しかし、U-BOOT-2021以降でuEnv.txtを使おうとした時、どう設定しても使えず、boot.scrを使ってたので、もしかしたら以下内容は動作しないかもしれません。 最近のXilinxのマニュアルでも、boot.scrだけでuEnv.txtは書かれていないので、boot.scrしか使えないと思います。

configs/zynq_zybo_defconfig の最後に以下を追加してuEnv.txtを読み込むようにする。(2016年なので動作するかどうかわからない) ここに詳細が書かれている。 

ZYBO用U-Bootを、ブート時にuEnv.txtを読むようにして、かつBOOT.binから起動できるようにする - Qiita
#はじめに長らく古い U-boot を使っていたのですが、最新(2016年1月現在)のU-bootではFPGAのロードなんかにも対応しているということで、導入してみました。しかし、次の点が少し不便…
  :
 中略
  :
CONFIG_OF_EMBED=y

zynq-common.hの変更も

  • #define CONFIG_CMD_BOOTZ  を追加。bootzを使えるようにする。
  • bootenv=uEnv.txt\0 に変更
    • どうもCONFIG_SPL_BUILDがないとBOOTENVは無さそう。 ZynqはsplでなくfsblなのでBOOTENV使え無さそう。
  • #define CONFIG_BOOTCOMMAND も変更してrun importbootenv

BitBake

Kernelイメージやrootfs等のビルドツール。 YoctoとOpenEmbeddedで管理されている。

BuildrootではGNU Makeを使うが、Yoctoはbitbakeを使う。

GNU Makeとの違い

  • 依存やファイルロケーションやチェックサム等のメタ情報を含んだレシピを元にビルドする
  • Fetcherライブラリも含まれていてGitやwebsiteなどからソースを取ってこれる
  • サーバー・クライアント抽象化できコマンドラインを使用できる

Poky

Yocto専用のLinuxディストリビューション名。 

boot.scr場所

<PETA_PROJ_DIR>/images/linux/に生成される。

Zynqはu-boot.imgでなくBOOT.binを使う? 具体的に何が違う?

Petalinux2019かPetalinux2020くらいから、FAT32の領域にboot.bin, image.ub(Kernelイメージ?)に加えてboot.scrを入れて起動する。

dts場所

プロジェクトのデバイスツリー?

ダウンロードしなくても、avnet-ultra96-rev1.dtsiも入っている。 PetaLinuxを再ビルドした時に自動生成されたみたい。

./components/plnx_workspace/device-tree/device-tree/

-rw-r--r-- 1 ichiri ichiri   10929  3月 23 16:21 avnet-ultra96-rev1.dtsi
-rw-r--r-- 1 ichiri ichiri    9495  3月 23 16:22 device-tree.mss
-rw-r--r-- 1 ichiri ichiri 4788756  3月 23 16:21 hardware_description.xsa
drwxr-xr-x 3 ichiri ichiri    4096  3月 23 16:22 include
-rw-r--r-- 1 ichiri ichiri    2646  3月 23 16:22 pcw.dtsi
-rw-r--r-- 1 ichiri ichiri  950358  3月 23 16:21 psu_init.c
-rw-r--r-- 1 ichiri ichiri  950716  3月 23 16:21 psu_init_gpl.c
-rw-r--r-- 1 ichiri ichiri 1630154  3月 23 16:21 psu_init_gpl.h
-rw-r--r-- 1 ichiri ichiri 1629550  3月 23 16:21 psu_init.h
-rw-r--r-- 1 ichiri ichiri   50587  3月 23 16:21 psu_init.html
-rw-r--r-- 1 ichiri ichiri  859449  3月 23 16:21 psu_init.tcl
-rw-r--r-- 1 ichiri ichiri     245  3月 23 16:23 system-conf.dtsi
-rw-r--r-- 1 ichiri ichiri     531  3月 23 16:23 system-top.dts
-rw-r--r-- 1 ichiri ichiri    6303  3月 23 16:21 zynqmp-clk-ccf.dtsi
-rw-r--r-- 1 ichiri ichiri   31233  3月 23 16:21 zynqmp.dtsi

ユーザーが変更を加えられるデバイスツリー?

./project-spec/meta-user/recipes-bsp/device-tree/files

-rw-r--r-- 1 ichiri ichiri  168  3月 15 16:43 pl-custom.dtsi
-rw-r--r-- 1 ichiri ichiri  146  3月 23 16:52 system-user.dtsi  // <--ここにzoclの設定など追記した。

一般的なデフォルトデバイスツリーライブラリ

Beagle Boneblackなどいろんな機種のdtsやdtsiがある。

./build/tmp/work/zynqmp_generic-xilinx-linux/u-boot-xlnx/v2021.01-xilinx-v2022.2+gitAUTOINC+b31476685d-r0/git/arch/arm/dts/

最終生成されるdtb system.dtb

./images/linux/

This is not supported OS

  • 意図したわけではないのですが、uBuntu20.04.6だからか、このWarningがでます。
  • サポートされているのは、20.04では.4までと記載されています。
  • 今のところ、uBuntu 20.04.6でもビルドできています。
$ source /tools/Xilinx/PetaLinux/settings.sh
PetaLinux environment set to '/tools/Xilinx/PetaLinux'
WARNING: This is not a supported OS
INFO: Checking free disk space
INFO: Checking installed tools
INFO: Checking installed development libraries
INFO: Checking network and other services

コメント