+ All Categories
Home > Documents > Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run...

Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run...

Date post: 21-Jul-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
38
PA1 10/23/2014 1 Confidential Status of Embedded Linux Status of Embedded Linux December 2014 Tim Bird Architecture Group Chair LF CE Workgroup 1
Transcript
Page 1: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 1 Confidential

Status of Embedded Linux

Status of Embedded Linux

December 2014

Tim Bird

Architecture Group Chair

LF CE Workgroup 1

Page 2: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 2 Confidential

Outline

Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Resources

2

Page 3: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 3 Confidential

Outline

Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Resources

3

Page 4: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 4 Confidential

Kernel Versions

• Linux v3.13 – 19 Jan 2014 – 77 days

• Linux v3.14 – 30 Mar 2014 – 70 days

• Linux v3.15 – 8 Jun 2014 – 70 days

• Linux v3.16 – 3 Aug 2014 – 57 days

• Linux v3.17 – 5 Oct 2014 – 63 days

• Linux v3.18 – 7 Dec 2014 – 63 days

• Linux v3-19 (in merge window, no RC yet)

4

Page 5: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 5 Confidential

Linux v3.16

• Power-aware scheduling

• decode_stacktrace.sh • Converts offsets in a stack trace to filenames

and line numbers

• F2FS large volume support

Page 6: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 6 Confidential

Linux v3.17

• Lots of ARM hardware support • Newly enabled ARM hardware

• Rockchip RK3288 SoC

• Allwinner A23 SoC

• Allwinner A31 Hummingbird

• Tegra30 Apalis board support

• Gumstix Pepper AM335x

• AM437x TI evaluation board

• Other ARM boards with existing support also saw improvements with Linux 3.17

• Rework of "config-bisect" mode in ktest

Page 7: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 7 Confidential

Linux v3.18

• OverlayFS introduced

• Support for madvise() and fadvise() can be configured out (tinification patch)

• More LLVM support

• New SOC support: • Hisilicon HiP04

• Amlogic Meson6 (8726MX)

• Renesas R-Car E2 (R8A77940)

• Broadcom BCM63xx DSL

• Atmel SAMA5D4

Page 8: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 8 Confidential

Linux v3.19

• F2FS now has a "fastboot" option

• Device tree overlay support • Useful for boards that have daughterboards

(e.g. capes or shields) that need DTS changes at boot time.

• See http://lwn.net/Articles/616859/

• squashfs supports LZ4 compression

• Android "binder" code has been moved from the staging tree

Page 9: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 9 Confidential

Things to watch

• Android patches in staging • More about this later…

• Kdbus

• Kernel tinification!

• Systemd in embedded

9

Page 10: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 10 Confidential

Kernel notes

• Contributions by different companies

Author email domain commits Commiters

(since 3.4)

Sony[me] 43 14

Lge.com 583 11

Huawei 1141 65

Qualcomm|Codeaurora 2249 89

Moto 2559 15

Samsung 8672 151

Intel 32177 438

Page 11: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 11 Confidential

Outline

Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Resources

11

Page 12: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 12 Confidential

Bootup Time

• F2FS filesystem has a new "fastboot" option • Skips some boot-time checks

12

Page 13: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 13 Confidential

Graphics

• <Nothing to report here this time>

13

Page 14: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 14 Confidential

File Systems

• SquashFS supports LZ4 compression

• OverlayFS • Support for read/write filesystem over the top of

a read-only filesystem

• Most common use-case is live CDs, but it can be useful for some embedded scenarios

14

Page 15: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 15 Confidential

Power Management

• At ELCE • Power management measurement devices

• At Plumbers • Energy management vs. power management

• Performance vs. battery life

• Want performance hinting from apps

• Pinning some things to the “little” processor (in big.LITTLE)

15

Page 16: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 16 Confidential

Power Management (cont.)

• Energy-aware Scheduling

• Idle time prediction • Permits better choice of idle state

• http://lwn.net/Articles/618074/

• Tools to measure and analyze energy efficiency • Slowly evolving – no great breakthroughs

• CPUFREQ – continuing integration into scheduler

Page 17: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 17 Confidential

Real Time

• RT-preempt patch set is now a hobbyist project • There are now officially no commercial

supporters of the project

• See http://lwn.net/Articles/617140/

• Still have Xenomai (using Cobalt RT core)

• Good overview of existing RT solutions, and a new alternative at ELCE: • “rtmux: A thin multiplexer to provide hard

realtime applications for Linux” • By Jim Huang

Page 18: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 18 Confidential

System Size

• Renewed kernel size reduction project • See kernel summit coverage at:

http://lwn.net/Articles/608945/

• Talk at ELCE: “Linux kernel tinification”

• Project page: https://tiny.wiki.kernel.org/projects

• Syscall elimination • Splice and friends - See http://lwn.net/Articles/624258

• Madvise and fadvise()

• Discussion about how modular to make the kernel • Slippery slope to make things conditional? – if, so

we’ve been doing it for years

• “make tinyconfig” (mainlined in 3.17) 18

Page 19: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 19 Confidential

Toolchains

• LLVM being used for more and more • Including Linux kernel

• ELCE talk by Behan Webster with latest update

