Android Greg Kroah-Hartman A case study of an Embedded Linux Project

Slides:



Advertisements
Similar presentations
This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this license, visit
Advertisements

Linux on commodity network H/W Josh Parsons LUGOD talk August 15 th 2005.
Presented by: GREG UNGERER Lineo Inc 825 Stanley St Woolloongabba Qld 4102 Australia Ph: Building x86 Based.
Operated by Los Alamos National Security, LLC for the U.S. Department of Energy's NNSA UNCLASSIFIED Managing IOCs with Local Filesystems Scott A. Baily.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Chapter 3 Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
ITE 1 Chapter 5. Chapter 5 is a Large Chapter It has a great deal of useful information about operating systems. You will find this VERY helpful when.
Porting Android to Beagleboard
Beagle Board Fast Boot Hui Chen Keji Ren Dec 10 th, 2009 EE382N-4 Project.
Making MINT64OS Chan Seok Kang 2013/01/21. 2Computer Systems and Platforms Lab Content Introduction My Approach Encountered Problem Conclusion & Future.
Unit - VI. Linux and Real Time: Real Time Tasks Hard and Soft Real Time Tasks Linux Scheduling Latency Kernel Preemption Challenges in Kernel Preemption.
Challenges in KeyStone Workshop Getting Ready for Hawking, Moonshot and Edison.
Mobile Application Security on Android Originally presented by Jesse Burns at Black Hat
Android. Basic Architecture Linux Kernel Libraries Applications Android Runtime Application Framework.
User-Space-to-Kernel Interface
Speaker: Xiaojiang Du Authors: Xiali Hei, Xiaojiang Du and Shan Lin Temple University.
Introduction to the Linux Kernel 2.6 For The Fraser Valley Linux Users Group By Alan Bailward.
Silberschatz, Galvin and Gagne ©2011 Operating System Concepts Essentials – 8 th Edition Chapter 2: The Linux System Part 2.
ARM 7 & ARM 9 MICROCONTROLLERS AT91 1 AT91RM9200 Software delivery.
Kernel Modules – Introduction CSC/ECE 573, Sections 001 Fall, 2012.
Implementation Method Linux-USB Gadget Framework –The Linux-USB Gadget Framework makes it easy for peripherals and other devices embedding GNU/Linux system.
© Sony Corporation of America 1 of 17 Kernel Summit 2009 End User Panel Pain Points for Using Linux By Tim Bird Sony Corporation.
Photo recovery from water damaged XD memory card recovery-from-water-damaged-xd-memory-card.
OS Basics. 1 1 Key Concepts 2 2 A Bit of History 3 3 Activity - File System 4 4 Outline.
WP1- Documentation Booting Petalinux from TFTP and using Network file system Section for developers Zynq 7020 R. Assiro.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Introduction.
IMAGE COMPRESSION AND DECOMPRESSION USING ARM9 SYSTEM Under the guidance of Mrs. B. SATYA SRI DEVI,M.Tech, Assistant Professor By V. KUSUMA KUMARI Roll.
Linux on ARM7TDMI or Nothing is as easy as it looks Helicon technologies Ltd. How to run uClinux on NXP LPC22xx.
Embedded Linux By Gus Wirth. What makes it embedded? ● Rather nebulous, line has blurred over the years ● Limited purpose ● Small resources compared to.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Embedded Linux system development.
1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Free Electrons Linux kernel.
Suspend to Disk Why it doesn't work, can't work and never worked in the first place (and what to do about it) Matthew Garrett.
Copyright (c) JNode.org g Why Java is practical for modern operating systems JNode.org Ewout Prangsma.
Software and Services Group Embedded Linux and the mainline kernel David Woodhouse CELF Embedded Linux Conference April 2009.
Linux Basics Part 1 OSU Picture © Greg Keene. Introductions Lance Albertson Greg Lund-Chaix source:
KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association STEINBUCH CENTRE FOR COMPUTING - SCC
Brian Atzori 4B 2015/2016.
Android Mobile Application Development
Introduction to Developing Embedded Linux Device Drivers
Android Kernel Extensions
Introduction to ChibiOS/RT A free embedded RTOS
What you should know about Flash Storage
Using USB gadget drivers
Modifying libiptc: Making large iptables rulesets scale
chapter 6- Android Introduction
Lesson Objectives Aims Key Words
Cross-platform Libraries Technology Presentation
Operating System Structure
AppArmor Update 2014 Linux Security Summit
Penguin Weight Watchers
Android: Modding & Hacking whitone 2012/12/12.
Building Android OS Topics: Building Android and Kernel
Processing Framework Sytse van Geldermalsen
Distributed Version Control with git
Akshay Narayan git up to speed with RCS Akshay Narayan
What we learn during Program
Chapter 4.
Chapter 2: The Linux System Part 2
IS 651: Distributed Systems Web Technologies
Version Control System - Git
Chapter 2: The Linux System Part 5
Files Management – The interfacing
1.7.1 People who help me and look after me: People who are special to me I can identify the adults in my life who care for me and look after me. I can.
Operating Systems 1: News
Getting Hired By Expireds Part 1
1.2.1 My body belongs to me I can talk about what I like about me and my body. I can explain that my body belongs to me. I can say who I would go to if.
My body belongs to me I can talk about what I like about me and my body. I can explain that my body belongs to me. I can say who I would go to if I have.
Getting Hired By Expireds Part 1
Presentation transcript:

