勉強しないとな~blog

ちゃんと勉強せねば…な電気設計エンジニアです。

ZYBOを進める - 28. Petalinux再設定

前回カスタマイズしたFSBLを作ったので、これをPetalinuxプロジェクトで取り込みます。
また、MACアドレス関連の設定もPetalinuxで行います。
さらについでに、ルートファイルシステムをSDカードに設定します。

Petalinux作業

petalinux-configコマンドを実行して、以下のように設定します。

ルートファイルシステム設定

Image Packaging Configuration ---> Root filesystem type と進みます。
"EXT4 (SD/eMMC/SATA/USB)"を選択します。

f:id:nokixa:20211115024502p:plain:w500

前のツールバージョン(2017.4)では単に"SD Card"だったので、ここはアップデートされているということかと。

Ethernet MAC設定

Subsystem AUTO Hardware Settings ---> Ethernet Settings で、"Ethernet MAC address"を空にします。

f:id:nokixa:20211115024532p:plain:w500

また、U-bootの設定も必要なので、一旦今までの設定を保存してExitします。

その後、以下のコマンドでU-bootの設定を行います。

petalinux-config -c u-boot

設定UIが出るまで時間がかかりますが、表示されたらNetworking supportメニューで"Random ethaddr if unset"のチェックを外します。

f:id:nokixa:20211115024600p:plain:w500

そうしたら保存してExitします。

その後、ビルドとパッケージを実行。
パッケージする際には、前回Vitisで作成したFSBLを指定します。

petalinux-build
petalinux-package --boot --fsbl ../../zybo/zybo-vitis/zybo-fsbl/export/zybo-fsbl/sw/zybo-fsbl/boot/fsbl.elf --fpga images/linux/system.bit --u-boot

この成果物をSDカードに書き込んでZYBOに差し込み、ZYBOの電源を入れます。 シリアル-USBポートもPCにつないで、Teratermを開いておきます。

参考:

How to format SD card for SD boot - Xilinx Wiki - Confluence

Linux起動後、rootユーザでログインしてifconfigコマンドを実行すると、 イーサネット設定が確認できます。

root@Zybo-base-linux-peta:~# ifconfig
eth0      Link encap:Ethernet  HWaddr D8:80:39:5C:83:8B
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interrupt:28 Base address:0xb000

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

root@Zybo-base-linux-peta:~#

期待通りにXilinxのOUI(先頭3byteが00:0A:35)ではなくMicrochipのOUI( D8:80:39)が確認できました。

以上

前にXilinx SDKでやった手順がVitisでもできるのが確認できました。
Vitisももっと使っていきたい。

次回からはカメラモジュールの続きをやっていこうかと思います。