MENU

Kria KV260でPetalinuxを動かしてみた

KV260上でPetalinuxを動かすまでの手順をまとめておきます。

目次

動作確認環境

開発環境(ホストPC)

Windows 10

FPGAボード

Kria KV260 Vision AI Starter Kit

動作させるPetalinuxのバージョン

Petalinux 2022.1

実行手順

Kria K26 SOM Wikiこちらのページによると、KV260上でUbuntu 22.04 LTSやPetalinux 2022.1等の(本記事作成時点で)最新のOSを動作させるためには、まずKV260のブートファームウェアを更新する必要があるようです。以下の手順でブートファームウェアを更新し、KV260上でPetalinux 2022.1の動作を確認していきます。

STEP
Petalinux 2021.1の起動

Petalinux 2021.1はデフォルトで(工場出荷時に)書き込まれているブートファームウェアでも起動可能なようです。まずはこのPetalinuxのイメージをSDカードに書き込み、KV260上で起動できることを確認します。

STEP
KV260のブートファームウェア更新

ホストPCからKV260上に最新のブートファームウェアを転送し、ファームウェアの更新を行います。

STEP
Petalinux 2022.1の起動

Petalinux 2022.1のイメージをSDカードに書き込み、KV260上で起動できることを確認します。

Petalinux 2021.1の起動

以下のURLから必要なファイルをダウンロードしておきます。

Petalinux 2021.1のSDカードイメージ

https://www.xilinx.com/member/forms/download/xef.html?filename=petalinux-sdimage-2021.1-update1.wic.xz

2022.1 Boot FW

https://www.xilinx.com/member/forms/download/xef.html?filename=BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN

Windows上にbalenaEtcherをインストールし、SDカードをWindows PCに接続します。balenaEtcherを起動し、Flash from fileをクリックして、ダウンロードした「petalinux-sdimage-2021.1-update1.wic.xz」を選択します。Select targetをクリックしてPCに接続したSDカードを選択し、FlashをクリックしてSDカードに書き込みを行います。

イメージの書き込みが完了したら、SDカードをKV260のコネクタに挿入します。PCとKV260上のUSB micro-B(J4)コネクタをUSBケーブルで接続し、PC上でTeraterm等のターミナルを起動して以下のようにシリアル通信の設定を行います。

  • ボーレート: 115200bps
  • データビット: 8bit
  • ストップビット: 1bit
  • フロー制御: なし
  • パリティ: なし

KV260にイーサネットケーブルを挿入し、ネットワークに接続できるようにしておきます。電源を投入すると起動ログが表示されていきますが、以下のように現在のブートファームウェアのバージョンも見つけることができます。

Xilinx Zynq MP First Stage Boot Loader
Release 2020.2   Apr 22 2021  -  17:48:34

しばらく起動ログが表示されると、ログインプロンプトが表示されます。ユーザ名・パスワードともに「petalinux」と入力するとログインできます。

KV260のブートファームウェア更新

KV260のIPアドレスを調べておきます。

xilinx-k26-starterkit-2021_1:~$ ip a show eth0
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    ...
    inet 192.168.0.14/24 brd 192.168.0.255 scope global eth0
       valid_lft forever preferred_lft forever
    ...

ホストPC上の端末(WSLやPowershell等)からKV260上へ予めダウンロードしておいたブートファームウェアをscp等で転送します。

$ scp .\BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN petalinux@192.168.0.14:~

ブートファームウェアに関してはこちらのページに詳細が記載されています。ブートファームウェアはKria SOM上に配置されたQSPI Flashの中の2つのパーティション(Image AとImage B)に格納され、それぞれプライマリとセカンダリ(バックアップ用)として用いられます。以下のコマンドでどちらのパーティションがブートに用いられたか確認できます。

xilinx-k26-starterkit-2021_1:~$ sudo xmutil bootfw_update -p
Image A: Bootable
Image B: Bootable
Requested Boot Image: Image A
Last Booted Image: Image A
XilinxSom_QspiImage_v1.1_20210422

現時点でブートに利用されていないパーティション(Image B)に最新のブートファームウェアを書き込みます。

xilinx-k26-starterkit-2021_1:~$ sudo xmutil bootfw_update -i ./BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN
Marking last booted image as bootable
Reading Image..
Marking target image non bootable
Writing Image..
Marking target image as non bootable and requested image
./BOOT_xilinx-k26-starterkit-v2022.1-09152304_update3.BIN updated successfully

Requested Boot ImageがImage Bに変わりました。これで次の電源投入時はImage Bがブートに用いられます。また、Image BはNon Bootableに変わり、Image Bからブート可能か否かはまだわからない状態となっています。

xilinx-k26-starterkit-2021_1:~$ sudo xmutil bootfw_update -p
Image A: Bootable
Image B: Non Bootable
Requested Boot Image: Image B
Last Booted Image: Image A
XilinxSom_QspiImage_v1.1_20210422

ここで一度電源を落とします。

xilinx-k26-starterkit-2021_1:~$ sudo poweroff

再び電源を投入すると、起動ログの中でブートファームウェアのバージョンが更新されていることを確認できます。

Xilinx Zynq MP First Stage Boot Loader
Release 2022.1   Sep 16 2022  -  04:56:15

現時点でのブートの状態を確認します。Last Booted ImageがImage Bに変わっていますが、まだImage BはNon Bootableの状態になっています。

xilinx-k26-starterkit-2021_1:~$ sudo xmutil bootfw_update -p
Password:
Image A: Bootable
Image B: Non Bootable
Requested Boot Image: Image B
Last Booted Image: Image B
XilinxSom_QspiImage_v1.1_20210422

ブートに問題がない場合は、以下のコマンドでLast Booted Image(Image B)の状態をBootableに変更します。

xilinx-k26-starterkit-2021_1:~$ sudo xmutil bootfw_update -v
Marking last booted image as bootable

再びブートの状態を確認すると、Image BがBootableの状態に変更されています。これで、ブートファームウェアの更新は完了です。

xilinx-k26-starterkit-2021_1:~$ sudo xmutil bootfw_update -p
Image A: Bootable
Image B: Bootable
Requested Boot Image: Image B
Last Booted Image: Image B
XilinxSom_QspiImage_v1.1_20210422

Petalinux 2022.1の起動

以下のURLから必要なファイルをダウンロードしておきます。

Petalinux 2022.1のSDカードイメージ

https://www.xilinx.com/member/forms/download/xef.html?filename=petalinux-sdimage_xilinx-k26-starterkit.wic.xz

上述した手順でダウンロードした「petalinux-sdimage_xilinx-k26-starterkit.wic.xz」をSDカードに書き込み、そのSDカードを使ってKV260を起動します。

しばらくすると以下のようなログインプロンプトが現れ、無事にPetalinux 2022.1で起動することを確認できました。

PetaLinux 2022.1_update1_05131710 xilinx-k26-starterkit-20221 ttyPS1

xilinx-k26-starterkit-20221 login:
  • URLをコピーしました!

この記事を書いた人

映像処理ハードウェアの研究開発をしています。ASIC, FPGA, 機械学習などの話題に興味があります。このブログでは、自分が最近勉強したことなどを中心にマイペースに発信していきます。

目次