Development Environment Setup

Before we begin working with the ZYBO, we need to install the software tools used throughout this tutorial series.
The development environment will include:
Vivado Design Suite
Vitis Unified Software Platform
Windows Subsystem for Linux 2
Ubuntu
PetaLinux Tools
This page focuses only on installing the required tools. We will begin creating projects and using the development workflow in later sections.
Important: Use Version 2025.2
This tutorial series was developed and tested using the AMD 2025.2 toolchain.
Although newer versions of the tools may work, AMD periodically changes menus, user interfaces, project structures, commands, and development workflows. If you install a different release, the screens and steps shown throughout this series may not match what you see on your system.
To make the tutorial easier to follow, install the 2025.2 versions of Vivado, Vitis, and PetaLinux.
Using matching versions also helps prevent compatibility problems when hardware created in Vivado is later used by Vitis or PetaLinux.
Once you are comfortable with the complete development process, moving to a newer release will be much easier.
Vivado Design Suite & Vitis Unified Software Platform
Official 2025.2 download page:
Vivado and Vitis are installed using AMD's Unified Installer, so there is no need to download them separately. During installation, simply select both products.
Vivado Design Suite
Vivado is AMD's primary FPGA development environment. Throughout this tutorial series, we'll use Vivado to configure the Zynq Processing System, create custom hardware using VHDL, integrate IP cores, connect AXI interfaces, assign FPGA pins, and generate the FPGA bitstream.
Vivado also exports the hardware description (.xsa) that is later used by both PetaLinux and Vitis.
Vitis Unified Software Platform
Vitis is AMD's software development environment for the ARM processors contained within the Zynq Processing System.
Depending on the project, Vitis can be used to develop bare-metal applications, Linux applications, and software that communicates with custom hardware implemented in the FPGA fabric. Although we won't use Vitis immediately, it is an important part of the complete Zynq development environment and should be installed now.
Installing the Correct Version
On the download page, locate the section labeled:
Unified Installer for FPGA & Adaptive SoC Tools — 2025.2
Download the Windows installer and confirm that the page and installer both identify the release as 2025.2 before continuing.
Although newer versions of the tools are available, this tutorial series was developed using the 2025.2 toolchain. Installing a different version may result in menus, project settings, or workflows that differ from those shown throughout the series, making it more difficult to follow along.
Windows Subsystem for Linux 2
Windows Subsystem for Linux 2 (WSL2) allows us to run a Linux environment directly alongside Windows 11 without dedicating the computer to Linux or maintaining a traditional dual-boot configuration.
For this project, Windows remains the primary desktop operating system. Vivado can run on the Windows side, while PetaLinux runs inside Ubuntu under WSL2. WSL2 isn't the Linux distribution; it's the virtualization/environment layer that allows Ubuntu to run on Windows.
Conceptually:

Installing WSL2 on Windows 10/11
Installing WSL2 on a modern version of Windows requires only a few steps.
Open Command Prompt as Administrator.
Type
cmdinto the Windows search bar. When Command Prompt appears, select Run as administrator.Install Windows Subsystem for Linux.
At the Command Prompt, enter:
wsl --install --no-distribution
The
--no-distributionoption installs WSL without installing a Linux distribution. We will install Ubuntu separately in the next section.This command installs WSL and enables the Windows components required by WSL2.
Restart Windows.
Once the installation has completed, restart the computer so Windows can finish enabling the required components.
Verify that WSL2 is installed.
After Windows restarts, open Command Prompt again and enter:
wsl --status
WSL2 should be the default version for newly installed Linux distributions. To explicitly set WSL2 as the default, enter:
wsl --set-default-version 2
At this point, the Windows Subsystem for Linux environment is ready.
We still don't have a Linux operating system installed inside it, however. In the next section, we'll install Ubuntu, which will provide the Linux environment used to run PetaLinux.
Ubuntu
PetaLinux does not run directly within Windows. Instead, we will run PetaLinux inside an Ubuntu Linux environment hosted by WSL2.
For this tutorial series, we will use Ubuntu 22.04 LTS. This is important because the operating system version, just like the Vivado and PetaLinux versions, can affect whether the commands and installation steps shown throughout the tutorial work as expected.
Check the Available Ubuntu Distributions
Open Command Prompt and enter:
wsl --list --online
Windows will display the Linux distributions currently available for installation.
Locate the Ubuntu 22.04 distribution in the list. The distribution name should appear similar to:
Ubuntu-22.04
Install Ubuntu 22.04
Install Ubuntu using:
wsl --install -d Ubuntu-22.04
Windows will download and install the Ubuntu distribution into WSL2.
Once the installation has completed, launch Ubuntu 22.04 from the Windows Start menu.
The first time Ubuntu starts, it will complete its initial setup and ask you to create a Linux username and password.
This account exists inside Ubuntu and is separate from your Windows account.
Note: When entering your Linux password in the terminal, no characters will appear on the screen. This is normal behavior in Linux.
Update Ubuntu
Before installing PetaLinux, we need to update the newly installed Ubuntu environment.
This step is important. During development of this tutorial, attempting to work with PetaLinux before updating the Ubuntu installation resulted in package and build problems.
From the Ubuntu terminal, run:
sudo apt update
This updates Ubuntu's local package information.
Next, upgrade the currently installed packages:
sudo apt upgrade -y
The
-yoption automatically answers yes when Ubuntu asks for permission to install the updates.Depending on how old the Ubuntu image is, this process may take several minutes.
Verify the Ubuntu Version
Once the update has completed, verify the installed Ubuntu release:
lsb_release -a
The output should identify the system as Ubuntu 22.04 LTS.
Verify That Ubuntu Is Running Under WSL2
Return to a Windows Command Prompt and enter:
wsl --list --verbose
You should see Ubuntu listed with version 2:
NAME STATE VERSION
Ubuntu-22.04 Running 2At this point our development environment looks like this:

With Ubuntu installed and updated, we now have the Linux environment required to install PetaLinux.
PetaLinux Tools
Official PetaLinux 2025.2 download page:
On the page, locate:
PetaLinux Tools — Installer — 2025.2
The installer filename should be:
petalinux-v2025.2-11160223-installer.run
You may be required to sign in with an AMD account before the download begins.
PetaLinux is AMD's embedded Linux development environment for Zynq devices. It is used to create and customize the bootloader, Linux kernel, device tree, root filesystem, and boot images that run on the ARM processors.
Unlike Vivado and Vitis, PetaLinux runs in a Linux environment. In this tutorial series, we will install it inside Ubuntu running through WSL2.
Make sure you download PetaLinux 2025.2. PetaLinux and Vivado should use matching release versions because the hardware platform exported by Vivado is later imported into the PetaLinux environment.
Using a different PetaLinux release may result in command differences, compatibility problems, or output that does not match the examples shown in this series.
Before Continuing
Before moving to the next section, confirm that you have downloaded or installed the following versions:

WSL2 and Ubuntu installation will be covered separately because they provide the Linux environment required to run PetaLinux.
Once all of the required tools are installed, we will be ready to continue with the ZYBO development environment.
