I followed the very helpful instructions on Sergei's blog and finally got a compiled version of Poky. Unfortunately, it seems exactly the same as what is available in the SD card Linux download on the Intel site. I was hoping to add development tools to it. I did some reading of the Yocto Quickstart documents, but didn't find anything about modifying the image it creates. Any quick pointers about how to add things to the distro like the gcc tool chain or an updated kernel would be appreciated. I see that all that the full gcc tool chain was compiled for the host platform, but for the target.
In doing the compile I learned some things that I thought I would pass along.
I was unable to get the build to work on Centos 5.7 or 5.10. It seems that the version of Python (2.4.x) is too old and the build failed very early. As I recall, it failed in generating the build environment. The list of supported distributions on the Yocto site indicates that these should work, but the wiki, which I found later, said that they don't. Anyway, I already had a VM with this installed so trying it wasn't very painful.
I was unable to get the build to work on Fedora 20. There was an error building guile that I could not figure out. I probably should have run bitbake with the Debug switch.
The build worked using Centos 6.5. I used the min install iso and added the packages indicated in the Yocto Quickstart Guide.
The build takes lots of disk space. Since I am running Linux on a Mac under Parallels running on an SSD my space is a bit constrained. In the Yocto quickstart it mentions adding:
INHERIT += "rm_work"
to the conf/local.conf file (under the yocto_build subdirectory). I did this and it substantiall reduced the disk space from over 15 GB to about 4 GB.
Not surpisingly, increasing the number of CPUs available for the build in the VM speed the compile up quite a bit.
The build failed when the VM had 1 GB of memory but succeeded with 2 GB. In all cases I was running a pretty bare-bones version of Linux with no GUI running and accessing it via ssh over a virtual network. So, I think most of the memory was being used by the build. I used the default number of threads (12), so perhaps reducing that would have used less memory.