The AGL source code and Yocto layers are maintained on the AGL gerrit server. For information on how to create accounts for gerrit see Getting Started with AGL.
Build instructions for supported hardware platforms available at AGL documentation site.
AGL Uses the Repo tool for managing repositories. First you need to setup layers of AGL. You can use these commands.
Prepare Repo:
$ mkdir ~/bin $ export PATH=~/bin:$PATH $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
To download all code from master:
$ repo init -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo $ repo sync
To download all layers for the latest stable release and more see the release notes
$ repo init -b icefish [-m icefish_9.0.0.xml] -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo $ repo sync
To download all layers on the current release branch which may be in the midst of testing or changes prior to the next stable release:
$ repo init -b icefish -u https://gerrit.automotivelinux.org/gerrit/AGL/AGL-repo $ repo sync
Repo set up information, release notes, and more for previous stable versions of AGL
Set up the development environment for the desired target hardware. AGL has created a set up script for defining the target build and desired optional features. To get a complete list of the options available run.
$ source meta-agl/scripts/aglsetup.sh -h
Once you run aglsetup.sh with your desired paramaters, you can build any target desired. Some examples follow.
Here is the list of features for AGL that can be specified in the aglsetup.sh command line:
''CHECK OUT: source meta-agl/scripts/aglsetup.sh -h''
For newer features or to get more details on a given feature, take a look at the configuration files stored for each feature and/or each machine in meta-agl/templates and meta-agl-*/templates.
To build the QEMU version of the AGL demo start use machine “qemux86-64” and feature “agl-demo”
$ source meta-agl/scripts/aglsetup.sh -m qemux86-64 agl-demo agl-netboot $ bitbake agl-demo-platform
To get kernel source tree, you have to build kernel once, to do that, you can use these commands,
$ bitbake virtual/kernel
Then you can find kernel source tree at
ls build/tmp/work*/*/linux-yocto/*/linux/
or
ls build/tmp/work*/*/linux-*/*/git/
More detailed instructions are maintained in the README.md file located in meta-agl repository.
Here is a good manual for developing kernel code http://www.yoctoproject.org/docs/current/kernel-dev/kernel-dev.html
You can choose from 2 ways to add code to AGL kernel.
Follow the step by step instructions for building AGL for other supported targets: