SlideShare a Scribd company logo
1 of 21
Download to read offline
Maemo 5 Architecture
             Overview

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA   Dec 09
Contents
       • Introduction
       • HW Architecture (Nokia N900)
       • SW Architecture (Maemo 5)
       • Developer tools architecture
       • Q&A




Discover Maemo
Santa Clara, CA   Dec 09
Maemo 5 Architecture
             Introduction




Discover Maemo
Santa Clara, CA   Dec 09
Product Multimedia Computer
    Internet Optimized
                       evolution

                                                               Nokia N900




                                                     Nokia N810
                                                     WiMAX Edition



                                        Nokia N810


                           Nokia N800
Discover Maemo
Nokia 770
Santa Clara, CA   Dec 09
Software developed with the
  community

                                         14.000 members
                                            700 hosted
                                            projects
                                            200 applications
                            Maemo
                                          Nokia is a key
                                          contributor to
                           Community      projects such as
                                          GNOME/GTK+.
                           Open source
                             projects
Discover Maemo
Santa Clara, CA   Dec 09
Maemo 5 Architecture
             HW Architecture
                           Top Level view
                           Runtime view
                           “Developer” view



Discover Maemo
Santa Clara, CA   Dec 09
Top level view
  Runtime view                                   Peripherals
                                         Keyboard, vibra, actuators…
       WLAN
                                                                                       N900
    (802.11g)                                            …
                                                OMAP 3430
    Bluetooth
                                                                                       Proximity
        (v2.1)                                   Cortex A8
                                                     (ARM)
      Modem                      SPI
                                                                             I2C          ALS
       (HSPA)                    SSI      PowerVR
                                                               DSP
                                               SGX
         USB                                                                            Accelero-
      (HS 2.0)                              SDRAM ctrl, DMA, …
                                                                                         meter
                                                McBSP, UART


                           LCD                       Camera      Camera
                                       Touch                                  MMC/SD
                   (800x480)                         (5 Mpx)         (VGA)
Discover Maemo
Santa Clara, CA   Dec 09
Runtime view - boot


                                                        rootfs
                                             [initrd]
                                    kernel
                                    code
                           boot
                           loader
                  boot
                  ROM
                  code

Discover Maemo
Santa Clara, CA   Dec 09
Runtime view – Storage
                  FLASH partitions   Size           Comments

                  Boot loaders…      ~ 600 kB

                  Kernel             2048 kB

                  Initfs             2048 kB        Not used

                  Rootfs             257280 kB      UBIFS, “/”


         eMMC partitions              Size (32GB)    Comments

         /home/user/MyDocs            ~ 28 GB        FAT32

         /home                        2 GB           ext3, /home/opt

         /swap                        768 MB         swap


Discover Maemo
Santa Clara, CA   Dec 09
Developer view – Interfaces provided
     Component              Low level interface   Comments
     Accelerometer          sysfs                 HAL, MCE
     Ambient light sensor   sysfs                 HAL
     Bluetooth              BTH, ALSA             Bluez
     Camera(s)              V4L2                  gstcamerabin
     DSP                    DSP Bridge/OpenMAX    gst elements
     FM TX                  ALSA
     Graphics accelerator   driver, EGL           OpenGLES2.0, clutter
     LCD                    framebuffer           toolkits
     LEDs                   sysfs                 MCE, HAL
     MMC/SD                 Block device          ext3, vfat
     Peripherals            sysfs, input layer    MCE, HAL
     TV-out                 Xrandr
     USB                    driver                LINUX HS USB OTG
   WLAN
Discover Maemo              driver                802.11g
Santa Clara, CA   Dec 09
Maemo 5 Architecture
             SW Architecture
                           Target
                           Top level view, logical view, process view
                           Subsystem examples
                           Deployment view


Discover Maemo
Santa Clara, CA   Dec 09
Solid target SW architecture on Linux – first in
taking Linux desktop paradigm to mobile devices & now in its
5th generation


             Objective: Solid, high performance software
             architecture for Linux-based multimedia computer
             – modular, secure, open, and expandable.


            Design characteristics: Allow collaborative
            development of operating system components in
            open source projects and differentiation by Nokia in
            user experiences.


