|
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 |
|
7 |
|
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 |
|
17 |
|
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. |
|
28 |
|
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. |
|
49 |
|
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?' |
|
58 |
|
59 The following text is a lecture outline. |
|
60 |
|
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 |
|
80 |
|
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 |
|
89 |
|
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 |
|
98 |
|
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] |
|
107 |
|
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) |
|
113 |
|
114 Optional discussion (5 minutes) |
|
115 ------------------------------- |
|
116 Legacy MeeGo packaging |
|
117 Intel AppUp approach |
|
118 Packaging Arduino software |
|
119 |
|
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? |
|
128 |
|
129 Relevant jokes about... |
|
130 ----------------------- |
|
131 Packaging systems |
|
132 Linux operating system |
|
133 |
|
134 Glossary |
|
135 -------- |
|
136 Debian package file (DEB) |
|
137 Redhat Package Manager (RPM) |
|
138 Android Application Package File (APK) |
|
139 Silverlight Application Package (XAP) |
|
140 |
|
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. |
|
147 |
|
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]. |
|
152 |
|
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. |
|
158 |
|
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/ |