diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 113 |
1 files changed, 7 insertions, 106 deletions
@@ -1,111 +1,12 @@ -Setting up a Yocto Autobuilder Build Cluster -============================================ +This is the repository for the Yocto Autobuilder with buildbot 'eight'. This is deprecated +and no longer supported. -Most autobuilder setups are individual to the circumstances of the -user. This document outlines some of the configuration options/files, -autobuilder setup gotchas and general autobuilder best practices. +Please use: -Setup to run headless sanity tests -=================================== +http://git.yoctoproject.org/cgit/cgit.cgi/yocto-autobuilder2/ -If you plan on using the yocto autobuilder to run sanity testing, -you will need to: +in conjunction with: -1. Install tight-vnc client and server. +http://git.yoctoproject.org/cgit/cgit.cgi/yocto-autobuilder-helper/ -2. Set up tap devs by running poky/scripts/runqemu-gen-tapdevs. - You MUST disable interface control on these new tap interfaces; - some services include NetworkManager, connman, or wicd. - -3. Add "xterm*vt100*geometry: 80x50+10+10" to .Xdefaults - -4. Setup and start vnc session as the autobuilder user. - -5. You MUST manually connect to the vnc session at least once prior to - running a qemu sanity test (Something is getting set during the initial - connection that I haven't figured out yet. Manually connecting seems to - set up the session correctly.) - -Adding additional build workers -=============================== - -The production yocto autobuilder uses a cluster of build workers, all -sharing the same SSTATE_DIR and DL_DIR via an NFS4 mounted NAS. The main -nightly trigger prepopulates the DL_DIR, allowing the workers to not have -to deal with a lot of downloading. In theory you could also run your build -workers with NO_NETWORK to enforce a single point of populating DL_DIR. - -Running multiple build workers is fairly simple, but does require some setup: - -a. Ensure the settings in autobuilder.conf are valid for each buildworker, - As certain variables are set within this file that are work with the - local configuruation on each builder. - -b. Within yocto-controller/controller.cfg add your worker to the - c['workers'] list inside of the BUILDWORKERS section - -c. For each build worker change the WORKER SETTINGS section of - yocto-worker/buildbot.tac to match the settings in controller.cfg. - -d. Workers must reside in the same path as the controller, even if they are - on completely different machines. - -Triggered Builds -================ - -There is a limitation to using the TriggerBuilds build step. The builder using -it needs to know several properties of the builds to be triggered. To get these -properties, repos information of the builds to be triggered must be added to the -builder, and a CheckOutLayers build step must be called some time before the -TriggerBuilds call. - -Setting up build history -======================== - -Build History is used to track changes to packages and images. By default -the autobuilder does not collect build history. The production autobuilder -does have this functionality enabled. - -Setting up build history requires the following steps: - -1. Create an empty git repo. Make a single commit to it and the create and - push branches for each of the nightly core architectures (ie. mips, ppc, - x86...) - -2. Find a central location to create a clone for this. This works best if - you have a set up similar to the production autobuilder (NAS with many - builders) - -3. Run the following: - - # This is an example of how to set up a local build history checkout. Paths - # obviously are situation dependant. - mkdir /nas/buildhistory - cd /nas/buildhistory - git clone ssh://git@git.myproject.org/buildhistory - git clone ssh://git@git.myproject.org/buildhistory nightly-arm - git clone ssh://git@git.myproject.org/buildhistory nightly-x86 - git clone ssh://git@git.myproject.org/buildhistory nightly-x86-64 - git clone ssh://git@git.myproject.org/buildhistory nightly-ppc - git clone ssh://git@git.myproject.org/buildhistory nightly-mips - for x in `ls|grep nightly` do cd $x; git checkout $x; cd /nas/buildhistory; done - -4. Within the autobuilder.conf of EACH slave change the following: - - BUILD_HISTORY_COLLECT = True - BUILD_HISTORY_DIR = "/nas/buildhistory" - BUILD_HISTORY_REPO = "ssh://git@git.myproject.org/buildhistory" - -Files used for Yocto-Autobuilder Configuration -============================================== - -Name: config/autobuilder.conf -Purpose: -This file is used to set autobuilder wide parameters, like where various build -artifacts are published to, DL_DIR, SSTATE_DIR or if build artifacts should be -published (needed for production autobuilders, not needed for desktop builders) - -Name: buildset-config/yoctoAB.conf -Purpose: -This is the main yocto autobuilder config. Documentation for this and associated -format is in README-NEW-AUTOBUILDER +which is for buildbot 'nine' and is actively developed/maintained. |