PYNQ: PYTHON PRODUCTIVITY

PYNQ rootfs arm v2.5 - corrupt partition table + network problems

I’m using PYNQ v2.5.1 and the generic arm image on an Ubuntu 18.04.04 virtual machine to build a PYNQ 2.5 image for a ZED board; and to other boards if the build flow succeeds.

Using the pre-build image does not succeed with a mount error. Forgot to log this but can reproduce this if needed. (I switched to pynq 2.5.2 to try out a complete build)

With the gdisk utility I see that the partition table of the derived image is corrupt, as well as the partition table of the generic image. Can this be a cause of the mount errors during the build process??
(using the make with the PREBUILT and BOARDS option in the PYNQ sdbuild folder)

Below info and gdisk output for the pynq_rootfs_arm_v2.5 image.

I also run into issues when put this generic arm image on an SD card (as a shortcut). Adding the generated boot.bin and image.ub for the ZED board to the windows partition on the SD card is sufficient to boot Pynq 2.5 distro. And at first glance everything is installed to run pynq services, except network config. If I config /etc/networks/interfaces.d/eth0 then I can use the eth0 network interface, but the network services do not run after a reboot, such as samba and the jupyter notebook server. If this should work, which config info should I show or collect??

Kind regards,
HCAP

PS
Image dowloaded from


pynq_rootfs_arm_v2.5.zip
=> unzip produces bionic.arm.2.5.img

md5sum bionic.arm.2.5.img
4c9615cb8ff6ef00565a2d34f6056c6e bionic.arm.2.5.img

ls -l bionic.arm.2.5.img
-rw------- 1 xilinx xilinx 5621089216 Apr 28 18:23 bionic.arm.2.5.img

gdisk -l bionic.arm.2.5.img

GPT fdisk (gdisk) version 1.0.3

Warning: File size is not a multiple of 512 bytes! Misbehavior is likely!
Warning: File size is not a multiple of 512 bytes! Misbehavior is likely!
Warning: File size is not a multiple of 512 bytes! Misbehavior is likely!
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present


Found invalid GPT and valid MBR; converting MBR to GPT format
in memory.


Warning! Secondary partition table overlaps the last partition by
3701408 blocks!
You will need to delete this partition or resize it in another utility.
Disk bionic.arm.2.5.img: 10978689 sectors, 5.2 GiB
Sector size (logical): 512 bytes
Disk identifier (GUID): ADD610E3-8F15-4E61-8E5C-1FBCAF86CBAA
Partition table holds up to 128 entries
Main partition table begins at sector 2 and ends at sector 33
First usable sector is 34, last usable sector is 10978655
Partitions will be aligned on 2048-sector boundaries
Total free space is 2014 sectors (1007.0 KiB)

Number Start (sector) End (sector) Size Code Name
1 2048 206847 100.0 MiB 0700 Microsoft basic data
2 206848 14680063 6.9 GiB 8300 Linux filesystem

I wouldn’t worry too much about the gdisk errors - our images have to use the MBR format used with fdisk rather than GPT format expected by gdisk has that’s expected by the Zynq device. Can you see what happens if you mount the image manually? The build process essentially does the following

sudo kpartx -av <image file>
sudo mount /dev/mapper/loop*p2 <mount directory>

Where the name of loop file is determined from the kpartx output. Can you try running that and seeing if you get the same errors as when running the build process?

As to your networking problem I don’t see what could be going wrong. Can provide the contents of /etc/networks/interfaces.d/eth0 as well as the results of the following commands?

ifconfig
systemctl status networking
systemctl status jupyter

Hopefully that will help shed some light on what’s going on.

Peter

Thanks for the suggestions to diagnose the build and network problems with a pre-made root filesystem. Below additional info.
Kind regards,
HCAP

Below a log from following build command
make BOARDDIR=/home/xilinx/PYNQ/boards BOARDS=ZED PREBUILT=/home/xilinx/rootfs/bionic.arm.2.5.img

Here the results of the kpartx commands
rootfs image, as downloaded

