Clone this wiki locally
This is a simple BSP for the Xilinx Zynq product line. So far, only the ZC-702 board is supported.
I'm publishing this layer in an effort to avoid fragmentation and get everyone doing Zynq work with OpenEmbedded working from the same BSP. I am not in a position to spend a lot of time solving peoples problems :)
- Read http://www.openembedded.org/wiki/Getting_Started_with_OE-Core
I do this (because I hate nesting git repos)
mkdir oe-core; cd oe-core
git clone git://git.openembedded.org/openembedded-core oe-core
git clone git://git.openembedded.org/bitbake bitbake
. ./oe-init-build-env ../build ../bitbake
Now you are in the build directory.
bitbake core-image-minimaland work out what else you need to install on the build machine.
Also review conf/local.conf. I'd set the parallelim options and move the download directory.
Now clone the meta-zynq layer in the oe-core directory
git clone git://github.com/milosoftware/meta-zynq.git
git clone git://github.com/balister/meta-zynq.git
Add this line to conf/bblayers.conf (the one with meta-zynq)
BBLAYERS ?= " \
Now remove the tmp* directory and sstae directories from the build dir. (Mostly qemu related stuff)
Add the MACHINE line to local.conf to select the ZC-702 board
'MACHINE ?= "zedboard"'
'MACHINE ?= "zynq-zc702"`
After the build completes look in
tmp-eglibc/deploy/images/. There will be a u-boot, uImage, devicetree file, and a tarball of the rootfs. I have the build configured to run from the SD card. You will need to partition an SD card into two partitions. The first partition is a FAT partition with u-boot.bin (Called BOOT.BIN), devicetree, and zImage. The second partition is an ext4 partition that you untar the tarball into. I make the second partition start at sector 131072 to try and align with an erase block boundary.
BUGS: You need to meld a first stage boot loader with the u-boot file with a magical incantation from Xilinx to make BOOT.BIN. I need to document this one day. I am not sure if I can redistribute the fsbl binary. The source is not open. BOOT.BIN's from older Xilinx cards are based on an older u-boot that expects a zImage and will not work with the newer kernel.