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