arago project creating an open integration and distribution system william mills 2009-09-03
TRANSCRIPT
Arago ProjectCreating an Open Integration and Distribution System
William Mills
2009-09-03
http://www.arago-project.org
TI Information – Selective Disclosure
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
TI Information – Selective Disclosure
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
TI Information – Selective Disclosure
Arago usage
Arago
Public & OpenIntegration, Build &
Test
Kernel &Bootloader
DSP &Multimedia
Graphics
Connectivity ?
OpenEmbeddedComercial &
other CommunityDistributions
IndependentCustomers
Feedback
TI Information – Selective Disclosure
Linux landscape
Arago
Public & OpenIntegration, Build &
Test
TraditionalEmbedded
Linux
Android
NetBook &Desktop
SW Form Factor
- Mobiln Spec Compliance- Full Flash- Full Firefox- OpenGL via Mesa- Gtk/Qt over X- Pluggable Apps
- Flash Lite "OK"- Webkit / Fenic- GNOME Mobile- Gtk/Qt Embedded- OpenGL ES
- Small Form Factor- Pluggable Apps- May need Google buy-in on expanded scope
Ubuntu on ARM
Intel Moblin
COTs play
Montavista
RidgeRun
MPCData
Security Camera
Performance Audio
WindRiver
IP Phone
In-Dash
Settop box??
In-Dash / GENIVI ?
TI Information – Selective Disclosure
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
TI Information – Selective Disclosure
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
AragoRelease
TI Information – Selective Disclosure
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
Custom
BOM
OE
Arago
TI Information – Selective Disclosure
Package Support Classification• Core Key TI Content,
TI will address customer issues(Fixes in next versions)
• Extra Needed to demonstrate coreWill fix integration issuesWill not fix upstream issues
• Experimental Builds and some functionality OK May have issuesMay not be in later releaseInclude two sub classes:
pre-builtbuildable
• Unknown Everything else that is present in OENot built or tested in Arago
TI Information – Selective Disclosure
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 (?)
TI Information – Selective Disclosure
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
TI Information – Selective Disclosure
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
TI Information – Selective Disclosure
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
TI Information – Selective Disclosure
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