Android Greg Kroah-Hartman A case study of an Embedded Linux Project

Disclaimer Everything I say here is my opinion alone and not the opinion of my employer Novell. Heck, they don't even realize I'm here giving this talk. Everything said here is from the viewpoint of an experienced member of the Linux kernel community, who also happens to have a lot of experience in the embedded arena as well. If you have any questions / concerns / flames, you know where to find me.

Focus on the kernel only. Who cares about userspace?

Everything I complain about, can be fixed tomorrow with no changes to any Android userspace program. Almost all of these changes can only be done if Google developers allow them, as they will require changes to the Android libraries due to the user/kernel interfaces involved.

Things Google did right Linux android.git.kernel.org Followed the license of the kernel

Things Google did wrong android.git.kernel.org Ignored the community Thought they were special Thought they were alone

android.git.kernel.org

6 different full kernel trees

android.git.kernel.org 33 different kernel branches

android.git.kernel.org 33 different kernel branches – 4 branches – 3 branches – 9 branches – 1 branch – 7 branches – 6 branches – 3 branches

android.git.kernel.org 1 old stale Linus tree

android.git.kernel.org 2 known stand-alone drivers

android.git.kernel.org 2 known stand-alone drivers One has 13 different branches

rc2 based branch 283 files changed 47,715 lines added 363 lines removed

rc2 based branch 50% drivers 30% filesystem 15% architecture 5% core

● dcc_tty – arm tty driver ● Synaptics i2c touchscreen driver Drivers

Drivers ● reset key drivers ● GPIO input drivers ● Timed GPIO driver ● ledtrig-sleep debug driver ● Kernel debugger core ● pmem driver ● Loads of MMC changes

Drivers ● Nvidia Tegra MTD NAND controller ● RTC alarm driver ● Logger ● Ram console ● Switch subsystem ● GPIO switch ● USB Gadget subsystem rewrite

Drivers ● Apanic debug flash driver ● Uid status ● TI Bluetooth rfkill driver ● Bluetooth core fixes and extensions

Drivers ● Tegra USB gadget driver ● Tegra framebuffer driver

Security ● Binder ● “secure” networking

● YAFFS2 ● FAT Volume ID ioctl ● inotify changes ● Partition uevents ● Special /proc filetype Filesystems

● PPP on L2TP Access Controller ● PPP on PPTP Network server ● sysfs files for networking controls Networking

● Low memory killer ● wakelocks ● “early suspend” ● ashmem ● panic timeout ● cgroup/cset changes ● futex changes due to broken userspace ● sysctl for swapless systems core

● PPP on L2TP Access Controller ● PPP on PPTP Network server ● sysfs files for networking controls Networking

Ignoring the community

commit b0a0ccfad85b3657fe999805df65f5cfe634ab8a Author: Greg Kroah-Hartman AuthorDate: Mon Oct 5 16:29: Commit: Greg Kroah-Hartman CommitDate: Fri Dec 11 12:23: Staging: android: delete android drivers These drivers are no longer being developed and the original authors seem to have abandonded them and hence, do not want them in the mainline kernel tree. So sad :( Cc: Brian Swetland Signed-off-by: Greg Kroah-Hartman

You are special and unique, just like everyone else. Image courtesy of snowcrystals.com

It's just a fork, no big deal.