[yocto] yocto-autobuilder: Questions on autobuilder setup

Bryan Evenson bevenson at melinkcorp.com
Thu Sep 5 06:53:06 PDT 2013


I am working on getting the Yocto Autobuilder setup on a machine to do nightly builds of my image (I'm using yocto-autobuilder/dylan).  However, I'm running into a few problems and I'm looking for some help.

First, here is the configuration that I have setup so far for my nightly build.  I would like to build core-image-minimal for qemuarm and for the at91sam9x5ek machine that is provided by the meta-atmel layer.

[nightly-atmel]
builders: 'builder1'
repos: [{'poky': 
            {'repourl':'git://git.yoctoproject.org/poky', 
	         'layerversion':{'core':'meta', 'yoctobsp':'meta-yocto-bsp'}, 
             'branch':'dylan'}}, 
        {'meta-atmel': 
            {'repourl':'git://github.com/evensonbryan/meta-atmel', 
             'branch':'master'}},
        {'meta-openembedded': 
            {'repourl':'git://git.openembedded.org/meta-openembedded', 
             'branch':'dylan'}}] 
steps: [{'SetDest':{}}, 
        {'CheckOutLayers': {}}, 
        {'RunPreamble': {}}, 
        {'GetDistroVersion' : {'distro': 'poky'}},
        {'CreateAutoConf': {'machine': 'qemuarm', 'SDKMACHINE' : 'i686', 'distro': 'poky', 'buildhistory' : True}},
        {'CreateBBLayersConf': {'buildprovider' : 'yocto'}},
        {'SyncPersistDB' : {'distro' : 'poky'}},
        {'BuildImages': {'images': 'core-image-minimal'}},
        {'RunSanityTests': {'images': 'core-image-minimal'}},
        {'CreateAutoConf': {'machine': 'at91sam9x5ek', 'SDKMACHINE' : 'i686', 'distro': 'poky'}},
        {'BuildImages': {'images': 'core-image-minimal'}},
        {'SyncPersistDB' : {'commit' : True, 'distro':'poky'}},
        {'PublishLayerTarballs':{}},
        {'PublishArtifacts': {'artifacts': ['qemuarm', 'at91sam9x5ek', 'ipk']}}]

I modified yoctoAB.conf to only include this build in its build sets.  Other than I have not modified any other configuration.

1. Besides the README files that comes with Autobuilder, is there any more documentation somewhere that details how to setup Autobuilder?  Most of the details I've seen on the Yocto Project website discuss the output from the Yocto Project's own Autobuilder instance, but not much for details on what the different variables in the .conf files mean and what the options are (and a place to contribute answers to the following questions).

2. The resulting local.conf for the nightly-atmel build has MACHINE set to "qemux86" (MACHINE ??= "qemux86" is the only MACHINE definition in local.conf).  I thought the CreateAutoConf settings should have been setting this variable to something else. What did I miss?

3. The resulting bblayer.conf for this build only includes meta, meta-yocto and meta-yocto-bsp.  I want to add the layers meta-atmel, meta-openembedded/meta-oe and meta-openembedded/meta-networking.  How do I get these layers added to bblayers.conf, and how do I set the order?

4. I am using poky/dylan-9.0.1 as a base, but I have a few patches that I applied myself.  Namely, there is a 10 patch series applied to poky/master by Chen Qi that I am using to remove tinylogin and use Busybox for password management.  How do I tell Autobuilder to apply these patches on top of poky/dylan-9.0.1?

5. I am getting the following errors when the autobuilder attempts to build qemu-native:
In file included from /media/sda3/yocto-autobuilder/yocto-slave/nightly-atmel/build/build/tmp/work/i686-linux/qemu-native/1.4.0-r0/qemu-1.4.0/linux-user/syscall.c:3705:0:
/media/sda3/yocto-autobuilder/yocto-slave/nightly-atmel/build/build/tmp/work/i686-linux/qemu-native/1.4.0-r0/qemu-1.4.0/linux-user/ioctls.h:189:1: error: 'SNDCTL_DSP_MAPINBUF' undeclared here (not in a function)
/media/sda3/yocto-autobuilder/yocto-slave/nightly-atmel/build/build/tmp/work/i686-linux/qemu-native/1.4.0-r0/qemu-1.4.0/linux-user/ioctls.h:190:1: error: 'SNDCTL_DSP_MAPOUTBUF' undeclared here (not in a function)
/media/sda3/yocto-autobuilder/yocto-slave/nightly-atmel/build/build/tmp/work/i686-linux/qemu-native/1.4.0-r0/qemu-1.4.0/linux-user/ioctls.h:245:1: error: 'SOUND_MIXER_ACCESS' undeclared here (not in a function)

I remember having similar issues when trying to setup Yocto ADT for my system and that I had to do "bitbake -c populate_sdk core-image-minimal" first.  Do I need to do something similar before building for qemuarm?  If so, how do I tell the Autobuilder to do it?

6. I have not included it yet, but I have my own layer for a few of my own applications.  We are using Subversion for our version control system, so my layer is stored in a Subversion repository.  After looking at yocto-autobuilder/lib/python-2.7/site-packages/autobuilder/buildsteps/CheckOutLayers.py, it looks like the Autobuilder requires all layers to be in a Git repository.  What would it take to add compatiblity for a layer residing in a Subversion repository?

Thanks in advance,
Bryan





More information about the yocto mailing list