Mon, 07 May 2012 23:15:17 +0200
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/