packaging/embedlinuxpkg.txt

Mon, 07 May 2012 23:15:17 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 07 May 2012 23:15:17 +0200
changeset 17
768787695807
child 23
5366b8d38d6d
permissions
-rw-r--r--

Add Enyo framework following discussion with Eva BRUCHERSEIFER.

     1 Embedded Linux Packaging Systems
     2 Type: Lecture/presentation
     3 Category: Engineering/development
     4 Topic: Internals/System architecture/Implementation choices
     5 Audience: Embedded linux developers
     6 Duration: 45 minute presentation
     8 Author and Speaker
     9 ------------------
    10 Michael Schloh von Bennewitz
    11 Software Engineer, Europalab Networks
    12 web: http://michael.schloh.com/
    13 email: michael@schloh.com
    14 isdn: +49(89)44239885
    15 voip: sips:michael@schloh.com
    16 xmpp: MSvB
    18 Biography
    19 ---------
    20 Michael Schloh von Bennewitz is a computer scientist specializing in
    21 network software, mobile computing, and client server design. He speaks
    22 at technical events every year. In the past, he has given lectures on
    23 object oriented design, technical writing, network protocols, mobile
    24 OSs, MeeGo development, LDAP integration strategies, and the Qt library
    25 build process. His speaking style is humorous, using gestures and good
    26 eye contact. He walks about the room and writes presentations in SVG
    27 or HTML5.
    29 Abstract
    30 --------
    31 The most important concepts of software packaging are explained,
    32 including definitions, package ingredients (software, text, metadata,
    33 other data), leading to an anatomical dissection of various package
    34 types. A mock up package diagram eases understanding. A brief history
    35 of packaging systems, types, and models includes SVR5, DEB, RPM, Bundle,
    36 Ports, IPkg, OPkg, and APK technologies. Dependency resolution, binary
    37 and source packages differenciation, as well as automated package
    38 management concepts are considered. Embedded requirements for packaging
    39 include performance constraints, signing and security, hardware choices,
    40 as well as commercial aspects not within the developer's control. Due
    41 to the trend of online package stores with many big industry players
    42 opening 'markets', a review clarifies what commonalities, differences,
    43 and nuances such paradigms present. Case studies follow, leading to
    44 an understanding of the packaging systems used by Android, OpenWRT,
    45 M0n0wall, Harmattan, WetabOS, Opendreambox, and maybe Tizen.
    46 Demonstations include examination of the RPM-based WetabOS, the
    47 DEB-based Harmattan OS, and the I/OPKG-based Opendreambox on a set-
    48 top box.
    50 The audience consists of software engineers, system administrators, as
    51 well as advanced users of devices running embedded linux. Attendants
    52 expect clearly defined device groups (telephones, set-top boxes, IVI)
    53 and want to know the characteristics of corresponding packaging systems.
    54 Of importance for both hobby users as well as industry giants hoping to
    55 profit from the trend to 'stores' and 'markets' of software packages,
    56 Linux can answer the question 'what comes next in packaging technology
    57 and software distribution?'
    59 The following text is a lecture outline.
    61 Main chapters (20 minutes)
    62 --------------------------
    63   Concepts
    64     Definition of packaging
    65       Software, text, metadata, other data
    66       Anatomy of various package types
    67       Mock up package diagram
    68     History of packaging
    69       SVR5
    70       DEB
    71       RPM
    72       Bundle
    73       Ports
    74       IPkg
    75       OPkg
    76       APK
    77     Dependency resolution
    78     Binary or source packages
    79     Automated package management
    81   Requirements
    82     Embedded packaging defined
    83     Mobile packaging defined
    84     Performance constraints
    85     Signing and security
    86     Hardware choices
    87       ARM, PC Engines, Panda/Beagle board, Chumby...
    88     Affecting design choices
    90   Commercial aspects
    91     Trend of online package stores
    92     Big five (Google, Intel, Nokia, Microsoft, Apple)
    93     Balancing developer interest with beaurocratic apathy
    94       Paying money to become an 'official' developer
    95       Being 'allowed' to develop own applications
    96       Choice of license, ownership, and business models
    97       Unwanted nontechnical involvement
    99   Case studies
   100     Android [1]
   101     OpenWRT [2]
   102     M0n0wall [3]
   103     Harmattan [4]
   104     WetabOS [5]
   105     Opendreambox [6]
   106     Tizen [7][8]
   108 Demonstrations (10 minutes)
   109 ---------------------------
   110   WetabOS on ExoPC tablet (RPM)
   111   Harmattan on Nokia telephone (DEB)
   112   Opendreambox on Dream set-top box (I/OPKG)
   114 Optional discussion (5 minutes)
   115 -------------------------------
   116   Legacy MeeGo packaging
   117   Intel AppUp approach
   118   Packaging Arduino software
   120 Questions (10 minutes)
   121 ----------------------
   122   Anticipated questions
   123     How to make a package for a given embedded OS?
   124     Can a package be prepared on one device and copied to another?
   125     Can packages be prepared for various architectures with fat binaries?
   126     Architectural hardware 32-bit, 64-bit, and other CPU properties.
   127     How do I know which packages are installed on my device or phone?
   129 Relevant jokes about...
   130 -----------------------
   131   Packaging systems
   132   Linux operating system
   134 Glossary
   135 --------
   136   Debian package file (DEB)
   137   Redhat Package Manager (RPM)
   138   Android Application Package File (APK)
   139   Silverlight Application Package (XAP)
   141 Errata
   142 ------
   143   Android is not considered Linux by some.
   144   M0n0wall does not really run on Linux, rather on FreeBSD.
   145   Competing 'big five' do not all develop or distribute Linux.
   146   Some technology is deprecated, for example MeeGo variants.
   148 Lecture materials
   149 -----------------
   150 This lecture is developed on a public source code revision management
   151 system [9]. It is (or will be) published on a public file server [10].
   153 Technical requirements
   154 ----------------------
   155 A WLAN connection (for remote slide advancement,) internet connectivity
   156 (for demonstration purposes,) and a whiteboard (to sketch diagrams) are
   157 needed for this presentation.
   159 Links and notes
   160 ---------------
   161   [1] http://developer.android.com/guide/developing/building/
   162   [2] http://www.openwrt.org/
   163   [3] http://m0n0.ch/wall/
   164   [4] http://harmattan-dev.nokia.com/docs/library/
   165   [5] http://www.4tiitoo.com/wetab-os.en.html
   166   [6] http://www.dreamboxupdate.com/
   167   [7] http://www.tizen.org/
   168   [8] will be considered a valid topic pending advice from Intel reps.
   169   [9] http://scm.europalab.com/lectures/
   170   [10] ftp://ftp.europalab.com/pub/doc/lect/

mercurial