We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Observer bswimley
Registered: ‎01-20-2012

Best Practices for Bringing up new Zynq hardware under Linux.

Hi All,


I am working through the procedures for bringing up new hardware using Zynq and Linux.  Currently I am using the Zedboard as a development platform, but I am documenting the procedure for reference when our target hardware is available.


I have downloaded Vivado 2013.2 and I am using that (on Windows 64-bit) in conjunction with ISE 14.5 on a Linux platform for building the kernel, etc.


My goal is to be able to build all components (FSBL, U-Boot, the kernel, and the rootfs) from source.  That way, if any customization needs to be done, I have everything I need to do this.


I have done some mixing and matching of components and have had limited success (the FSBL for the zed board built with Vivado 2013.2 does not seem to work - would anyone have any ideas?)


I noticed that the latest 14.6 release of the zed board binaries included components built with petalinux, but is this the preferred method of building all components?  If so, can you redirect petalinux to use an external kernel source tree, external u-boot, etc?  


Or, would the better approach be to use busybox to populate the rootfs?


I've also noticed that there are several methods of constructing image files to use for booting from both SD card and spi flash, depending on what documentation I read. 


Again, I guess what I am asking, is what is the "best practice"?


I apologize if this has been asked and answered previously on the forum.  I searched the forum and did not see anything off the top of my head that struck me as pertaining to my question.


Thanks in advance for any advice.


Best Regards,


Brett Swimley

0 Kudos
2 Replies
Scholar milosoftware
Registered: ‎10-26-2012

Re: Best Practices for Bringing up new Zynq hardware under Linux.

It depends on what you intend to do with it.


If your goal is to run bare-metal applications, you're on a right track here.


If you want to run something like a router or even a complete GUI on it, you'd better take a look at, for example, Yocto (and/or openembedded) to build everything (bootloader, kernel, libraries, ...). I even have OpenEmbedded build the FPGA bitstream, so I don't have to do those clumsy steps manually. (haven't figured out how to automate FSBL build though).

0 Kudos
Observer bswimley
Registered: ‎01-20-2012

Re: Best Practices for Bringing up new Zynq hardware under Linux.

I may look at Yocto/Open Embedded as there are a lot of steps to juggle manually.  I have succeeded in (finally) building all pieces from source for the zed board and now have an initial development platform up and running.


I did not end up using petalinux.  Do you have any comments on petalinux?



0 Kudos