On 7 March 2012 23:47, Ken Werner <ken.wer...@linaro.org> wrote:
> On 03/06/2012 01:26 AM, Michael Hope wrote:
>>
>> Hi Ken.  In follow up to our 1-on-1 yesterday, here's what I'd like done
>> next.
>>
>> The goal is to use OE Core as a release test suite.  The releases are
>> tarballs so we can keep the current recipe format and punt bzr support
>> for later.  The first step is to be able to reliably build a release
>> in the cloud or validation lab.
>>
>> In all cases keep the other teams in mind.  Much of this is related to
>> Validation.  Platform will be involved later.  Ping them early.
>>
>> Kernel:
>> We're starting with GCC and need a kernel to supply headers and to
>> boot some type of ARMv7 image.  I don't want a linux-linaro recipe as
>> people will use it and it's too early for that.
>>
>> Find a kernel, preferably from OE Core, that is recent, ARMv7,>= 512
>> MB RAM, and works well with qemu-linaro.  Prefer vexpress-a9, else
>> OMAP?
>
>
> Done. I've updated the meta-linaro layer to (re-)use the default OE-Core
> kernel sources - a yocto kernel - that gets built using a vexpress
> defconfig.
>
>
>> Talking:
>> Say Hi to Validation re: EC2 and plans
>> Say Hi to the ARM landing team re: vexpress upstream support
>> Say Hi to Beth Flanagan re: Yocto's existing auto builders and any hints
>
>
> Yep, it looks like there are several options:
>  a) the Yocto autobuilder
>  b) Jenkins
>  c) LAVA
>  d) something homegrown
>
> I talked to fabo and zyga and agreed that - as a starting point - I'll
> provide a shell script that automates the process and we'll go from there.
> I've made contact with Elizabeth and briefly looked into the yocto
> autobuilder whis is based on buildbot. Obviously it's meant for regression
> testing the various yocto images. I think we want to keep
> oe-core+linaro-meta stable and exchange the toolchain which is kind of the
> other way round what they are doing. But I'll keep an eye on it.

(a) buildbot and (b) jenkins are both continuous integration tools.
I guess that the main difference is roughly the infrastructure used
(Yocto or Linaro).

LAVA is a testing framework. It doesn't build anything, it runs tests
and generate reports/results.
It can be extended (like all the tools mentioned) to meet your
requirements but it has a cost (resources/time).

>> Cloud builds:
>> Find out who is already doing OE builds in the cloud and how
>> Run a build locally and time
>> Push ~/downloads into the cloud, build, and time[1]
>> Figure how much this build will cost in dollars
>>
>> [1] c1.xlarge might be best.  Builds are normally I/O bound and the
>> cloud is I/O poor.  Put /tmp and other chunks in a tmpfs?  EC2 rounds
>> up to the nearest hour as well.
>>
>> If the cloud is too expensive then we'll get a machine installed.
>>
>> S3 for storage:
>> (only proceed if affordable)
>> Use S3 for storing the input tarballs
>> Use S3 either as a pre-mirror by serving over HTTP, or use s3cmd to
>> sync down the tarballs before starting the build
>
>
> Just to give you an overview. The build of the sato and qt4e images takes
> about two hours my machine (24x "E5649  @ 2.53GHz" with 32gb of RAM) and
> creates about 37GiB of object files, binaries, packages and images. This is
> excluding the size of the sources (and the time for fetching them in case
> they are not there). I haven't spent time on optimizing my build environment
> (tmpfs etc), so I guess there is room for improvement. I cannot even say
> whether it's I/O or CPU bound. Sometimes it appears to be the latter - when
> building Qt for example. But sometimes only one CPU gets used and it's
> waiting for a source being unpacked that other tasks depend on.
>
>
>> Scripting:
>> Re-use existing scripts if feasible.  Integrate with LAVA providing we
>> can run exactly the same scripts on a laptop for debugging.
>>
>> Script the bitbake, OE meta layer, and Linaro meta layer setup.
>> Script the configuration including setting the release tarball URL and
>> GCC preferred version.
>> Script the build and result capture, especially the log, any ICEs, and
>> the final sizes
>>
>> Future:
>> OE can grab a repository seed then update based on that.  Check if the
>> bzr backend supports this.  If so, play with seeding to do tip builds.
>
>
> Yeah, this is definitely useful for testing tip. I'd like to start with
> something smaller than the GCC though. For example the Linaro GDB or QEMU
> would be good. I hope these are the low hanging fruits, so I'll begin with
> them if I can squeeze some time in.
>
>
>> Let me know what you think then we'll spawn blueprints.  Let's keep an
>> eye on this as it's sounding expensive.
>>
>> -- Michael
>
>
> Regards,
> Ken
>
>
> _______________________________________________
> linaro-toolchain mailing list
> linaro-toolchain@lists.linaro.org
> http://lists.linaro.org/mailman/listinfo/linaro-toolchain



-- 
Fathi Boudra
Linaro Release Manager | Validation Project Manager
Linaro.org | Open source software for ARM SoCs

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to