• More fixes for LLVM support in 3.18

• Building Android with Clang (next slide)

Page 20: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 20 Confidential

Building Android with Clang

• Nexus 7 and 10 are booting and can run many apps

• Nexus 4 and 5 still problematic

• 112 patches submitted • 74 accepted

• 34 waiting

• GCC performance is slightly better

• Clang is finding real bugs

Page 21: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 21 Confidential

Testing

• New kernel sub-system: kselftest • Makefile target: ‘make kselftest’

• Currently supports host-mode selftest

• Now being worked on for cross-build

• Want short tests

• Want standardized test output

• See http://lwn.net/Articles/608959/

• New size test: • “make TARGETS=size kselftest”

• Really needs cross-build and deploy-to-target support

Page 22: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 22 Confidential

Outline

Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Resources

22

Page 23: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 23 Confidential

CEWG Contract Work

• Stopping “Open Project Proposal” • Have historically asked community for projects

• Projects were useful, but disjointed • Projects not big enough to rally around as an

industry

• We’re not doing that anymore

• Going to model where project requirements drive contract projects • E.g. if IOT finds a requirement that can be met

by funding a contractor, CEWG will do that

23

Page 24: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 24 Confidential

CEWG Projects

• New projects for CE Workgroup, with focused areas

• Project areas: • Internet of Things

• Standard Embedded Distribution

• Linux in Social Infrastructure

• Device Mainlining

Page 25: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 25 Confidential

Device Mainlining

• Did research on “obstacles to mainlining” • Did survey of developers

• Presented results at ELCE

• Also had good discussions at ELCE BOF and “hallway track”

• Have continued work, researching current SOC status • Collected many source trees for commercial

products

• Analyzed for patterns of materials missing from mainline

Page 26: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 26 Confidential

Device Mainlining (cont.)

• Plan to write “Mainlining Best Practices” white paper

• Lots of problem uncovered while researching Linux trees • Deciding on whether to publish problem reports

• Plan to write tools to help companies find patches that are good candidates for upstreaming

• Find areas where Linux upstream frameworks are lacking • USB OTG is one area – no support upstream for

charging interfaces

Page 27: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 27 Confidential

CEWG project next steps

• Hold project meetings at ELC • Planning meetings on IOT, Device Mainlining,

and Infrastructure

• IOT meeting will focus on requirements

Page 28: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 28 Confidential

Other Projects

• Long Term Support Initiative (LTSI)

• eLinux wiki

28

Page 29: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 29 Confidential

Long Term Support Kernel for Industry

• LTSI 3.14 is latest kernel

• Many presentations available on status • ELC 2014 presentation by Hisao Munakata

• ELCE 2014 presentation by Tsugikazu Shibata and Hisao Munakata

• Latest project push is testing facility

• Also, considering slower releases, or mechanism to support additions after merge window

29

Page 30: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 30 Confidential

eLinux wiki

• http://elinux.org • Web site dedicated to information for embedded

Linux developers • The wikipedia of embedded linux!

• Hundreds of pages covering numerous topic areas: bootup time, realtime, security, power management, flash filesystem, toolchain, editors

• Working on new wiki projects: • Video transcription project

30

Page 31: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 31 Confidential

Outline

Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Resources

31

Page 32: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 32 Confidential

Other Stuff

• Events

• Projects and Consortia

• Distros

32

Page 33: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 33 Confidential

Events

• Embedded Linux Conference 2015 • March 23-25, 2015 – San Jose

• Theme: Drones, Things and Automobiles • Tracks on Drones, IOT and Automotive

• Co-located with Android Builder Summit

• Proposals are due January 9

• Embedded Linux Conference Europe 2015 • October 5-7, 2015 - Dublin, Ireland

33

Page 34: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 34 Confidential

Projects and Consortia

• Allseen Alliance – Peer-to-peer ad-hoc networking • http://allseenalliance.org

• AllJoyn is the name of the implementation

• PRPL Foundation – Multi-company MIPS non-profit • Projects: PRPL OpenWRT, MIPS QEMU

• DroneCode – Open source UAV software group • http://www.dronecode.org/

• First Linux Drone summit at ELC

• Andrew Tridgell on ELC program committee

Page 35: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 35 Confidential

Distros

• Android • Lollipop now shipping

• Lots of changes in upper portions of stack • Some kernel level (e.g. no longer uses logger)

• Tizen • Doing lots of security work with SMACK

• Have proposed it for easy use with Yocto Project

• Some small-system (Tizen micro) work • https://lwn.net/Articles/617555/

Page 36: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 36 Confidential

Outline

Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Resources

36

Page 37: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 37 Confidential

Resources

• LWN.net • http://lwn.net/

• If you are not subscribed, please do so

• Kernel Newbies • http://kernelnewbies.org/Linux_3.?

• eLinux wiki - http://elinux.org/ • Especially http://elinux.org/Events for slides

• Celinux-dev mailing list

37

Page 38: Status of Embedded Linux · Building Android with Clang • Nexus 7 and 10 are booting and can run many apps • Nexus 4 and 5 still problematic • 112 patches submitted • 74 accepted

PA1 10/23/2014 38 Confidential

Thanks!

38


Recommended