Status of Embedded Linux Status of Embedded Linux May 2011 Tim Bird Architecture Group Chair LF CE Workgroup.

Slides:



Advertisements
Similar presentations
Android Application Development A Tutorial Driven Course.
Advertisements

1 Pulsar The Eclipse Mobile Industry Working Group & Sequoyah Nov 6, 2010 Mailing listMailing list:
David Angulo Rubio ANDROID OS Open Software Platform for Mobile Devices.
Android Platform Overview (1)
Android Aims to bring Internet-style innovation and openness to mobile phones.
Android 4.0 ICS An Unified UI framework for Tablets and Cell Phones Ashwin. G. Balani, Founder Member, GTUG, Napur.
DEPARTMENT OF COMPUTER ENGINEERING
Intro to Android For the iOS fan Denver Java Users Group January 11, 2012 Mike Wolfson.
Mobile Application Development
Google Android as a mobile development platform T Internet Technologies for Mobile Computing Olli Mäkinen.
Embedded systems Lecture 25 February 2015.
Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department Asst.Prof.Dr.Ahmet Ünveren SPRING Computer Engineering Department.
Introduction to Android Platform Overview
Status of Embedded Linux Status of Embedded Linux September 2011 Tim Bird Architecture Group Chair LF CE Workgroup.
To be Presented by, T.Sathishkumar [11mw07] 1. Synopsis Introduction Version Features License An Application Development Demo Possibilities Advantages.
Android Introduction Based on slides made by
Introduction of Tizen : Tizen Overview Chan Seok Kang 2013/03/21.
張耀元 許博凱 Computer Science, National Chung Cheng University, 2014 Introduction A variation of the suspend-resume technique eliminates.
@2011 Mihail L. Sichitiu1 Android Introduction Platform Overview.
Android Programming By Mohsen Biglari Android Programming, Part1: Introduction 1 Part1: Introduction By Mohsen Biglari.
Arago Project Creating an Open Integration and Distribution System William Mills
CELF Contract Work Update on CELF Projects Tim Bird - CELF AG Chair.
Copyright© Jeffrey Jongko, Ateneo de Manila University Android.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Fundamentals Pages 1 to 19 in your workbook. A Tour of VTScada WEB – Script based, using its own programming language VTS – Visual Tag System. Added a.
1 Android- Platform Overview. 2 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware and key.
ANDROID 응용 프로그래밍 과정 – 목차 - 안드로이드란 - 안드로이드가 만들어지게 된배경 - 안드로이드의 철학 - 안드로이드 환경설정 ( SDK download, eclipse plug-in 설정, 간단한 프로그램 실행 ) - 안드로이드 동작원리 - 안드로이드 핵심.
October 11, 2015CE Linux Forum Members Confidential 1 Embedded Linux BOF Tim Bird Software Engineer, Sony Electronics Chair, CE Linux Forum Architecture.
Slide 1 of 30 Status of Embedded Linux Embedded Linux Community News December 2010 Tim Bird CELF Architecture Group Chair.
Android Husam Abdel Rahman. Introduction Android Operating system is most popular operating system these days with the advance in voice communications.
CELF Project and Conference Information Tim Bird CELF Architecture Group Chair.
Android architecture & setting up. Android operating system comprises of different software components arranges in stack. Different components of android.
January 25th, CE Linux Forum Technical Conference1 Bootup Time Working Group Discussion Tim Bird, Chair.
Unit - VI. Linux and Real Time: Real Time Tasks Hard and Soft Real Time Tasks Linux Scheduling Latency Kernel Preemption Challenges in Kernel Preemption.
ANDROID BY:-AANCHAL MEHTA MNW-880-2K11. Introduction to Android Open software platform for mobile development A complete stack – OS, Middleware, Applications.
Created By. Jainik B Patel Prashant A Goswami Gujarat Vidyapith Computer Department Ahmedabad.
Android. Basic Architecture Linux Kernel Libraries Applications Android Runtime Application Framework.
Mobile Application Development with ANDROID Umang Patel(6537) LDCE.
By, Rutika R. Channawar. Content Introduction Open Handset Alliance Minimum Hardware Requirements Versions Feature Architecture Advantages Disadvantages.
1 Android Workshop Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.
1 Get All Answers Get All Answers. Contents History of Android Android Fragmentation The Role of Google Features and Architecture Android Software Development.
Android Development For Beginners. What is Android? Android is an open mobile phone platform that was developed by Google and later by Open Handset Alliance.
By Adam Reimel. Outline Introduction Platform Architecture Future Conclusion.
Android. I. What’s Android Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. Android is designed.
© Sony Corporation of America 1 of 17 Kernel Summit 2009 End User Panel Pain Points for Using Linux By Tim Bird Sony Corporation.
By: Dylan Small.  History of Android  Android Versions  Technical Specs  New/Current Versions  Future of Android  Summary Road Map.
 This work confers an application which makes possible to use a Bluetooth enabled mobile phone to remote control home appliances such electric fan, LEDs.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Matthew Locke November 2007 A Linux Power Management Architecture.
