PetaLinux is brand name used by Xilinx, it is based on Yocto and pretty decent mainstream kernel, what Petalinux adds is the HSI (Hardware Software Interface from Vivado) and special tools for boot image creation.
Table of Content
Getting Linux working on Zynq is very simple, following steps are required
- Vivado/SDK/PetaLinux 2015.4 installed
- Create Vivado Project, configure PS, Export HDF
- Ceate new PetaLinux project
- Import HDF into project
- copy boot.bin and image.ub to SD Card
This is generic how-to, everything is setup for your by the Vivado->PetaLinux flow. Note, the boot.bin generated by PetaLinux may not always work, in such case it is recommended to make the boot.bin with SDK-GUI or command line tools manually.
There is no need to install anything else, or to fetch anything from any github repos, etc.
- Download PetaLinux from Xilinx Website: http://www.xilinx.com/support/download/index.html/content/xilinx/en/downloadNav/embedded-design-tools.html
- Choose a PetaLinux Version, that's corresponding to the installed Vivado and SDK Version.
- Use UG1144 "PetaLinux Tools Documentation - Reference Guide" that's corresponding with your PetaLinux Version
- Check "PetaLinux Tools Installation Requirements" chapter and install missing tool/libraries
- Use installation instructions from chapter "PetaLinux Tools Installation Steps"
- Note: It is recommended to test the installation by creating a dummy template project and building it.
Creating a Project from Vivado Project
- Export Hardware Definition File (*.hdf) from the Vivado Project.
- Check the Petalinux documents, create a project (for Zynq or Microblaze)
- Imported Steps on Linux Console:
- Take u-boot.elf and image.ub and make BOOT.BIN. It is recommended to create the FSBL with SDK tools.
Most settings can be changed with menu-config. There are 3 more files that user can edit, they are
|system-top.dts||Device tree changes are to be applied here|
|platform-top.h||U-boot changes are to be applied here|
|fsbl_hooks.c||FSBL changes are to be applied here|
There should be no reason to modify any other files by editing them (most of them are generated and would be overwritten).
- PetaLinux Tools User Guide - Installation Guide (UG976)
- PetaLinux Tools User Guide - Getting Started Guide (UG977)
- PetaLinux Tools Documentation -Reference Guide (UG1144)
- PetaLinux Tools Documentation - PetaLinux Command Line Reference (UG1157)