sudo kpartx -av bionic.arm.2.5.img
add map loop19p1 (253:1): 0 204800 linear 7:19 2048
device-mapper: reload ioctl on loop19p2 failed: Invalid argument
create/reload failed on loop19p2
/////////////////////////////////////////////////////////////////////
kpartx for generated image
sudo kpartx ZED-2.5.img
loop18p1 : 0 204800 /dev/loop18 2048
loop18p2 : 0 14473216 /dev/loop18 206848
=> image is incomplete, no boot files on windows FAT partition.
Still I can flash an SD card, and but the boot files in the windows partition.
Everything looks OK, except network services.
After second boot I get EXT4 error messages.
Still here the outputs of the commands you suggest:

port scan on external machine

nmap 192.168.1.20

Starting Nmap 7.60 ( https://nmap.org ) at 2020-06-05 15:01 CEST
Note: Host seems down. If it is really up, but blocking our ping probes, try -Pn
Nmap done: 1 IP address (0 hosts up) scanned in 3.04 seconds

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::20a:35ff:fe00:1e53 prefixlen 64 scopeid 0x20
ether 00:0a:35:00:1e:53 txqueuelen 1000 (Ethernet)
RX packets 367 bytes 20900 (20.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2545 bytes 844433 (844.4 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 29 base 0xb000

eth0:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.20 netmask 255.255.255.0 broadcast 192.168.1.255
ether 00:0a:35:00:1e:53 txqueuelen 1000 (Ethernet)
device interrupt 29 base 0xb000

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1000 (Local Loopback)
RX packets 27454 bytes 1654200 (1.6 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 27454 bytes 1654200 (1.6 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
systemctEXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm bash: deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm bash: deleted inode referenced: 398795
l status networking
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
● networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2019-09-30 09:06:52 UTC; 2h 52min ago
Docs: man:interfaces(5)
Process: 1431 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
Process: 1382 ExecStartPre=/bin/sh -c [ “CONFIGURE_INTERFACES" != "no" ] && [ -n "(ifquery --read-environment --list --exclude=lo)” ] && udevadm settle (code=exited, status=0/SUCCESS)
Main PID: 1431 (code=exited, status=0/SUCCESS)
xilinx@pynq:~$ systemctl status networking
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
● networking.service - Raise network interfaces
Loaded: loaded (/lib/systemd/system/networking.service; enabled; vendor preset: enabled)
Active: active (exited) since Mon 2019-09-30 09:06:52 UTC; 2h 52min ago
Docs: man:interfaces(5)
Process: 1431 ExecStart=/sbin/ifup -a --read-environment (code=exited, status=0/SUCCESS)
Process: 1382 ExecStartPre=/bin/sh -c [ “CONFIGURE_INTERFACES" != "no" ] && [ -n "(ifquery --read-environment --list --exclude=lo)” ] && udevadm settle (code=exited, status=0/SUCCESS)
Main PID: 1431 (code=exited, status=0/SUCCESS)
///////////////////////////////////////////////////////////////////////////////////////////////////

systemctl status jupyter
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm (pager): deleted inode referenced: 398795
● jupyter.service - Jupyter Notebook Server
Loaded: loaded (/lib/systemd/system/jupyter.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Mon 2019-09-30 09:08:11 UTC; 2h 53min ago
Process: 1470 ExecStart=/usr/local/bin/start_jupyter.sh (code=killed, signal=TERM)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
python3, import pynq (does not start - likely due to incomplete install of the used image

python3
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm bash: deleted inode referenced: 398795
EXT4-fs error (device mmcblk0p2): ext4_lookup:1577: inode #258598: comm python3: deleted inode referenced: 398795
Python 3.6.5 (default, Apr 1 2018, 05:46:30)
[GCC 7.3.0] on linux
Type “help”, “copyright”, “credits” or “license” for more information.

import pynq
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #388006: comm python3: bad extra_isize 25785 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #388006: comm python3: bad extra_isize 25785 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #388006: comm python3: bad extra_isize 25785 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #388006: comm python3: bad extra_isize 25785 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #388006: comm python3: bad extra_isize 25785 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #388006: comm python3: bad extra_isize 25785 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #387878: comm python3: bad extra_isize 12357 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #387878: comm python3: bad extra_isize 12357 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #387878: comm python3: bad extra_isize 12357 (inode size 256)
EXT4-fs error (device mmcblk0p2): ext4_iget:4831: inode #387878: comm python3: bad extra_isize 12357 (inode size 256)
Traceback (most recent call last):
File “”, line 1, in
File “/home/xilinx/pynq/init.py”, line 30, in
from .mmio import MMIO
File “/home/xilinx/pynq/mmio.py”, line 32, in
import numpy as np
File “/usr/lib/python3/dist-packages/numpy/init.py”, line 142, in
from . import add_newdocs
File “/usr/lib/python3/dist-packages/numpy/add_newdocs.py”, line 13, in
from numpy.lib import add_newdoc
File “/usr/lib/python3/dist-packages/numpy/lib/init.py”, line 8, in
from .type_check import *
File “/usr/lib/python3/dist-packages/numpy/lib/type_check.py”, line 11, in
import numpy.core.numeric as _nx
File “/usr/lib/python3/dist-packages/numpy/core/init.py”, line 74, in
from numpy.testing.nosetester import _numpy_tester
File “/usr/lib/python3/dist-packages/numpy/testing/init.py”, line 10, in
from unittest import TestCase
ModuleNotFoundError: No module named ‘unittest’
Error in sys.excepthook:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/apport_python_hook.py”, line 63, in apport_excepthook
from apport.fileutils import likely_packaged, get_recent_crashes
File “/usr/lib/python3/dist-packages/apport/init.py”, line 5, in
from apport.report import Report
File “/usr/lib/python3/dist-packages/apport/report.py”, line 15, in
import xml.dom, xml.dom.minidom
ModuleNotFoundError: No module named ‘xml’

Original exception was:
Traceback (most recent call last):
File “”, line 1, in
File “/home/xilinx/pynq/init.py”, line 30, in
from .mmio import MMIO
File “/home/xilinx/pynq/mmio.py”, line 32, in
import numpy as np
File “/usr/lib/python3/dist-packages/numpy/init.py”, line 142, in
from . import add_newdocs
File “/usr/lib/python3/dist-packages/numpy/add_newdocs.py”, line 13, in
from numpy.lib import add_newdoc
File “/usr/lib/python3/dist-packages/numpy/lib/init.py”, line 8, in
from .type_check import *
File “/usr/lib/python3/dist-packages/numpy/lib/type_check.py”, line 11, in
import numpy.core.numeric as _nx
File “/usr/lib/python3/dist-packages/numpy/core/init.py”, line 74, in
from numpy.testing.nosetester import _numpy_tester
File “/usr/lib/python3/dist-packages/numpy/testing/init.py”, line 10, in
from unittest import TestCase
ModuleNotFoundError: No module named ‘unittest’

######################################################
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2113 tasks of which 1946 didn’t need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
NOTE: Successfully copied built images to tftp dir: /tftpboot
[INFO] successfully built kernel-devsrc
cp -f /home/xilinx/PYNQ/sdbuild/build/ZED/petalinux_project/build/tmp/deploy/rpm//kernel-devsrc-1.0-r0..rpm /home/xilinx/PYNQ/sdbuild/build/ZED/petalinux_project/build/tmp/deploy/rpm/kernel-devsrc-1.0-r0.plnx_arm.rpm
mkdir -p /home/xilinx/PYNQ/sdbuild/ccache
cp --sparse=always /home/xilinx/rootfs/bionic.arm.2.5.img /home/xilinx/PYNQ/sdbuild/output/ZED-2.5.img
/home/xilinx/PYNQ/sdbuild/scripts/mount_image.sh /home/xilinx/PYNQ/sdbuild/output/ZED-2.5.img /home/xilinx/PYNQ/sdbuild/build/bionic.ZED
device-mapper: reload ioctl on loop18p2 failed: Invalid argument
create/reload failed on loop18p2
loop18p1

mount: /home/xilinx/PYNQ/sdbuild/build/bionic.ZED: /dev/mapper is not a block device.
mount: /home/xilinx/PYNQ/sdbuild/build/bionic.ZED/boot: mount point does not exist.
QEMU_EXE=/opt/qemu/bin/qemu-arm-static PYNQ_BOARDDIR=/home/xilinx/PYNQ/boards/ZED PYNQ_BOARD=ZED ARCH=arm PACKAGE_PATH=/home/xilinx/PYNQ/boards/ZED/packages /home/xilinx/PYNQ/sdbuild/scripts/install_packages.sh /home/xilinx/PYNQ/sdbuild/build/bionic.ZED pynq boot_leds ethernet

  • target=/home/xilinx/PYNQ/sdbuild/build/bionic.ZED
  • shift
  • fss=‘proc run dev’
  • for fs in $fss
  • sudo mount -o bind /proc /home/xilinx/PYNQ/sdbuild/build/bionic.ZED/proc
    mount: /home/xilinx/PYNQ/sdbuild/build/bionic.ZED/proc: mount point does not exist.
    Makefile:324: recipe for target ‘/home/xilinx/PYNQ/sdbuild/output/ZED-2.5.img’ failed
    make: *** [/home/xilinx/PYNQ/sdbuild/output/ZED-2.5.img] Error 32

To make the problem with pynq2.5.2 easier to reproduce, I tried the quick build flow with the image_from_prebuilt.sh script. This flow also results in a make failure on Ubuntu 18.04.04
See script log output at the end of this post

Command:
scripts/image_from_prebuilt.sh zedboard /home/xilinx/rootfs/avnet-digilent-zedboard-v2019.1-final.bsp arm /home/xilinx/rootfs/bionic.arm.2.5.img

With avnet-digilent-zedboard-v2019.1-final.bsp as downloaded from petalinux 2019-1 xilinx download page.

Specifically the mount_image.sh script call fails

/home/xilinx/PYNQ/sdbuild/scripts/mount_image.sh /home/xilinx/PYNQ/sdbuild/output/zedboard-2.5.img /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard
device-mapper: reload ioctl on loop5p2 failed: Invalid argument
create/reload failed on loop5p2
loop5p1

mount: /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard: /dev/mapper is not a block device.
mount: /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard/boot: mount point does not exist.

/// and the output of kpartx is

sudo kpartx -av /home/xilinx/PYNQ/sdbuild/output/zedboard-2.5.img /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard
add map loop5p1 (253:1): 0 204800 linear 7:5 2048
device-mapper: reload ioctl on loop5p2 failed: Invalid argument
create/reload failed on loop5p2

/// script log //////////////////////////////////////////////////////////////

Parsing recipes: 100% |#########################################################################################| Time: 0:00:03
Parsing of 2780 .bb files complete (2778 cached, 2 parsed). 3817 targets, 191 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Initialising tasks: 100% |######################################################################################| Time: 0:00:01
Checking sstate mirror object availability: 100% |##############################################################| Time: 0:00:15
Sstate summary: Wanted 513 Found 405 Missed 216 Current 163 (78% match, 84% complete)
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks
NOTE: Tasks Summary: Attempted 2113 tasks of which 1946 didn’t need to be rerun and all succeeded.
INFO: Copying Images from deploy to images
NOTE: Successfully copied built images to tftp dir: /tftpboot
[INFO] successfully built kernel-devsrc
cp -f /home/xilinx/PYNQ/sdbuild/build/zedboard/petalinux_project/build/tmp/deploy/rpm//kernel-devsrc-1.0-r0..rpm /home/xilinx/PYNQ/sdbuild/build/zedboard/petalinux_project/build/tmp/deploy/rpm/kernel-devsrc-1.0-r0.plnx_arm.rpm
cp --sparse=always /home/xilinx/rootfs/bionic.arm.2.5.img /home/xilinx/PYNQ/sdbuild/output/zedboard-2.5.img
/home/xilinx/PYNQ/sdbuild/scripts/mount_image.sh /home/xilinx/PYNQ/sdbuild/output/zedboard-2.5.img /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard
device-mapper: reload ioctl on loop5p2 failed: Invalid argument
create/reload failed on loop5p2
loop5p1

mount: /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard: /dev/mapper is not a block device.
mount: /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard/boot: mount point does not exist.
QEMU_EXE=/opt/qemu/bin/qemu-arm-static PYNQ_BOARDDIR=/tmp/tmp.kV6vikLJlX/zedboard PYNQ_BOARD=zedboard ARCH=arm PACKAGE_PATH=/tmp/tmp.kV6vikLJlX/zedboard/packages /home/xilinx/PYNQ/sdbuild/scripts/install_packages.sh /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard

  • target=/home/xilinx/PYNQ/sdbuild/build/bionic.zedboard
  • shift
  • fss=‘proc run dev’
  • for fs in $fss
  • sudo mount -o bind /proc /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard/proc
    mount: /home/xilinx/PYNQ/sdbuild/build/bionic.zedboard/proc: mount point does not exist.
    Makefile:324: recipe for target ‘/home/xilinx/PYNQ/sdbuild/output/zedboard-2.5.img’ failed
    make: *** [/home/xilinx/PYNQ/sdbuild/output/zedboard-2.5.img] Error 32
    Make failed

I’ve not seen those errors coming out of kpartx and mount before. @rock and @gnatale have been testing the building images on 2018.04 , maybe they have some ideas about what could be going on?

It looks like the image is getting corrupted between the copies? Does the unpacked image match the md5sum Does the bionic.arm.2.5.img mount immediately after unpacking? If so try copying it and mounting the copy (using the --sparse=always option to mimic what the SD build flow would do).

Peter

Dear Peter,
I did a second load/unzip of the arm pynq_rootfs_arm_v2.5.zip, and I see that there was a mistake in my first trial. Now the file is about 2 Gbytes bigger than the first unzip - not clear what went wrong there. Now the sudo kpartx -av command gives a valid return of fat32 and ext4 partitions on the extracted bionic.arm.v2.5.img . So I’ll rerun the image_from_prebuilt.sh with this image and let you know the result.
Kind regards,
HCAP

… and the image_from_prebuilt.sh script now runs OK. If I configure the network interace then also the network services (Jupyter, samba) work as expected - and the file system is robust, not giving EXT4 errors after stress tests of the file system. It would be useful if md5 checksums of the extracted image are mentioned on the dowload page of these pre-build images. Fortunately using the correct image with the image_from_prebuilt.sh script fixes many errors.

Now I’m confused about a SPEC file when building from an SDK using the sdbuild/Makefile. Is it besides BSP_* needed to specify a BITSTREAM_* file when using the PREBUILT make flag? And if so which bitfile should be used. I see that the bsp packages from petalinux 2019.1 are simple tar.gz files, containing several bitstreams. Is it then needed to pick one of these, and if so which one?

I think a good source for reading is: https://pynq.readthedocs.io/en/latest/pynq_sd_card.html#elements-of-the-specification-file

Not specifying the bitfile results in an error when using make. Not clear what I’m doing wrong

I follow to quickly customize a default image file from the guide of Peter in

make BOARDS=zedboard PREBUILT=bionic.arm.2.5.img

with PYNQ/boards/zedboard folder consisting of

-rw-r–r-- 1 xilinx xilinx 105063271 Jun 8 21:02 avnet-digilent-zedboard-v2019.1-final.bsp
-rw-r–r-- 1 xilinx xilinx 7516192768 Jun 8 21:23 bionic.arm.2.5.img
drwxr-xr-x 3 xilinx xilinx 4096 Jun 8 21:00 petalinux_bsp/
-rw-r–r-- 1 xilinx xilinx 132 Jun 8 21:28 zedboard.SPEC

and zedboard.SPEC config equal to:
////
ARCH_zedboard := arm
BSP_zedboard := avnet-digilent-zedboard-v2019.1-final.bsp

STAGE4_PACKAGES_zedboard := pynq boot_leds ethernet
///
Results in following error for make BOARDS=zedboard PREBUILT=bionic.arm.2.5.img

zerofree
u-boot-tools
rpm2cpio
libsdl1.2-dev
rsync
python3-pip
gcc-multilib
bash /home/xilinx/PYNQ/sdbuild/scripts/check_mounts.sh
make: *** No rule to make target ‘/home/xilinx/PYNQ/sdbuild/boot/image_.its’, needed by ‘/home/xilinx/PYNQ/sdbuild/build/zedboard/image.its’. Stop.

I think you should put a folder like:
<some_path>/boards/zedboard, where zedboard has your spec file.

Then run:

make BOARDDIR=<some_path>/boards PREBUILT=bionic.arm.2.5.img

I suspect the issue is that .SPEC should be .spec. The extension is case sensitive. I’m sorry if we’ve documented that wrongly.

Peter

Thanks Peter !!
my mistake, corrected the spec file extension to lower case, and mentioned errors go away. Other errors at a later stage occur. Plan a few different variations to build the pynq v2.5.2 image before reporting these.

Kind regards,
HCAP

Experienced only minor issues rebuilding PYNQ2.5.2 with the PREBUILT option. Works for me now and main problems were cause by incomplete root fs image - where something went wrong with the unzipping.