I'm relatively new to OpenEmbedded. Some might even consider me an OpenEmbedded N00B. I beg to differ. Here I offer three steps to moving from OpenEmbedded N00B to OpenEmbedded... uh... ex-N00B? Regardless of what you call it, if you're interested in getting involved in C development on the BUG or just learning more about embedded Linux development using OpenEmbedded, I suggest the following these three steps:
1. Set up your build environment, and build kernel and rootfs images.
In the Developer's Section of our documentation and resources wiki, we have a good tutorial for setting up your BUG Linux build environment. Since BUG Linux, based on Poky, is an off-shoot of OpenEmbedded, there are other non-BUG-specific tutorials out there that are very useful. I found this one, on installing OpenEmbedded on the Beagleboard, especially useful. And then there's the Getting Started Guide direct from OpenEmbedded.
2. Port existing software over to the BUG.
Using your new OpenEmbedded-based BUG build environment, you should be able to build and install new packages to BUG. Finsprings has posted a good HowTo on this.
3. Create your own package and install it on the BUG.
Once you have the OpenEmbedded tools figured out, you're ready to create your own packages. Gumstix has a good "Hello World" bitbake tutorial that's perfect for the N00B.
* Creative Commons image from Flickr by archibald jude, found here: http://www.flickr.com/photos/archibaldjude/32157521/