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.


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
Component | Description |
SoC | AMD Zynq UltraScale+ MPSoC |
SoM | Kria K24 (Reduced Feature) |
Carrier Board | Avnet K24 IO Carrier Card |
Software Tools
Tool | Version | Link |
Vivado | 2024.1 | Download |
Vitis | 2024.1 | Download |
PetaLinux | 2024.1 | Download |
Avnet BSP | 2024.1 | K24 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.