# Build PYNQ OS for ZCU102 with Yocto

**URL:** <https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537>\
**Category:** Support\
**Created:** [April 12, 2021, 4:21pm UTC](https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537 "2021-04-12T16:21:55Z")\
**Posts on this page:** 5\
**Page:** 2

<div class="post-metadata">

**Author:** ![PeterOgden](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/peterogden/32/55_2.png) [@PeterOgden](https://discuss.pynq.io/u/PeterOgden)\
**Post date:** [May 5, 2021, 1:42pm UTC](https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537/21 "2021-05-05T13:42:18Z")

</div>

This most like means that the UIO driver isn’t configured to bind to the device. There are a couple of ways to do this. Easiest way is to add `uio_pdrv_genirq.of_id=generic-uio` to the kernel command line. If the UIO device is compiled as a module you can also add a file containing `options uio_pdrv_genirq of_id=generic-uio` to /etc/modprobe.d and then `modprobe uio_pdrv_genirq`.

Peter

---

<div class="post-metadata">

**Author:** ![easmith5](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/easmith5/32/1943_2.png) [@easmith5](https://discuss.pynq.io/u/easmith5)\
**Post date:** [May 5, 2021, 2:13pm UTC](https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537/22 "2021-05-05T14:13:26Z")

</div>

Hmm ok it seems we have a weird situation. From [this recipe](https://github.com/Xilinx/meta-xilinx/blob/rel-v2020.2/meta-xilinx-pynq/recipes-support/pynq-overlay/pynq-overlay_1.0.bb) the proper file is being added to /etc/modprobe.d and we can go look at it, but modprobe complains about no file found in `/lib/modules/5.4.0-xilinx-v2020.2` when we try to run `modprobe uio_pdrv_genirq`

---

<div class="post-metadata">

**Author:** ![PeterOgden](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/peterogden/32/55_2.png) [@PeterOgden](https://discuss.pynq.io/u/PeterOgden)\
**Post date:** [May 5, 2021, 2:28pm UTC](https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537/23 "2021-05-05T14:28:28Z")

</div>

Is CONFIG\_UIO\_PDRV\_GENIRQ=m in you kernel config?

---

<div class="post-metadata">

**Author:** ![easmith5](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/easmith5/32/1943_2.png) [@easmith5](https://discuss.pynq.io/u/easmith5)\
**Post date:** [June 14, 2021, 6:27pm UTC](https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537/24 "2021-06-14T18:27:16Z")

</div>

Hi @PeterOgden sorry for the long delay. There was something in my build that was overriding my settings and it took be awhile to figure out what the problem was, and to try another test on the board.  
After getting the UIO module squared away, we also had to modify our firmware to use an Interrupt Controller as discussed here: [Zynq PS7 Interrupts - #5 by PeterOgden](https://discuss.pynq.io/t/zynq-ps7-interrupts/198/5) but now unfortunately we get a parse error when just defining the overlay. Do you have any ideas on why that might be? I’ve attached our block design also if that’s helpful. Thanks!

[AXI\_DMA.pdf](https://discuss.pynq.io/uploads/short-url/hvOUmg36GH4dyOt31H0dhUt77BM.pdf) (189.7 KB)

```auto
>>> overlay = Overlay('/home/root/AXI_DMA.bit', download=False)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.7/site-packages/pynq/overlay.py", line 330, in __init__
    self.parser = self.device.get_bitfile_metadata(self.bitfile_name)
  File "/usr/lib/python3.7/site-packages/pynq/pl_server/device.py", line 637, in get_bitfile_metadata
    return HWH(hwh_path)
  File "/usr/lib/python3.7/site-packages/pynq/pl_server/hwh_parser.py", line 149, in __init__
    tree = ElementTree.parse(hwh_name)
  File "/usr/lib/python3.7/xml/etree/ElementTree.py", line 1197, in parse
    tree.parse(source, parser)
  File "/usr/lib/python3.7/xml/etree/ElementTree.py", line 598, in parse
    self._root = parser._parse_whole(source)
xml.etree.ElementTree.ParseError: not well-formed (invalid token): line 1, column 0

```

---

<div class="post-metadata">

**Author:** ![mizan](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/mizan/32/2119_2.png) [@mizan](https://discuss.pynq.io/u/mizan)\
**Post date:** [July 26, 2022, 12:14pm UTC](https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537/25 "2022-07-26T12:14:43Z")

</div>

Hi @PeterOgden @easmith5 ,  
I am trying to run my program only with yocto and I am very new to it. I have added meta-xilinx-pynq layer to the yocto image. It started on the board. Whenever I try to import pynq it shows the no device found error as stated by Emily.

> CONFIG\_XILINX\_APF is enabled in your kernel?

For enabling, where to add it?

[Previous page](https://discuss.pynq.io/t/build-pynq-os-for-zcu102-with-yocto/2537.md?page=1)
