Working with your Overlay FAQ
Basics / Workflow
What is a board? What is an overlay? What is an ebuild? What is a bsp?
Basic terms and concepts
How do I push changes that I made to my app to my developer device?
Use cros deploy
Packages
My app depends and uses a third party library. How do I tell the build system to do that?
First, check if the third party library is already available as a Gentoo package under src/third_party/portage-stable or src/third_party/chromiumos-overlay.
If yes, then just add the package name to the DEPEND (if build-time dependency) and/or RDEPEND (if run-time dependency) of your app's ebuild.
How do I add additional packages to my target <board>?
Add it as an RDEPEND to chromeos-base/chromeos-bsp/chromeos-bsp-<board>.ebuild in your overlay.
Example BSP that pulls in peerd and bash on the target.
Startup / Boot
How do I make my program/service automatically start on boot?
CrOS uses the upstart system to manage boot and service startup. Simply add an upstart job for your service and install it into /etc/init
Example upstart script: link
Should my upstart job depend upon boot-services or system-services?
system-services, unless your job in the critical boot path (e.g. network driver setup), in which case boot-services is appropriate.
The following resource goes into more detail: