Blog

Getting Started with Vivado & PetaLinux on the Kria K24 SoM (Avnet)

This blog documents the process of setting up the toolchain and building an embedded system using the Kria K24 SoM development kit from Avnet, including FPGA design in Vivado and Linux system build with PetaLinux.

K24 SOM
K24 IO Carrier Card

Objective

  • Bring up the Avnet Kria K24 SoM and IO Carrier Card.
  • Set up Vivado, Vitis, and PetaLinux 2024.1.
  • Build and boot a custom Linux image from BSP.
  • Test system on hardware.

Hardware & Software Stack

Hardware

ComponentDescription
SoCAMD Zynq UltraScale+ MPSoC
SoMKria K24 (Reduced Feature)
Carrier BoardAvnet K24 IO Carrier Card

Software Tools

ToolVersionLink
Vivado2024.1Download
Vitis2024.1Download
PetaLinux2024.1Download
Avnet BSP2024.1K24 Dev Kit

Vivado Installation (Linux)

1. Make Installer Executable

chmod +x FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin

2. Run the Installer

sudo ./FPGAs_AdaptiveSoCs_Unified_2024.1_0522_2023_Lin64.bin

Use your Xilinx login credentials to authenticate.

3. Source Environment

source /tools/Vivado/2024.1/settings64.sh

Add Board Definition Files (BDF) 

Clone and copy Avnet BDFs:

git clone https://github.com/Avnet/bdf.git
cp -r bdf/* /tools/Vivado/2024.1/data/boards/board_files

Create the board_files directory if it doesnʼt exist.

PetaLinux 2024.1 Installation

1. Install Required Dependencies

sudo apt install libtool gcc-multilib zlib1g:i386 

2. Make Installer Executable

chmod +x petalinux-v2024.1-05202009-installer.run 

3. Run the Installer

./petalinux-v2024.1-05202009-installer.run

Choose an install directory such as /opt/petalinux_2024.1

4. Source Environment

source /opt/petalinux_2024.1/settings.sh

Download BSP from Avnet

Visit: Avnet K24 Dev Kit Page

Scroll to the bottom, find the “Reference Designs” section, and download k24_iocc_base_2024_1.bsp .

Create and Build PetaLinux Project

petalinux-create -t project -s ~/Downloads/k24_iocc_base_2024_1.bsp
cd k24_iocc_base_2024_1
petalinux-build

This generates BOOT.BIN, image.ub, and boot.scr.

Flashing the Image to SD Card

cp images/linux/{BOOT.BIN,image.ub,boot.scr} /media/<user>/sdcard/

Insert the SD card into the K24 IO Carrier Card and power up the board.

Summary

You now have

  • Vivado + Vitis installed
  • Board files integrated
  • PetaLinux installed and configured
  • Bootable Linux image built and deployed to hardware

This setup supports future work including custom IP, software applications, and Linux customization.

Credits

Disclaimer

This is an unofficial guide based on my personal experience using the Avnet Kria K24 development kit and AMD/Xilinx tools. All trademarks, logos, and product names are the property of their respective owners.

This content is provided for educational and informational purposes only and does not imply endorsement by Avnet or AMD.

Leave a Reply

Your email address will not be published.

This field is required.

You may use these <abbr title="HyperText Markup Language">html</abbr> tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*This field is required.