Discover Maemo
Santa Clara, CA   Dec 09
Top Level Architecture
                            <<layer>> Independent applications

           People, Places, Media, Internet   Maemo services


                                 Maemo platform interface

                                   Middleware interface


                                   <<layer>> Middleware

           AF, Content, Context, System, Multimedia, Communications, Runtimes


                                       Base interface

                                     <<layer>> base

      Essentials; Kernel; Multimedia, Graphics, Communications & System
Discover Maemo
      adaptation
Santa Clara, CA   Dec 09
Rockstars in subsystem view
     Desktop                             Hildon desktop      Clutter

     Toolkits                   Qt         GTK+, GDK           SDL

      Data mgmt              SQLite     Debian pkg mgmt      Tracker

      Communic.            Telepathy         GUPnP           BlueZ

       Multimedia          PulseAudio      GStreamer         MAFW

                                        linuxwireless.org   OpenGL ES
                            V4L2              OHM            upstart
       Core
                           BusyBox           Gconf            D-Bus
       System
                            Xorg              HAL             GLib

Discover Maemo                             Linux Kernel
Santa Clara, CA   Dec 09
Process view

                  Run as     System processes       UI server
                                                   processes

                    user           dsme            hildon-desktop

                  nobody           bme          hildon-input-method
              haldaemon            mce            sapwood server
             messagebus         dbus-daemon         hildon-home
                    root      maemo-launcher




Discover Maemo
Santa Clara, CA     Dec 09
Deployment view – APIs                                             System SW APIs
                                                                     * libhal
                                             RTCOM APIs              * libhal-storage
  Toolkit APIs    Multimedia APIs
                                               * telepathy-glib      * libalarm
    * Gio             * gstreamer
                                               * farsight2-libs      * mce-dev
    * Glib            * gstreamer-libs
                                                                     * libprofile
    * Gobject         * gstreamer-plugins-0.10 * farsight2-plugins
    * GTK+            * pulseaudio             * telepathy-farsight
    * ATK             * gupnp                  * libnice
    * GDK             * gupnp-av               * libaccounts       Connectivity APIs
    * GDK-pixbuf      * libcanberra            * libosso-abook       * libconic
    * dbus            * libmafw                * libebook            * libgwobex
    * dbus-glib       * libspeex               * libedataserver      * bluez
    * gconf           * mafw-shared                                  * osso-wlan
    * pango           * libsoup                                      * icd2
    * cairo                                   Hildon APIs
    * clutter                                    * libhildon
                Application Interface APIs       * libhildondesktop
                  * calendar-backend             * libhildonfm
                  * libcityinfo                  * libosso
                  * libtime                      * libnotify
                  * liblocation                  * libtracker-common
Discover Maemo * libsharing-plugin               * libtracker-module
Santa Clara, CA   Dec 09
Deployment view – Typical application
         Application
                                                          A typical UI application


                                Hildon
                  GTK+
                                              Gnome VFS      GStreamer      libosso


                                          GConf2
   Pango                  ATK




                  Cairo                                          D-Bus

                                GObject        GLib
Discover Maemo
Santa Clara, CA      Dec 09
Maemo 5 Architecture
             Developer tools architecture
                           Scratchbox




Discover Maemo
Santa Clara, CA   Dec 09
Maemo SDK basics
    Development environment
      Uses Scratchbox
      masquerades host system and tools to look like target
      fixes tools rather than packages for cross compilation
      similar development process to normal desktop
      Why Scratchbox?
      a lot of reuse of existing components in OSS projects
      these components are not designed to be cross compiled
      speed of development

      Simple to use
      apt-get source <any standard Maemo distribution package>
      dpkg-buildpackage

      Flexible execution
      X86, ARMEL, qemu

      Supported programming languages
      C, C++ and Python (C officially)

    The actual Maemo SDK is
Discover Maemo
    Set of preconfigured Scratchbox targets and root file systems
Santa Clara, CA
 26               Dec 09
