Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Open Source in Every Car with Automo6ve Grade Linux
LinuxCon North America 2016 Walt Miner ( @VStarWalt ) Community Manager, AGL , The Linx FoundaEon
Introduc6on to Automo6ve Grade Linux
Or “AGL is changing the way automoEve manufacturers build and manage soMware”
Slide 3
Collaborating to build the car of the
future through rapid innovation http://AutomotiveLinux.org
4
Automotive Grade Linux
“If Linux is in the car, we want it all to be based on AGL, no matter what the function.”
Dan Cauchy, Linux Foundation, Automotive Linux Summit 2015
AGL is the only organizaEon that plans to address IVI, instrument cluster, telemaEcs, HUD, control systems, ADAS.
Slide 5
AGL is changing the future of driving
Slide 7
AGL has 8 major OEM supporters
Slide 8
AGL Members -‐ Total of 76 companies!
AGL is changing the industry • We are crea:ng a new so=ware development methodology for automo:ve using open source
• We are changing the way automo:ve manufacturers build, manage, and treat so=ware
• We are building an AGL ecosystem and supply chain, all using the same code base
• AGL will change: • The way consumers interact with the vehicle • The way vehicles interact with other vehicles • The way vehicles interact with the cloud
Slide 9
Open, Time to Market, Ecosystem
Slide 11
Open
Time to Market
Ecosystem
AGL Values
Standardized open opera6ng system and applica6on framework • Not under the control of any one company • Developed collabora:vely between many companies • Sharing development work of the common bits
AGL decreases 6me to market and provide func:onality similar to the smart phone • Shorter deployment cycles • Frequent so=ware updates
Enabling an ecosystem of “AGL Ready” suppliers • Hardware, so=ware, UI, applica:ons • Enable a global app developer ecosystem
AGL vs GENIVI -‐ Code First vs BYOP • We are different, but we are not enemies • AGL and GENIVI are collabora:ng on so=ware components where
appropriate • AGL is addressing all func:ons in the vehicle, not just IVI • AGL is “Code First”
• Building a complete distro, middleware, app framework • OEMs and suppliers use the same so=ware base as star:ng point for
produc:on programs • We are organized and run like a standard open source project
• GENIVI is “Bring Your Own Pla^orm” • Mul:ple suppliers can be compliant to GENIVI Specifica:on • Different star:ng points • More op:ons in the marketplace, but less interoperability and reuse
Slide 12
AGL Roadmap
Slide 13
AGL Distro “Unified Code Base” • First Release announced at CES
Las Vegas in January • Unifying the best of AGL, Tizen
IVI and GENIVI into a single code base for the enCre industry!
• Reduce fragmentaCon, focus on innovaCon and new features!
• Yocto/Poky based with AGL specific layers
Slide 14
AGL
Tizen IVI
GENIVI
AGL UCB
CES AGL Demo Video • We posted a video of the
CES AGL UCB Demo online: • haps://www.automo:velinux.org/news/
news/2016/01/agl-‐shows-‐demo-‐ces-‐2016
• ALS Video Coming Soon!
Slide 15
ALS AGL Demos
Slide 16
• Demo video to be posted • Renesas, TI, NXP boards demonstrated • Surprising number of Apps built on top AGL distro
Thanks for all the fish… • AGL Releases:
AA – Agile Albacore – Jan 2016 BB – Brilliant Blowfish – July 2016 CC – Charming Chinook – Jan 2017 DD – Daring Dab – July 2017
Slide 17
Brilliant Blowfish • Released July 15, 2016 • Upgrade to Yocto 2.0 • Addi:onal BSPs • IVI Audio Manager • IVI Layer Manager • Automated Test Improvements
Slide 18
Brilliant Blowfish • Reference BSPs – Fully supported by manufacturer, CI, etc.
ü Renesas R-‐Car 2 -‐ Porter board – Full ALS demo ü QEMU – demo code available – not shown at ALS
• Community BSP – Best effort by AGL with minimal support ² NXP – i.MX6 – SABRE – ALS demo available ü NXP -‐ i.MX6x – Wandboard – issues with graphics drivers ü Intel -‐ Minnowboard Max -‐ demo code available – not shown at ALS
ü TI -‐ Jacinto 6 -‐ Vayu board – ALS demo available ² QCOM – Dragonboard 610-‐c – no demo available ² Raspberry PI – no demo available
Slide 19
Reference or Community BSP? • Reference board
• BSP available as part of AGL Core Distribu:on • BSP maintained by board manufacturer • Documenta:on and Kick-‐start guide available for downloading and building
code and running the AGL demo code. • SDK Released and maintained • Manufacturer provides at least two boards for AGL Con:nuous Integra:on
and Automated Test (CIAT) infrastructure • Con:nuous Integra:on
• Daily snapshot builds available from AGL Jenkins • Test and QA
• Sponsoring company sets up test nodes in Lava • Full AGL CIAT test suite is run • Test results reported. • Expect >90% pass
Slide 20
Reference or Community BSP? • Community board
• Hobbyist boards that are not automo:ve specific • Older automo:ve specific boards that are no longer sponsored / maintained by the manufacturer
• Best effort by the community • AGL will have “featured” community BSP(s) as proposed by the community and designated by the SAT
• See haps://wiki.automo:velinux.org/agl-‐distro#supported_hardware for list of boards
Slide 21
Charming Chinook • Target January 7, 2017 • Yocto 2.1 • SDK available • Reference AGL Apps • AGL Compositor • AGL Home Screen Reference App in Qt and HTLM5 • Device Profiles for Telema:cs, IC, ADAS • IP Network Manager with WiFi and LTE • Smart Device Link (defer to DD or later) • Linux Security Module (SMACK was added in BB as part of App FW)
Slide 24
Charming Chinook • Carry over from BB • Finish IVI Layer Manager • AGL Audio Manager Plug-‐ins • AGL Security Spec • Requirements Spec 2.0
Slide 25
Charming Chinook • So=ware Development Kit • Available for reference boards with published images that include graphics drivers
• Enables rapid AGL applica:on development ( download SDK and write “Hello World” in less than 1 hour)
• Support for Qt and HTML5 • IDE with debugging supported (op:onal for CC) • Documenta:on
Slide 27
CODE STRUCTURE
Slide 29
So=ware Configura:on Requirements
Slide 30
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork
Readily determine the required contents of the AGL distribu:on for product developers
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on AG
L Test Framew
ork AGL Community Development
AGL Core Distribu:on
Slide 31
Addi:onal AGL Code and Tooling
Yocto Release
AGL Reference BSPs
• Stable Yocto release • Reference BSPs fully supported by the
board manufacturer or chip vendor • Documenta:on and tooling for building
and deploying reference BSPs • Tooling to allow selec:on of op:onal
features in the core build • Test results provided using AGL Test
Framework • Fully supported with updates for at
least 6 months • Defined by Yocto layer – meta-‐agl
So=ware Configura:on Requirements
Slide 32
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork Provide a mechanism for enabling op:onal
and/or experimental features
AGL Extra Features
Slide 33
• Builds on AGL Core Distribu:on • Features are fully tested and supported
as part of AGL release • AGL environment set up provides extra
features that may be enabled by device creators
• Device profiles (e.g., Telema:cs, ADAS) will be provided in AGL Extra Features
• Yocto layer – meta-‐agl-‐extra
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork
AGL Community Development
Slide 34
• Place for developing code that may eventually make it into AGL Core or Extra Features
• Snap shot builds for experimental features to facilitate collabora:on
• Community BSPs without official support
• Snap shot builds may be provided for Community BSPs
• No formal QA – basically whatever the community can provide
• Defined by Yocto layer – meta-‐agl-‐devel
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork
Community BSPs
AGL Development Contribu:ons
So=ware Configura:on Requirements
Slide 35
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork
Environment for demonstrator and new feature development
AGL Demonstrator Code
Slide 36
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork
• Code developed to demonstrate specific features and/or releases of AGL
• CES 2016 • Automo:ve Linux Summit 2016 • Intended for “one shot” development • Provided “as-‐is” • Yocto layer – meta-‐agl-‐demo
Release Management
Slide 38
• Twice per year release of AGL Distribu:on includes
• AGL Core Distribu:on and Extra Features • All code and tooling with test results • Full test results for reference BSPs • As-‐Is demo code, Community Developed
features, and BSPs • Support biannual releases with code fixes for
six months • Long term support (2+ years) for selected
releases • Daily snapshot builds for specific
configura:ons • Pre-‐release candidates to allow developer
collabora:on and coordinated tes:ng
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork
AGL Yocto Layers
Slide 39
meta-‐agl -‐ meta-‐agl -‐ meta-‐agl-‐bsp -‐ meta-‐ivi-‐common -‐ meta-‐agl-‐security
meta-‐agl-‐extra • meta-‐iot-‐appfw • meta-‐qt5
meta-‐agl-‐demo
-‐ meta-‐poky -‐ meta-‐oe -‐ meta-‐<BSP>
meta-‐agl-‐devel • meta-‐agl-‐sota • meta-‐<BSP>
AGL Extra Features
AGL Demonstrator Code
AGL Core Distribu:on
AGL Community Development
AGL Test Framew
ork
Get The Code • Pre-‐built binaries and source tar balls available
• haps://www.automo:velinux.org/so=ware/download
• Latest Source Code and Build Instruc:ons • haps://wiki.automo:velinux.org/agl-‐distro/source-‐code
Slide 40
Build Op:ons • Once you have the repos set up use
$ source meta-‐agl/scripts/aglsetup.sh –h • To determine available boards and build op:ons • Example – Build QEMU AGL Demo $ source meta-‐agl/scripts/aglsetup.sh -‐m qemux86-‐64 agl-‐demo agl-‐netboot agl-‐appfw-‐smack $ bitbake agl-‐demo-‐pla^orm
Slide 41
Summary Source Loca6on
Layer QA Performed
Release Support Daily Build and CI Builds
Staging (or remote)
Meta-‐agl-‐demo N N Y
Staging (or remote)
Meta-‐agl-‐devel N N Y
Src (or remote) Meta-‐agl-‐extra Y Y Y
Src (or remote) Meta-‐agl Y Y Y
Slide 42
• Examples • ALS and CES Demo apps belong in meta-‐agl-‐demo • Meta-‐agl-‐sota belongs in meta-‐agl-‐devel • Meta-‐iot-‐appfw belongs in meta-‐agl-‐extra
GeNng Involved with AGL
Slide 43
Gezng Involved • AGL Wiki
• haps://wiki.automo:velinux.org/ • Single sign-‐on for AGL sites including Jira, git, gerrit, DOORS NG, and the AGL Wiki • Uses LF Iden:ty
• Mail list for technical discussions • haps://lists.linuxfounda:on.org/mailman/lis:nfo/automo:ve-‐discussions
• IRC for technical discussions • #automo:ve on freenode.net
Slide 45
AGL mailing list subscriber growth
Slide 46
automo:ve-‐discussions automo:ve-‐sc automo:ve-‐sat Subs end of 2014 222 126 40
Subs end of 2015 466 203 71
222
126
40
466
203
71
0
50
100
150
200
250
300
350
400
450
500
Num
ber o
f Sub
scrib
ers
AGL Mailing List Subscriber Growth – 2014 vs 2015
+110%
+61%
+78%
AGL mailing list subscriber growth
Slide 47
automo:ve-‐discussions automo:ve-‐sc automo:ve-‐sat Subs end of 2014 222 126 40
Subs end of 2015 466 203 71
222
126
40
466
203
71
0
50
100
150
200
250
300
350
400
450
500
Num
ber o
f Sub
scrib
ers
AGL Mailing List Subscriber Growth – 2014 vs 2015
+110%
+61%
+78%
579 Subscribers Today!
AGL mailing list traffic growth
Slide 48
** No surprise: we made a conscious decision to move technical discussions to the public “automo:ve-‐discussions” – open is always beaer! Total 1635 vs 632 posts, overall 159% growth in traffic year-‐over-‐year. Average 3 posts per day in 2015 versus 1.7 in 2014.
automo:ve-‐discussions automo:ve-‐sc automo:ve-‐sat Posts 2014 81 454 97
Posts 2015 1169 248 218
81
454
97
1169
248 218
0
200
400
600
800
1000
1200
1400
Num
ber o
f posts
AGL Mailing List Traffic – 2014 vs 2015
We moved discussions to the public list. Great results!
+1343%
-‐45%**
+125%
AGL mailing list traffic growth
Slide 49
** No surprise: we made a conscious decision to move technical discussions to the public “automo:ve-‐discussions” – open is always beaer! Total 1635 vs 632 posts, overall 159% growth in traffic year-‐over-‐year. Average 3 posts per day in 2015 versus 1.7 in 2014.
automo:ve-‐discussions automo:ve-‐sc automo:ve-‐sat Posts 2014 81 454 97
Posts 2015 1169 248 218
81
454
97
1169
248 218
0
200
400
600
800
1000
1200
1400
Num
ber o
f posts
AGL Mailing List Traffic – 2014 vs 2015
We moved discussions to the public list. Great results!
+1343%
-‐45%**
+125%
Traffic Doubles in 2016
Gezng Involved • Most subsystems in need of developers and maintainers par:cularly user space
• Applica:on developers needed • Weekly developer calls on Tuesdays at 13:00 UTC
• Info at haps://wiki.automo:velinux.org/dev-‐call-‐info
• Check Jira for open issues and tasks that need to be done • haps://jira.automo:velinux.org/
Slide 50
Contribu:on Process • Code development process is documented
• haps://wiki.automo:velinux.org/agl-‐distro/contribu:ng
• Process con:nues to evolve as we mature
Slide 51
Git and Gerrit • AGL uses git for version control and gerrit for code reviews
• Code and patch submissions are via gerrit and use the gerrit review and merge process
• These can be found at • haps://gerrit.automo:velinux.org • haps://git.automo:velinux.org
Slide 52
Git and Gerrit • The AGL gerrit setup is divided into three main repository
groups • AGL -‐ contains the recipes for building the AGL distribu:on • src -‐ contains source code repositories where AGL is the upstream. This code is officially part of the AGL distribu:on
• staging -‐ contains source code repositories where AGL developers can work on new features or components that can eventually be included in the AGL distribu:on
• Complete descrip:ons and links to gerrit can be found at haps://wiki.automo:velinux.org/agl-‐distro/contribu:ng
Slide 53
Con:nuous Integra:on • Using Jenkins for Con:nuous Integra:on • Patches
• All changes submiaed to gerrit are built immediately by Jenkins.
• Successful build gives +1 to new code in Gerrit • Build failure -‐1 in gerrit
• Daily Snapshot builds • Available for reference BSPs • May add community BSPs later this year • haps://download.automo:velinux.org/AGL/snapshots/master/
Slide 54
Automated Test • Fuego (LTSI Jenkins Test Automa:on) being integrated into process
• More informa:on • haps://wiki.automo:velinux.org/agl-‐tes^ramework
Slide 55
AGL Expert Groups
Or “You don’t have to be an expert to work in an Expert Group”
Slide 56
Team Overview • System Architecture Team and Expert Groups working on new feature requirements and architecture
• Component teams own so=ware not specifically assigned to an EG • Common Libraries and OS • Kernel and Device Drivers
• Each team has a dedicated wiki page • Link to roadmap and project backlog from wiki
Slide 57
App Framework and Security EG • ApplicaCon lifecycle (install, run, remove, applicaCons) • SDK and applicaCon developer experience both in security and APIs
• Security framework (SELinux, SMACK, AppArmor, etc.), policies, and strategy for the distribuCon
• Network and vehicle firewalls in conjunc:on with the Connec:vity EG
• So=ware Update and secure update • Diagnos:c log and trace • Secure boot
Slide 58
haps://wiki.automo:velinux.org/eg-‐app-‐fw
UI and Graphics EG • AGL Compositor, Layer Manager, and GPU interface
• MulCmedia video manager (including mulC-‐display and display sharing) and audio manager, and media manager/player.
• Browser Engine • Speech Recogni:on • Naviga:on
Slide 59
haps://wiki.automo:velinux.org/eg-‐ui-‐graphics
Connec:vity EG • Vehicle ConnecCvity (CAN, MOST, LIN, AMB) • Network and vehicle firewalls • Cloud Connec:vity (Io:vity) • Connected Car • Bluetooth, Wifi, NFC • Smart Device Link (SDL) • Remote Vehicle Interac:ons (RVI)
Slide 60
haps://wiki.automo:velinux.org/eg-‐connec:vity
CI and Automated Test EG • Build and smoke test of Gerrit submissions on all hardware
• Daily snapshot build and tesCng • Device tests on real hardware • Test environments such as JTA and Lava • Test suites such as LTP • UI tes:ng (OpenQA)
Slide 61
haps://wiki.automo:velinux.org/eg-‐ciat
Q&A
Tweet quesEons to @VStarWalt
Slide 62
THANK YOU