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.

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

mercurial