Getting started
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
cd oe-core
. ./oe-init-build-env ../build ../bitbake -
Now you are in the build directory.
-
bitbake core-image-minimal
and 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
(for zedboard)
git clone git://github.com/milosoftware/meta-zynq.git
(for ZC-702)
git clone git://github.com/balister/meta-zynq.git -
Add this line to conf/bblayers.conf (the one with meta-zynq)
BBLAYERS ?= " \
/home/balister/src/oe-core/oe-core/meta \
/home/balister/src/oe-core/meta-zynq \
" -
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
(for zedboard)
'MACHINE ?= "zedboard"'(for ZC-702)
'MACHINE ?= "zynq-zc702"` -
Run
bitbake zc702-proto-image
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.