Scratchbox architecture

                  Scratchbox sandbox
                                                     OS platform:
                           “scratchbox”           software for target

                     devkits         toolchains   rootstrap

                       CPU transparencies



                                                  host tools
                           PC Host

                                                       sbrsh/nfs
                                                     Target device


Discover Maemo
Santa Clara, CA   Dec 09
That’s all folks!
             Thank you!

  Tapio Tolvanen
  Chief Architect, Maemo US


Discover Maemo
Santa Clara, CA   Dec 09

More Related Content

Similar to Maemo 5 Architecture by Tapio Tolvanen

Varkon Semiconductor
Varkon Semiconductor Varkon Semiconductor
Varkon Semiconductor
Rajiv Parmar
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructure
exponential-inc
 
Open Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology TourOpen Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology Tour
Walter Moriconi
 
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAsScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
Shinya Takamaeda-Y
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
Yoojoo Jang
 
Multimedia software hardware
Multimedia software hardwareMultimedia software hardware
Multimedia software hardware
gopinathselvi
 

Similar to Maemo 5 Architecture by Tapio Tolvanen (20)

Varkon Semiconductor
Varkon Semiconductor Varkon Semiconductor
Varkon Semiconductor
 
Future Cloud Infrastructure
Future Cloud InfrastructureFuture Cloud Infrastructure
Future Cloud Infrastructure
 
Презентация команды "Обыватели"
Презентация команды "Обыватели"Презентация команды "Обыватели"
Презентация команды "Обыватели"
 
Open Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology TourOpen Storage Sun Intel European Business Technology Tour
Open Storage Sun Intel European Business Technology Tour
 
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAsScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
ScalableCore System: A Scalable Many-core Simulator by Employing Over 100 FPGAs
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
State Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical SpecState Of The Art - Part 3 Technical Spec
State Of The Art - Part 3 Technical Spec
 
Compression for DB2 for z/OS
Compression for DB2 for z/OS Compression for DB2 for z/OS
Compression for DB2 for z/OS
 
Cluster computing
Cluster computingCluster computing
Cluster computing
 
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
HUGFR : Une infrastructure Kafka & Storm pour lutter contre les attaques DDoS...
 
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
Analytics, Big Data and Nonvolatile Memory Architectures – Why you Should Car...
 
Embracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler codeEmbracing concurrency for fun utility and simpler code
Embracing concurrency for fun utility and simpler code
 
Brochure NAS LG
Brochure NAS LGBrochure NAS LG
Brochure NAS LG
 
Multimedia software hardware
Multimedia software hardwareMultimedia software hardware
Multimedia software hardware
 
What Mobile Developers Should Know
What Mobile Developers Should KnowWhat Mobile Developers Should Know
What Mobile Developers Should Know
 
Mozilla in Vietnam 2009
Mozilla in Vietnam 2009Mozilla in Vietnam 2009
Mozilla in Vietnam 2009
 
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation Heterogeneous Systems Architecture: The Next Area of Computing Innovation
Heterogeneous Systems Architecture: The Next Area of Computing Innovation
 
ODSA Use Case - SmartNIC
ODSA Use Case - SmartNICODSA Use Case - SmartNIC
ODSA Use Case - SmartNIC
 
Introduction To SPOT
Introduction To SPOTIntroduction To SPOT
Introduction To SPOT
 
Case Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded ProcessorsCase Study: Porting Qt for Embedded Linux on Embedded Processors
Case Study: Porting Qt for Embedded Linux on Embedded Processors
 

More from Ashley Walker (9)

Native Application Development With Qt by Rahul Nimbahlkar
Native Application Development With Qt by Rahul NimbahlkarNative Application Development With Qt by Rahul Nimbahlkar
Native Application Development With Qt by Rahul Nimbahlkar
 
Maemo 5 Debugging Apps by Saravanane D
Maemo 5 Debugging Apps by Saravanane DMaemo 5 Debugging Apps by Saravanane D
Maemo 5 Debugging Apps by Saravanane D
 
Hildon Desktop Widgets by Dimitry Pastushenko
Hildon Desktop Widgets by Dimitry PastushenkoHildon Desktop Widgets by Dimitry Pastushenko
Hildon Desktop Widgets by Dimitry Pastushenko
 
