160 likes | 337 Views
http://www.arago-project.org. Arago Project Creating an Open Integration and Distribution System. William Mills 2009-09-03. Arago project. Open build, integration, test and delivery platform for embedded Linux on OMAP™ and DaVinci™ processors
E N D
http://www.arago-project.org Arago ProjectCreating an Open Integration and Distribution System William Mills 2009-09-03
Arago project • Open build, integration, test and delivery platform for embedded Linux on OMAP™ and DaVinci™ processors • Open build: See how we built for our tests and distribution • Open integration: Allow visibility to incremental progress, not just big band releases • Open test: See how we tested, run your own regression test after your changes • Standards based & community friendly • Uses OpenEmbedded as a base • Beagleboard.org community also uses OE • Some commercial Linux vendors using or planning to use OE • Mentor Graphics (formerly Embedded Alley) • MontaVista Linux 6 • RidgeRun helped start Arago project • Pre-cooked with a Public “Recipe” • Good starting point as it is pre-tested • Expandable and/or customizable
Arago goals • Allow TI to build and test the Linux distribution that will be delivered to customers • Allow customers to use the pre-built distribution or to rebuild it from scratch the same way we have done • Allow customers to run many of the same tests we run • Allow customers to extend and customize the distribution to create their end product • Allow customers and community members to contribute to the distribution and test assets • Allow TI to practice continuous integration of all delivered software for the platform • Allow customers to choose their methods of engagement: either official releases only or early access to the evolving baseline
Arago status • Not really ready for public use • Building process is publicly visible (http://arago-project.org/) • Currently being used for • Building filesystem image for OMAP35x PSP and DVSDK • Building PSP release for DM355 and soon DM365 • Supporting trial customers for custom DVSDK work • Will continue to be used to create existing PSP & DVSDKs as a proving ground
Customer Deliverables • Images • Full filesystem images that can be used to load the EVM • Customer need not know about Arago • Pre-built Packages • Can be added or deleted to filesystem at runtime • SDK • Contains libraries, API header files, XDC metadata • Used as building block for customer to build application without using Arago • Rebuildable • Contains Arago infrastructure and recipes for components • Copy of all downloaded source Arago Release
Implementation Layers • BOM (Bill of Material) • Master layer: specifies all other layers • Also specifies versions of components for a release/platform • Multiple BOM version and stream exist • Examples: Latest baseline, stable release • Custom • Customers/TI groups can override lower layer configuration and add their components • For example, a customer can point to their own version of a component to build the application • Include examples for custom file system image, custom board, etc. • Arago • Bitbake recipes specific to Arago • Package support classes • Arago stock images • OE (Open Embedded) • Snapshot of OE recipies BOM Custom Arago OE
Package Support Classification • Core Key TI Content, TI will address customer issues (Fixes in next versions) • Extra Needed to demonstrate core Will fix integration issues Will not fix upstream issues • Experimental Builds and some functionality OK May have issues May not be in later release Include two sub classes:pre-built buildable • Unknown Everything else that is present in OE Not built or tested in Arago
Arago roadmap • End of Year (Goal) • Ready for broader use • Will include current PSP and DVSDK release functionality • Will have some automated regression testing in place • Will have much increased ease of use • Description of user installable test frame • 2010: • Expand scope of user space • Continuous expansion of automated testing • Expansion of user space packages • Additional usability improvements • Support development for individual packages • Stop releasing existing PSP & DVSDK (?)
Consumer View: Releases • Have Quarterly Arago platform releases • Released as tarballs or iso via TI software downloads • Completely reproducible using public resources • Arago & other version control archives • TI software downloads for items w/o public VC • One release for all platforms • Best support available for each platform • New platforms may only have “PSP” functionality or even PSP alpha functionality • Best testing we can offer • Manual and Automated testing done • Red / Yellow / Green status reports • Per package for each board • Per kernel feature for each board (like wiki today) • Per Codec or Media type profile for each board (like GStreamer today • Performance reports
Consumer View: Baseline • Each Week the current Baseline is rebuilt • All content for a release is created • Packages, images, documents, automated performance and functionality reports • Manual testing is not done weekly (***) • Customers that need more recent fixes can use these baseline snapshots. • One of these weekly baselines will be promoted as the quarterly release • Baseline updates may get more conservative and/or more frequent as the release gets near • No “extra work” done to release. • Release testing should start N (4?) weeks before target date *** Spot checking of Manual test may be needed periodically to avoid finding latent bugs at quarterly release time
Developer / Integrator View • Need to expand to continuous integration platform • Need nightly builds of • Baseline-next • All components purposed for next baseline • Progressive • “Internal team” version of each component • Look for breaks ahead of time • This should break often or we are probably not being aggressive enough • Component builds • For each component • Baseline + progressive of focused component
Functional Areas • Infrastructure • OE packages, Arago build & customizations • Host tools and toolchain • Core • Kernel, u-boot, low-level boot code • Link, CE, DMAI, GStreamer • 3D accelerator libraries • WiLink Drivers • Extra • Base file system • DirectFB, X11, • Experimental • Gtk+/X, Qt/X, Qt/Embed, Xfce Desktop