本当に久々の記事更新です。
既知の問題かも知れませんが、散々ぐぐっても出てこなかったので、ここにメモしておきます。
petalinux 2018.2 を使い、ZYBO (Z7 ではなくて古いボード) の eth0 を使おうとしたところ
macb e000b000.ethernet eth0: unable to generate target frequency: 125000000 Hz
という謎のエラーが出て PHY チップと通信できない問題が発生。
ぐぐってもよくわからず、最終的に
https://github.com/wzab/Z-turn-examples/blob/master/README.md
を読んで気づきました。Vivado 2018.2 では ZYNQ-7000 の ENET0 のクロックソースがデフォルトで External になっていることを…。
記事にある通り、IO PLL に設定して hdf ファイルを再作成し、petalinux を再コンパイルしたところ、問題なくリンクが上がりました。
(petalinux 設定はこのサイトを見て実行しました。また、eth0 ポートは GbE に挿してください。)
あとはジャマな IPv6 設定を
echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra
echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6
として無効化し、udhcpc を再起動すると IPv4 アドレスが無事、家庭内ルータから取得できました。