Docker for Xilinx Vivado IDE. A monolythic build image not based on external base container.
- Petalinux-Vivado-2020.1
- Petalinux-Vivado-2020.2
- Petalinux-Vivado-2022.1
- Petalinux-Vivado-2022.2
- Petalinux-Vivado-2023.1
- Petalinux-Vivado-2024.1
!!! Check out a tagged version in order to build!!!
Have docker
installed.
Make sure to have:
- A downloaded
FPGAs_AdaptiveSoCs_Unified_*_Lin64.bin
- A downloaded
petalinux-*-installer.run
from https://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools/archive.html - A xilinx account is needed to install the packages (usually free), and to provide the credentials
!!! Prepare Xilinx login credentials, append the following variables !!!
Provide Xilinx Vivado installer, Petalinux installer and credentials. Download the installer from the official page.
$ mkdir ./download
$ cp <Downloads>/FPGAs_AdaptiveSoCs_Unified_*_Lin64.bin ./download
$ cp <Downloads>/petalinux-*-installer.run ./download
$ echo "export UID=$(id -u)" > ./download/env
$ echo "export GID=$(id -g)" >> ./download/env
$ vi ./download/env
...
export XILINXMAIL='<my email>'
export XILINXLOGIN='<my xilinx password>'
NB: XILINXMAIL and XILINXLOGIN are only needed for container creation. They are not stored inside the container. The entries can be removed from the env file after installation! The env is not tracked by git.
Example:
$ tree -a ./download/
./download/
├── env
├── petalinux-v20*-installer.run
└── FPGAs_AdaptiveSoCs_Unified_20*_Lin64.bin
0 directories, 3 files
$ cat ./download/env
export UID=105601750
export GID=105600513
export [email protected]
export XILINXLOGIN='password123'
After building the image, the folder download
can be removed. The installer files will be in the respective build_context
folders and can be equally removed.
$ source ./download/env
$ ./setup.sh
First usage will end, w/o giving a prompt. It should display a message, though.
$ ./setup.sh
<prepares workspace folder>
$ ./setup.sh
docker$ vivado &
...