Developer Tools, Nokia Platforms Santtu Ahonen
Developer Tools, Nokia Platforms Santtu AhonenDeveloper Tools, Nokia Platforms Santtu Ahonen
Developer Tools, Nokia Platforms Santtu Ahonen
 
Maemo Now And Future Janne Heikkinen
Maemo Now And Future Janne HeikkinenMaemo Now And Future Janne Heikkinen
Maemo Now And Future Janne Heikkinen
 
Importance Of The Maemo Community Randall Arnold
Importance Of The Maemo Community Randall ArnoldImportance Of The Maemo Community Randall Arnold
Importance Of The Maemo Community Randall Arnold
 
Enabling Mobile Innovation Stuart Parmenter
Enabling Mobile Innovation Stuart ParmenterEnabling Mobile Innovation Stuart Parmenter
Enabling Mobile Innovation Stuart Parmenter
 
Developer Offering With Maemo Software Rob Taylor
Developer Offering With Maemo Software Rob TaylorDeveloper Offering With Maemo Software Rob Taylor
Developer Offering With Maemo Software Rob Taylor
 
Ovi Store And Maemo Devices Gregg Sauter
Ovi Store And Maemo Devices Gregg SauterOvi Store And Maemo Devices Gregg Sauter
Ovi Store And Maemo Devices Gregg Sauter
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Maemo 5 Architecture by Tapio Tolvanen

  • 1. Maemo 5 Architecture Overview Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09
  • 2. Contents • Introduction • HW Architecture (Nokia N900) • SW Architecture (Maemo 5) • Developer tools architecture • Q&A Discover Maemo Santa Clara, CA Dec 09
  • 3. Maemo 5 Architecture Introduction Discover Maemo Santa Clara, CA Dec 09
  • 4. Product Multimedia Computer Internet Optimized evolution Nokia N900 Nokia N810 WiMAX Edition Nokia N810 Nokia N800 Discover Maemo Nokia 770 Santa Clara, CA Dec 09
  • 5. Software developed with the community 14.000 members 700 hosted projects 200 applications Maemo Nokia is a key contributor to Community projects such as GNOME/GTK+. Open source projects Discover Maemo Santa Clara, CA Dec 09
  • 6. Maemo 5 Architecture HW Architecture Top Level view Runtime view “Developer” view Discover Maemo Santa Clara, CA Dec 09
  • 7. Top level view Runtime view Peripherals Keyboard, vibra, actuators… WLAN N900 (802.11g) … OMAP 3430 Bluetooth Proximity (v2.1) Cortex A8 (ARM) Modem SPI I2C ALS (HSPA) SSI PowerVR DSP SGX USB Accelero- (HS 2.0) SDRAM ctrl, DMA, … meter McBSP, UART LCD Camera Camera Touch MMC/SD (800x480) (5 Mpx) (VGA) Discover Maemo Santa Clara, CA Dec 09
  • 8. Runtime view - boot rootfs [initrd] kernel code boot loader boot ROM code Discover Maemo Santa Clara, CA Dec 09
  • 9. Runtime view – Storage FLASH partitions Size Comments Boot loaders… ~ 600 kB Kernel 2048 kB Initfs 2048 kB Not used Rootfs 257280 kB UBIFS, “/” eMMC partitions Size (32GB) Comments /home/user/MyDocs ~ 28 GB FAT32 /home 2 GB ext3, /home/opt /swap 768 MB swap Discover Maemo Santa Clara, CA Dec 09
  • 10. Developer view – Interfaces provided Component Low level interface Comments Accelerometer sysfs HAL, MCE Ambient light sensor sysfs HAL Bluetooth BTH, ALSA Bluez Camera(s) V4L2 gstcamerabin DSP DSP Bridge/OpenMAX gst elements FM TX ALSA Graphics accelerator driver, EGL OpenGLES2.0, clutter LCD framebuffer toolkits LEDs sysfs MCE, HAL MMC/SD Block device ext3, vfat Peripherals sysfs, input layer MCE, HAL TV-out Xrandr USB driver LINUX HS USB OTG WLAN Discover Maemo driver 802.11g Santa Clara, CA Dec 09
  • 11. Maemo 5 Architecture SW Architecture Target Top level view, logical view, process view Subsystem examples Deployment view Discover Maemo Santa Clara, CA Dec 09
  • 12. Solid target SW architecture on Linux – first in taking Linux desktop paradigm to mobile devices & now in its 5th generation Objective: Solid, high performance software architecture for Linux-based multimedia computer – modular, secure, open, and expandable. Design characteristics: Allow collaborative development of operating system components in open source projects and differentiation by Nokia in user experiences. Discover Maemo Santa Clara, CA Dec 09
  • 13. Top Level Architecture <<layer>> Independent applications People, Places, Media, Internet Maemo services Maemo platform interface Middleware interface <<layer>> Middleware AF, Content, Context, System, Multimedia, Communications, Runtimes Base interface <<layer>> base Essentials; Kernel; Multimedia, Graphics, Communications & System Discover Maemo adaptation Santa Clara, CA Dec 09
  • 14. Rockstars in subsystem view Desktop Hildon desktop Clutter Toolkits Qt GTK+, GDK SDL Data mgmt SQLite Debian pkg mgmt Tracker Communic. Telepathy GUPnP BlueZ Multimedia PulseAudio GStreamer MAFW linuxwireless.org OpenGL ES V4L2 OHM upstart Core BusyBox Gconf D-Bus System Xorg HAL GLib Discover Maemo Linux Kernel Santa Clara, CA Dec 09
  • 15. Process view Run as System processes UI server processes user dsme hildon-desktop nobody bme hildon-input-method haldaemon mce sapwood server messagebus dbus-daemon hildon-home root maemo-launcher Discover Maemo Santa Clara, CA Dec 09
  • 16. Deployment view – APIs System SW APIs * libhal RTCOM APIs * libhal-storage Toolkit APIs Multimedia APIs * telepathy-glib * libalarm * Gio * gstreamer * farsight2-libs * mce-dev * Glib * gstreamer-libs * libprofile * Gobject * gstreamer-plugins-0.10 * farsight2-plugins * GTK+ * pulseaudio * telepathy-farsight * ATK * gupnp * libnice * GDK * gupnp-av * libaccounts Connectivity APIs * GDK-pixbuf * libcanberra * libosso-abook * libconic * dbus * libmafw * libebook * libgwobex * dbus-glib * libspeex * libedataserver * bluez * gconf * mafw-shared * osso-wlan * pango * libsoup * icd2 * cairo Hildon APIs * clutter * libhildon Application Interface APIs * libhildondesktop * calendar-backend * libhildonfm * libcityinfo * libosso * libtime * libnotify * liblocation * libtracker-common Discover Maemo * libsharing-plugin * libtracker-module Santa Clara, CA Dec 09
  • 17. Deployment view – Typical application Application A typical UI application Hildon GTK+ Gnome VFS GStreamer libosso GConf2 Pango ATK Cairo D-Bus GObject GLib Discover Maemo Santa Clara, CA Dec 09
  • 18. Maemo 5 Architecture Developer tools architecture Scratchbox Discover Maemo Santa Clara, CA Dec 09
  • 19. Maemo SDK basics Development environment Uses Scratchbox masquerades host system and tools to look like target fixes tools rather than packages for cross compilation similar development process to normal desktop Why Scratchbox? a lot of reuse of existing components in OSS projects these components are not designed to be cross compiled speed of development Simple to use apt-get source <any standard Maemo distribution package> dpkg-buildpackage Flexible execution X86, ARMEL, qemu Supported programming languages C, C++ and Python (C officially) The actual Maemo SDK is Discover Maemo Set of preconfigured Scratchbox targets and root file systems Santa Clara, CA 26 Dec 09
  • 20. Scratchbox architecture Scratchbox sandbox OS platform: “scratchbox” software for target devkits toolchains rootstrap CPU transparencies host tools PC Host sbrsh/nfs Target device Discover Maemo Santa Clara, CA Dec 09
  • 21. That’s all folks! Thank you! Tapio Tolvanen Chief Architect, Maemo US Discover Maemo Santa Clara, CA Dec 09