BY : MS ARTI B BAVANE. INTRODUCTION Formed on February 15,2010. Jointly found by two pillars Intel and Nokia by joining their existing open source projects.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Embedded Linux system development.
Michael Opdenacker, Community Manager SophiaConf, July 2011 Linaro Engineering resources for the ARM Linux community.
Software and Services Group Embedded Linux and the mainline kernel David Woodhouse CELF Embedded Linux Conference April 2009.
Google. Android What is Android ? -Android is Linux Based OS -Designed for use on cell phones, e-readers, tablet PCs. -Android provides easy access to.
Status of Embedded Linux Status of Embedded Linux Tim Bird CELF Architecture Group Chair.
Mobile Device Development
Android Mobile Application Development
Operating System & Application Software
Browsers and Web Platforms
chapter 6- Android Introduction
Android.
A Canonical Production January 2013
AppArmor Update 2014 Linux Security Summit
Penguin Weight Watchers
CMPE419 Mobile Application Development
Status of Embedded Linux
Application Development A Tutorial Driven Course
Android Developer Fundamentals V2
CMPE419 Mobile Application Development
Report from the trenches of an HTML5 game provider
Presentation transcript:

Status of Embedded Linux Status of Embedded Linux May 2011 Tim Bird Architecture Group Chair LF CE Workgroup

Outline Kernel Versions Technology Areas Tools Embedded Distributions Industry Organizations Miscellaneous Resources

Linux Kernel Versions

Kernel Versions Linux v – 16 May 2010 Linux v – 1 Aug 2010 Linux v – 20 Oct 2010 Linux v – 4 Jan 2011 Linux v – 14 Mar 2011 Linux v – 19 May 2011 – 5 versions in 12 months

Linux v LogFS Log-structured flash filesystem Asynchronous suspend/resume – See Cgroup memory threshold notifications Python scripting support for perf I like Python

Linux v User-space OOM notifier Cpuidle – idle pattern detection Can detect when a periodic interrupt is causing a steady wakeup, and adjust next-wakeup accordingly – See Timer slack mechanism introduced Allows for combining timers within a “slack” range, decreasing wakeups and saving power – See Ramoops driver Record oops into RAM for later analysis

Linux v AppArmor – path-based security module Wakeup counts Kernel-user interface to allow system to suspend aggressively without race conditions on wakup events New OOM killer More BKL removal LZO compression in SquashFS

Linux v (cont.) LIRC infrared controller driver suite Support for infrared devices (e.g. TV remote controls) Currently in staging – go use and test if you want it to move out of staging 11 year-old project!

Linux v Jump labels Eliminates (almost completely) the overhead when tracing calls are disabled – See

Linux v Perf symbols abstraction – Added 'symfs' option for off-box analysis of perf.data – Should be good for embedded

Linux v Pstore – Store information from dying kernel into some persistent storage – Similar to mtdoops or ramoops – Not for embedded now, but maybe could be used for this later – See Other than that, not much embedded stuff ARM arch tree has been in flux

Observations Rate of “general features for embedded” contributions seems low ARM arch tree has been in flux – Starting and stopping contribution acceptance Lots of platform support I'm probably missing some areas (PM?) But still, I worry...

Patches to watch ARM IRQ re-work ARM arch sub-tree refactoring Device trees Fast symbol resolution (more later) Runtime PM patches – Android effect on PM features

Technology Areas

Bootup Time Readahead getting lots of attention – Ureadahead in Ubuntu – See my presentation at ABS about readahead with Android Snapshot boot – Old topic, but still very popular – Requires work both inside and outside kernel Not much mainlined – See ELC presentation by Kang Dongwook Filesystem speedups – CELF funding work in this area (more later)

