前回カスタマイズしたFSBLを作ったので、これをPetalinuxプロジェクトで取り込みます。
また、MACアドレス関連の設定もPetalinuxで行います。
さらについでに、ルートファイルシステムをSDカードに設定します。
Petalinux作業
petalinux-configコマンドを実行して、以下のように設定します。
ルートファイルシステム設定
Image Packaging Configuration ---> Root filesystem type と進みます。
"EXT4 (SD/eMMC/SATA/USB)"を選択します。
前のツールバージョン(2017.4)では単に"SD Card"だったので、ここはアップデートされているということかと。
Ethernet MAC設定
Subsystem AUTO Hardware Settings ---> Ethernet Settings で、"Ethernet MAC address"を空にします。
また、U-bootの設定も必要なので、一旦今までの設定を保存してExitします。
その後、以下のコマンドでU-bootの設定を行います。
petalinux-config -c u-boot
設定UIが出るまで時間がかかりますが、表示されたらNetworking supportメニューで"Random ethaddr if unset"のチェックを外します。
そうしたら保存して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ももっと使っていきたい。
次回からはカメラモジュールの続きをやっていこうかと思います。