I managed to build a PYNQlinux image for an (unsupported) iWave G35 board, based on a Xilinx’s ZU19 Zynq MPSoC
I followed the instructions on PYNQ website and the board’s documentation and example design, which are all based on Petalinux and Xilinx tools v2020.1.
I started from a prebuilt PYNQ 2.6 rootfs and a pre-packaged pynq python package to reduce build time.
Now everything seems to be working fine, except that if I issue a “sudo reboot” command, the board does indeed reboot completely, but somehow powers itself off after about 1-1.5 minutes without any further notice: the power supply LED goes out, and so does the Ethernet LED. Also, the reset switch does absolutely nothing.
Notice that in order to reproduce the above situation, a combination of things must be put in place:
- Some bitstream must be loaded on the FPGA, regardless of whether the programming is done by u-boot or the FPGA manager; if no bitstream is loaded, the board reboots fine
- A graceful “reboot” from PYNQ’s prebuilt file system (Ubuntu 18.04’s systemd) must be issued: if you issue “reboot -f”, for instance, the board reboots just fine without any side effect. Ditto for the rootfs provided by a vanilla petalinux.
Notice how stopping the reboot at the u-boot prompt does not help: the board will just power off after the same time.
So I’ve essentially restricted it to something that systemd must be doing while shutting down its services/units, somehow triggering a sort of “delayed poweroff”.
Does anyone have any idea what this might be due to?
Any hint would be very much appreciated!