Bootup Time (cont.) XIP (Execute-In-Place) – Almost removed from kernel Version in kernel was broken Use of XIP on only out-of-tree platforms is a problem Bootloader improvements – Coreboot on x86 See “Really fast x86 boot” presentation at FOSDEM 2011 – U-Boot ARM caching enhancements

Bootup patches to watch Speed up symbol resolution during module loading – Binary search in symbol table avoids linear lookup cost per symbol when loading a module – Close to being mainlined – Original work by Alan Jenkins – new developer is Alessio Bogani

Bootloader DFU support in U-Boot Android fastboot support in U-Boot – Added to U-Boot by TI for PandaBoard – Some resistance to getting it mainlined

Graphics 3D – OpenGL ES is de-facto standard everywhere 2D – Android had Skia, but is moving...? – Meego used Clutter, Qt, and X – Framebuffer is going away, with acceleration required for larger screens Wayland – Intel moving towards Wayland – Replacement for X? – Support for multiple top-layer APIs Lots of work around memory management between kernel, user-space and GPU

Graphics (cont.) Accelerated rendering is a big topic – Google introduced renderscript Uses LLVM to do runtime retargeting of script to whatever capabilities device has Ability to support GPU in SOC is very important

Graphics Drivers PowerVR graphics driver – PowerVR is being used lots of places Intel adopted for Cedarview and it's already in Sodaville Is in very many ARM SOCs – PowerVR driver is closed-source – Alan Cox submitted some driver pieces in February Omitted anything relating to out-of-tree binary driver See

Multimedia Gstreamer – Is still being used in TVs Ex: Google TV uses it Android media layer – Stagefright – new media layer Replaces OpenCore? Codec wars – WebM/VP8 Free codec by Google Integrated into HTML5

File Systems UBIFS – Replacing JFFS2 as default raw flash FS of choice YAFFS2 is not in mainline yet Despite CELF funding LogFS Appears to be abandoned

File Systems (cont.) Google moving to Ext4 for future Android devices – Already using eMMC instead of raw flash – Developers said that main reason was SMP performance Want to optimize Linux filesystem layers for flash – See Arnd Bergmann's work on filesystem performance on cheap flash media (ELC)

Power Management Runtime Power Management – Relatively new ability to suspend and resume individual system components – See See Magnus Damm’s slides at: Asynchronous suspend and resume – Faster suspend and resume to save power – Usually associated with user-initiated suspend

System Size CE WG is reviving Linux-tiny project Bloatwatch is still running – but who looks at it? – – Big increases in some kernel versions Xi Wang had a good talk at ELC about optimizing memory usage throughout the system Memory problem is really about user space now – OOM killer or OOM avoidance is big issue Cgroup memory notifications Android has it's own thing

Tools

QEMU – QEMU is being used everywhere, for device emulation (Android, Yocto) – Javascript QEMU implementation (!!) Eclipse – Is now de-facto “umbrella” tool for development – Need to pry seasoned developers away from command line Tracing – Common Trace Format standard exists

Build Systems Yocto project – Umbrella project – has builder, eclipse tools, other things – OpenEmbedded and Yocto are getting integrated – Tons of talks at ELC Still lots of custom build systems out there

Embedded Distributions

Meego Android

Android 3.1 SDK (Honeycomb r2) released May, 2011‏ Ice Cream Sandwich due Q4 – Will unify mobile, tablet and TV platforms in one codebase Phone activations at 400,000 per day Dalvik ported to non-Android – Myriad Alien Dalvik for Meego – IcedRobot for native Linux

Google TV Every device (including old ones) will have Honeycomb 3.1 Will have Android market – 3rd party applications available Several good talks at Google I/O about developing apps for TVs (both web and Android)

Industry organizations Linux Foundation – Has lots of embedded-related projects Yocto, Meego, CE Workgroup Recently announced Meego TV workgroup Linaro – Focused on onsortium technologies for ARM processors – Is funding effort to address ARM architecture churn in mainline Organizing ARM sub-arch project

Miscellaneous Unlockable bootloaders – Announced by Motorola, Sony/Ericsson – Can unlock bootloader to install custom firmware – Wipes the phone to remove DRM-protected content – Motorola says you can re-lock by reinstalling vendor image Increased use of Stack Overflow – Great site for answering detailed development questions – See – Google developers answer questions here

Resources LWN.net If you are not a subscriber, please do so Kernel Newbies – eLinux wiki - Linux-embedded mailing list

Thanks!