top of page

ZCU102 Development Using 2018.2 on a Linux VM Running on Windows: Part 2

Updated: May 15, 2023




This post is part 2 of a series that contains everything you need to develop software for the ZCU102 using a Linux VM running on Windows 7.


Part 1 @ [link] Covered:

  • The steps for installing an Ubuntu 16.04.3 ISO on a Oracle VirualBox VM and

  • Installing Xilinx Vivado 2018.2

Part 2 Covers:

  • Installing PetaLinux 2018.2 onto the Ubuntu 16.04.3 VM,

  • Building a custom image for the ZCU102's A53 cores and

  • Running the image on to the board over JTAG


Before you Continue


If you haven't completed part 1, please complete it @ [link].



Machine

All of these commands were run in a VM that was running on Windows 7 SP1 running on a T460. See [link] for more details.



Installing PetaLinux


1. Type sudo mkdir -p /opt/pkg/petalinux

2. Type sudo chmod -R a+rwX /opt/pkg/petalinux

3. Type sudo chown -R zpfeffer:zpfeffer /opt/pkg/petalinux

4. Type cd ~/xpkgs

5. Type ./petalinux-v2018.2-final-installer.run /opt/pkg/petalinux


Note: Step 5 will display:

INFO: Checking installer checksum... for a few minutes, then display:

INFO: Extracting PetaLinux installer... for a few minutes, then display:

6. Press Enter

7. Press PgDn (or press G to skip to the end) and press q

8. At Do you accept Xilinx End User License Agreement? [y/N] > type y


Note: at this point you should be presented with the WebTalk Terms and Conditions


8. Press q

9. At the Do you accept Webtalk Terms and Conditions? [y/N] > type y


Note: at this point you should be presented with the Third_Party_Software_End_User_License_Agreement


10. Press PgDn (or press G to skip to the end) and press q

11. At the Do you accept Third Party End User License Agreement? [y/N] > type y


Note: at this point you'll see:

...for a few minutes. Then INFO: Checking PetaLinux installer integrity... and INFO: Installing PetaLinux SDK to "/opt/pkg/petalinux/." followed by

You have succeeded if the last line reads INFO: PetaLinux SDK has been installed to /opt/pkg/petalinux/.



Change /bin/sh to bash


PetaLinux Tools 2018.2 requires /bin/sh to point to bash. Ubuntu 2018.2 points /bin/sh points to dash:

To change /bin/sh to bash:

1. Type sudo ln -sf bash /bin/sh

2. Test it by typing ls -l /bin/sh

You should see:

Notes


1. You can reverse this by typing sudo ln -sf dash /bin/sh

2. If you don't do this, PetaLinux Tools will output this in the next step:



Run PetaLinux


1. Open a new terminal

2. Type source /opt/pkg/petalinux/settings.sh

3. You should see:


Changes to the Environment


Here were the environment differences I saw. I also listed how I generated the differences:


Summary of env Changes


Variables Added:


PETALINUX_VER=2018.2

PETALINUX=/opt/pkg/petalinux


Paths added (listed in order):


/opt/pkg/petalinux/tools/linux-i386/petalinux/bin

/opt/pkg/petalinux/tools/common/petalinux/bin

/opt/pkg/petalinux/tools/linux-i386/gcc-arm-none-eabi-r5/bin

/opt/pkg/petalinux/tools/linux-i386/microblaze-xilinx-elf/bin

/opt/pkg/petalinux/tools/linux-i386/microblazeel-xilinx-linux-gnu/bin

/opt/pkg/petalinux/tools/linux-i386/gcc-arm-none-eabi/bin

/opt/pkg/petalinux/tools/linux-i386/gcc-arm-linux-gnueabi/bin

/opt/pkg/petalinux/tools/linux-i386/aarch64-none-elf/bin

/opt/pkg/petalinux/tools/linux-i386/aarch64-linux-gnu/bin



Create a PetaLinux Tools Project Based on the 2018.2 ZCU102 BSP


1. Type mkdir ~/plxprjs

2. Type cd ~/plxprjs/


Note: You can create more projects in this directory, i.e. you'll cd into ~/plxprjs/ and type other petalinux-create for other projects.


3. Type petalinux-create -t project -s ~/xpkgs/xilinx-zcu102-v2018.2-final.bsp


You'll see:

How Long?


On my machine the command took a little over 2 min:



Create Another Project


To try out creating another project in the same directory type petalinux-create -t project -s ~/xpkgs/xilinx-zcu102-v2018.2-final.bsp -n alt_xilinx-zcu102-v2018.2-final in ~/plxprjs

You'll see:

Just type rm -rf alt_xilinx-zcu102-v2018.2-final/ to delete it. The other project will not be impacted.



Build the Project


1. Type cd xilinx-zcu102-2018.2/

2. Type petalinux-build


You'll see:


How Long?


On my machine the command took over 6 hours (see previous output)


Build Warning


The build warning warning: %post(sysvinit-inittab-2.88dsf-r10.zcu102_zynqmp) scriptlet failed has been fully explored at [link]. It can be ignored.



Boot the Build


Connect to JTAG


See Connecting Vivado to Digilent's USB-to-JTAG through VirtualBox at [link] to connect to JTAG.


Bring up Minicom


See Arg! Nothing I type shows up in the Minicom console! at [link]


Boot


1. Type petalinux-boot --jtag --u-boot -v



References

  • PetaLinux Tools Documentation: Reference Guide, UG1144 (v2018.2) June 6, 2018 at [link]

  • Xilinx logo found via https://twitter.com/xilinxinc at [link]

  • Free Online HTML Escape / Unescape Tool - FreeFormatter.com at [link]

  • Effective Linux Development Using PetaLinux Tools 2017.4 at [link]

  • ZCU102 Board User Guide (UG1182) at [link]

  • Many Xilinx Zynq UltraScale+ MPSoC ZCU102 Docs at [link]

  • HTML Table Generator at [link]

  • ZCU102 BOM (zcu102-bom-rdf0404.zip) at [link] (sign-in required)

  • ZCU102 Board Schematics (zcu102-schematic-source-rdf0403.zip) at [link] (sign-in required)

  • ZCU102 Software Install and Board Setup released June 2018 at [link]



Other


Try to Build Outside a Project


Note: if you type petalinux-build in the ~/plxprjs directory you'll see:




© 2025 by Centennial Software Solutions LLC.

bottom of page