Linux Solutions on OMAP3x
Upcoming SlideShare
Loading in...5
×
 

Linux Solutions on OMAP3x

on

  • 1,777 views

 

Statistics

Views

Total Views
1,777
Views on SlideShare
1,774
Embed Views
3

Actions

Likes
1
Downloads
65
Comments
0

1 Embed 3

http://www.slideshare.net 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Linux Solutions on OMAP3x Linux Solutions on OMAP3x Presentation Transcript

    • Linux Solutions on OMAP3x Jesse Lien Engineering Manager MontaVista Taiwan
    • Agenda • MontaVista Mobilinux Support, Services and Ecosystem • MontaVista and Android • MVL6: MSD, Integration Platform, and MVZ Content Server • Project Montabello
    • Mobile OS Market Trends – Future is Linux • Linux as a smartphone operating system Fastest growing OS over the next five years* Compound annual growth rate in excess of 75% by 2012* Account for 31% of all smart devices by 2012* • Benefits: Growing ecosystem of Linux based applications Standardization Faster time to market Full control via open-source "We were very aware that the growth in mobile for Linux was huge, but we didn't know it was so astronomic" - Amanda McPherson, marketing director for the Linux Foundation, told LinuxInsider. *Source: ABI Research, http://www.abiresearch.com/
    • Embedded Linux Challenges Quality The Linux innovation engine produces software very quickly. Commercial quality is not its objective. Integration Code comes from different open source projects and versions; Development tools must be integrated and bolted to a custom runtime. Support Open source has grown so large it can be overwhelming. Licensing is complex and can be business unfriendly. Hardware Embedded hardware support is incomplete and disintegrated. Enablement Control Empowered by open source, companies struggle to determine which work is necessary and differentiating, and which is merely interesting. 4
    • Embedded Linux Commercialization Quality Disciplined processes, intensive testing and bug fixes deliver proven quality for commercial products. Integration Integrated open source code across kernel versions, tools, toolchains, and applications. Support Maintenance, documentation, training, technical support, custom engineering. Access to legal expertise with GPL, open source licenses. Hardware Enablement Broad and deep device support. Control You decide which work is necessary and which is merely interesting. 5
    • MontaVista Mobilinux Support, Services, Ecosystem
    • Mobilinux - Core OS Benefits Performance Connectivity and I/O • realtime response • integrated flash support • great user experience • file system integrity Development Tools • fast boot, under 5sec • encrypted file system • fast application startup • networking support • WiFi, Bluetooth and USB Footprint • ATA/SATA support • small footprint • drive/CD/DVD connectivity • library optimization tool Security Power Management • roll-based access control • dynamic power management • authentication framework • application APIs • encrypted file system • IPSec Graphics & Sound • pre-integrated graphics Debug • pre-integrated video • diagnostics • complete sound framework • serviceability and drivers • debug MontaVista Mobilinux
    • Mobilinux - Core OS Features Performance Connectivity and I/O • preempt-RT • unionFS • Linux fast boot • eCryptFS Development Tools • gLibc with pre-linking • IPv6 • Jazelle • WiFi • Bluetooth Footprint • USB, USB-OTG • µcLibc with NPTL • SDIO • LOT, application/kernel XIP Security • µSELinux Power Management • eCryptFS • kernel DPM and App APIs • IPSec and crypto framework Graphics & Sound Debug • directFB • KGDB over USB • GTK • LTTng • gStreamer • oProfile • ALSA sound • mPatrol MontaVista Mobilinux
    • Mobilinux DPM
    • Quality Software Development Process MontaVista Linux Software Factory Integrate Improve Verify Release Editions Linux: ~40M lines of code Port • Code control • 1,000s bug • 35,000+ tests fixes for each build, Archi- • Configure Port • Build • Real-time • Test suites tectures Linux (kernel config, boot, I/O, stress) Port • Power Mgmt • Processors • World’s largest board farm • Docs LSPs • Community • Installation Leadership Support & Sustain • Security patches, Maintenance, long term support
    • Validate: Quality Assurance Infrastructure • Automated QA essential to developing a high quality product QA infrastructure major investment Daily builds tested against each host / target Requires large HW budget • 35,000+ test suites Community originated MontaVista Authored • Some manual testing • Section of MontaVista Board E.g. Installation, tools Test Farm
    • Quality and Integration 160 140 141 Mobilinux 5.0 Bug Fixes • Mobilinux 5.0 Bug Fixes 120 230 total bug fixes 100 65 kernel bug fixes 80 65 24 toolchain fixes 60 40 24 • Mobilinux 5.0 Kernel Patches 20 0 316 total patches Applications Kernel Toolchain 63% are bug fixes Mobilinux 5.0 Kernel Patches The data here is based on Mobilinux 5.0 Enhancements, 78, as of Dec. 2007 and are specifically 25% on Mobilinux bugs. Note that this is IN ADDITION to over 1400 bugs that were fixed in our Professional edition which Mobilinux is Integration, 37, 12% Bugfix, 201, 63% based from, many of which applied to Mobilinux as well.
    • MontaVista Support & Sustain: Security Security Incident Response: Monitor Plan, Implement, Test Advise customers Vendor Vendor Cert.org** Security List* Security List* Cert.org** Debian*** Debian*** Security Security Alerts Alerts MontaVista MontaVista Security Security Fix QA MVZ Linux Team Team Linux Forums Forums Customers Customers Customers Fix, QA and ship in next release Patch statistics in MBL 5: (after release) From Jan, 2008 (release) to April, 2009 No. of security patch in Application: 76 No, of security patch in Kernel: 10
    • Toolchain and Platform Development • Integrated Toolchain Improved GCC, GDB, C-libraries Validated with MontaVista Linux OS • Platform Configuration OS configuration and dependency resolution Automated target file system creation • Target Management Explore target system from host Manage target system from host
    • Debug, Analysis and Tuning • One click edit-compile-debug cross development integrated compile, download, target debug Application development on simulated target • Easy-to-use analysis and tuning tools Memory Leak Detection System Tracing Performance Profiling Memory Usage • Choice of development philosophy IDE graphical user interface Command line
    • MontaVista Zone • MontaVista Zone Customer Portal Terrabyte of Embedded Linux Information FAQs, Tutorials, Demos Defect tracking Distribution of patches, product updates Interface for standard support
    • Established Mobilinux Ecosystem Tools Security / Telephony UI/Apps Framework Multimedia/Graphics Java Semiconductor and others…..
    • Mobile Market Leadership • Market Leadership Over 50 million handsets shipped with Mobilinux 22 of 25 announced LiMo phones based on MontaVista Mobilinux Mobilinux awarded “Best Software Innovation of the year for 2007” by EDN, awarded in April’08 • Customers and Devices Motorola mobile handsets NEC & Panasonic – W-CDMA 3G handsets Datang Mobile (China) – Mobilinux 4.1 handsets Several other projects “MontaVista has a successful history of enabling differentiated products across the entire OMAP™ product family. Mobilinux 5.0 addresses real customer needs and I expect it to be the most successful yet.” - Jeff Wender, Worldwide Marketing Manager, Software Solutions, Texas Instruments 18
    • MontaVista and Android
    • Android Architecture
    • Hardware Abstraction Layer • HAL need to be implemented to make Android work with real h/w. • Defines the interface that Android requires hardware drivers to implement. • Separates the Android platform logic from the hardware interface. • Shared library need to be implemented for every supported h/w. • Shared Library get loaded dynamically at runtime using “dlopen” dlHandle = dlopen(rilLibPath, RTLD_NOW);
    • Telephony (HAL) • RIL Daemon: Initializes the Vendor RIL, processes all communication from Android telephony services, and dispatches calls to the Vendor RIL. • Vendor RIL: Processes all communication with radio hardware and dispatches calls to the RIL Daemon (rild).
    • Camera (HAL) • Camera subsystem connects the camera application to the application framework and user space libraries, which in turn communicate with the camera hardware layer that operates the physical camera. • Need to implement shared library which in turn implements interfaces defined in CameraHardwareInterface.h
    • Bluetooth (HAL) • Stack uses BlueZ version 3.36 for GAP, SDP, and RFCOMM profiles •SIG-qualified Bluetooth 2.0 host stack. • Interacts with user-space bluez code through D-BUS • Headset and Handsfree (v1.5) profiles are tightly coupled with the Phone App.
    • WiFi & GPS (HAL) WiFi • Android uses wpa_supplicant as the platform interface to the Wi-Fi device. • Shared library implementing interfaces defined in wifi.h required. GPS • Android defines a user space C abstraction interface for GPS hardware. • Interfaces defined in gps.h need to be implemented in order to integrate real h/w.
    • Android Commercialization: Challenges • Commercial Quality Linux BSP Port on the Targeted Hardware Platforms • HAL Porting • Dynamic Power Management • Security • Multimedia support with hardware accelerator integrated • Integrate every component with superior performance to build a high-class commercial product
    • Android Porting Effort •Linux BSP Porting: •Bootloader, Kernel, Device Driver (Flash, Wi-Fi, USB 2.0, Bluetooth, Camera, Removable Storage, Display, Keypad and buttons, GPS, Telephony Modem, Audio, Accelerometer) •Android Middle Integration (HAL): •Hardware Graphic Acceleration, GPS, Wi-Fi, Bluetooth, Camera, Audio/Video CODEC, RIL •Telephony Integration •Feature Addition in Android Framework •Adding native library for new feature •Implementing JNI interface for new feature •System Integration and Lab Testing •Integration of all modules and testing •Bug Fixing of system level issues •Field and Networking Test •Bug fixing of issues during Network Testing/ Production testing
    • MontaVista and Android • MontaVista Support for Android Ported Android to MV Linux for OMAP3 Demo on OMAP2430 at ESC Apr 2008 Demo on i.MX31at FTF June 2008 Demo on OMAP3 at ET Japan in Nov 2008 Mobile World Congress Barcelona Feb 2009 Embedded World Nuremburg Mar 2009 Press release issued MontaVista Provides Commercial-quality Linux for Android™ platform World's most advanced mobile Linux delivers broadened hardware support and improved time-to-market for developers of Android devices http://mvista.com/press_release_detail.php?fid=news/2008/MontaVista-Linux-for-Android.html
    • MontaVista and Android • MontaVista announces that Android was ported to MontaVista Linux Commercial quality Android platform Enhanced security via commercial quality processes, testing and security patches Faster time to market for device manufacturers Customers can build Android-based devices/apps across a wide variety of hardware architectures • Any changes/patches required will be made available to MontaVista customers • Future Plans Support on other platforms
    • MontaVista Value Add for Android • Mobilinux is the world’s most widely deployed Linux operating system for mobile devices • Is the only Linux to demonstrate support of and integration with all major Linux mobile software stacks • Is the only mobile Linux certified as being ready for IPv6 • Provides support for broad mobile device processors from Texas Instruments and others • Was awarded "Best Software Innovation of the Year" by EDN • Detailed understanding of Android software architecture • Good experience of complete mobile phone product development cycle
    • MVL6 MSD, Integration Platform, and MVZ Content Server
    • Introducing MVL6 1) Market Specific Distributions Unique for hardware platform and target market Source driven Fully customizable and extensible 2) Software Development Kit New Integration Platform Cross-Development toolchain DevRocket Eclipse-based IDE 3) Zone Content Server Provides single source binary download and cache 4) All fully supported by MontaVista Technical support, upgrades, and bug fixes Experts in Linux and Open Source technology
    • Market Specific Distributions (MSD) • An MSD is a revolutionary new approach to embedded Linux development Created uniquely for each target board Determined by market requirements and hardware target market Feature compatible with semiconductor distribution Source driven product Provides extended functionality such as power optimization, real time pre-empt, etc. • Support for all major platforms Texas Instruments, and others • Extensible and customizable Optimize and customize for your specific application requirements
    • MontaVista Integration Platform (MVIP) • New build environment provided by MontaVista Based on BitBake Open, non-proprietary environment • Target configuration management Create multiple versions for the same target Create incremental builds Create repeatable builds more easily • Stores package information as metadata Open, non-proprietary format called recipes Analogous to RPM spec files Output any package format Supports any open source recipe file Recipes provide instructions for each stage of build download, patch, configure, build, install, etc.
    • Bitbake • Python based tool • Executes tasks to build kernel • The tasks are defined in "recipe" files contained in the kernel and userland collections on the Content Server. • Can build host tools, cross tools and target applications. • Can build full file system images. • It can refer local source as well as sources downloaded from Internet locations or the MontaVista Content Server. • All build and configuration operations can be performed with command line tools.
    • Bitbake – What It does? 1. Parses bitbake.conf, which pulls in all the other configuration files, producing a global datastore. 2. Parses in all available recipes and produces a task graph from the tasks which the recipes and their classes define. 3. Produces a runqueue of this task graph, indicating how the tasks will be executed in the correct order. 4. Executes the runqueue task by task. 5. Can speed up runqueue by adding: BB_NUMBER_THREADS=2 or PARALLEL_MAKE=“-j2” in local.conf, if you have multi core cpu
    • The Basics of a Recipe START A recipe is a file containing: do_fetch • Non-executable metadata: DESCRIPTION do_unpack LICENSE do_patch DEPENDS RDEPENDS do_configure Which files to package into which do_compile sub-packages do_stage • Executable tasks the Integration Platform knows how to execute do_install Can inherit custom definitions do_package from base classes Can override any definition END
    • MontaVista Zone Content Server • Works with new Integration Platform • Source mirror provides single point of download Archives can be downloaded on demand at build time. Source or binary downloads Provides ability to do incremental builds • Provide content in units called “collections” A set of collections are combined to build a project • Each MSD includes a set of collections Some are common to all MSD’s Some are MSD or vertical specific Kernel Userland • Common base userland collection across MSDs
    • Content Server Benefits • Many recipes list several sites for download Bitbake recipes use 6 different algorithms to download sources: git: svn: cvs: http: https: ftp: And yet – files and mirrors disappear OE doesn’t keep history recipes • What if you need to build same image a year from now! Imagine if you do not keep the sources around! • Reproducibility is a common problem today
    • Initial Time Savings vs. RYO Integration Platform vs. Open Embedded
    • MVL6 Benefits • Spend more time developing your application Less configuration required, get up and running faster and more efficiently Focus on adding value, not building a target OS • Increased Flexibility Easily create multiple targets and rebuild whenever needed Leverage the open source community in your design • Complete Developer Toolkit Command line or GUI, use your interface of choice Spend fewer hours simply getting things to work • Get the support you need, when you need it Access the full resources of MontaVista technical support Search the Zone 24x7 for information, updates, and new code
    • Project Montabello A customizable solution for the MID and Automotive IVI market
    • Project Montebello Value Prop Instant ON, Always ON, Always CONNECTED • Rich end-user experience Instant ON, Always ON, Always Connected Game changing user experience in a full featured device • Fast time to market for explosive MID/IVI opportunities Complete customizable MID/IVI solution for OEMs and ODMs • Enables product innovation for manufacturers OEMs can own the brand Enables manufacturer differentiation
    • Project Montebello • Instant ON Fast OS boot (2sec to splash screen, 5sec to app startup) Fast resume (500ms) Application startup (instant) • Always ON Optimized for low power environments – ARM architecture Differentiated by battery life Battery life optimized with DPM • Always CONNECTED Connection management (with auto VPN) Seamless roaming and handoff WiFi and worldwide 3G support Fully integrated I/O: Bluetooth, USB, SDIO
    • Project Montebello • Complete customizable MID system Scalable hardware support – innovative form factors Completely integrated software stack • Customizable UI look and behavior Usage: consumer, enterprise, other UI: Windows style, Blackberry style, YourCompany style Internationalization – support for dozens of languages • Rich application suite Open and Extensible Leverage extensive Linux software ecosystem Browser, email, VPN, document viewer • Application development Native Linux SDK Java SDKs (near future)
    • Project Montebello Architecture UI Customization Services by MontaVista Applications V2 Apps Instant Others Media Player eBook Reader RSS Reader Photo Viewer TBD Messaging Integration Services by MontaVista OOBE Wizard Email Client Connection Option and Novell Evolution Browser Credential Manager Settings UI Changes Firefox Management Exchange Connector (WiFi, 3G, Wired) Manager Office Viewer VPN GPS FW Upgrade PDF Viewer DataViz (OpenSSL, Location Aware Utility/Driver doc,xls,ppt,xml evince Cisco, etc) (future) (OTA Upgrades - future) UI & Middleware Window Manager - XFWM Flash Launcher – XFCE (GTK+) JavaVM Adobe (future) (future) UI Framework – XFCE (GTK+) Security - uSELinux Kernel User Input Network Power Memory Audio Display Virtual Devices, BIO PAM WWAN Mgmt Mgmt (ALSA) DirectFB Keyboard Touchpad Fingerprint Host EC USB SMBus SMBus Reader Interface Drivers Watchdog HW Specific Battery ROM/RAM Flash Audio Display SD/MMC GPS I2C/SPI Timer Drivers
    • Thank You !