The sources for the packages comprising the images shipped with this
BSP can be found at the following location:

http://downloads.yoctoproject.org/mirror/sources/

The metadata used to generate the images shipped with this BSP, in
addition to the code contained in this BSP, can be found at the
following location:

http://www.yoctoproject.org/downloads/yocto-1.1/poky-edison-6.0.tar.bz2

The metadata used to generate the images shipped with this BSP, in
addition to the code contained in this BSP, can also be found at the
following locations:

git://git.yoctoproject.org/poky.git
git://git.yoctoproject.org/meta-xxxx
