1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/packaging/embedlinuxpkg.txt Fri Jan 13 19:15:33 2012 +0100 1.3 @@ -0,0 +1,170 @@ 1.4 +Embedded Linux Packaging Systems 1.5 +Type: Lecture/presentation 1.6 +Category: Engineering/development 1.7 +Topic: Internals/System architecture/Implementation choices 1.8 +Audience: Embedded linux developers 1.9 +Duration: 45 minute presentation 1.10 + 1.11 +Author and Speaker 1.12 +------------------ 1.13 +Michael Schloh von Bennewitz 1.14 +Software Engineer, Europalab Networks 1.15 +web: http://michael.schloh.com/ 1.16 +email: michael@schloh.com 1.17 +isdn: +49(89)44239885 1.18 +voip: sips:michael@schloh.com 1.19 +xmpp: MSvB 1.20 + 1.21 +Biography 1.22 +--------- 1.23 +Michael Schloh von Bennewitz is a computer scientist specializing in 1.24 +network software, mobile computing, and client server design. He speaks 1.25 +at technical events every year. In the past, he has given lectures on 1.26 +object oriented design, technical writing, network protocols, mobile 1.27 +OSs, MeeGo development, LDAP integration strategies, and the Qt library 1.28 +build process. His speaking style is humorous, using gestures and good 1.29 +eye contact. He walks about the room and writes presentations in SVG 1.30 +or HTML5. 1.31 + 1.32 +Abstract 1.33 +-------- 1.34 +The most important concepts of software packaging are explained, 1.35 +including definitions, package ingredients (software, text, metadata, 1.36 +other data), leading to an anatomical dissection of various package 1.37 +types. A mock up package diagram eases understanding. A brief history 1.38 +of packaging systems, types, and models includes SVR5, DEB, RPM, Bundle, 1.39 +Ports, IPkg, OPkg, and APK technologies. Dependency resolution, binary 1.40 +and source packages differenciation, as well as automated package 1.41 +management concepts are considered. Embedded requirements for packaging 1.42 +include performance constraints, signing and security, hardware choices, 1.43 +as well as commercial aspects not within the developer's control. Due 1.44 +to the trend of online package stores with many big industry players 1.45 +opening 'markets', a review clarifies what commonalities, differences, 1.46 +and nuances such paradigms present. Case studies follow, leading to 1.47 +an understanding of the packaging systems used by Android, OpenWRT, 1.48 +M0n0wall, Harmattan, WetabOS, Opendreambox, and maybe Tizen. 1.49 +Demonstations include examination of the RPM-based WetabOS, the 1.50 +DEB-based Harmattan OS, and the I/OPKG-based Opendreambox on a set- 1.51 +top box. 1.52 + 1.53 +The audience consists of software engineers, system administrators, as 1.54 +well as advanced users of devices running embedded linux. Attendants 1.55 +expect clearly defined device groups (telephones, set-top boxes, IVI) 1.56 +and want to know the characteristics of corresponding packaging systems. 1.57 +Of importance for both hobby users as well as industry giants hoping to 1.58 +profit from the trend to 'stores' and 'markets' of software packages, 1.59 +Linux can answer the question 'what comes next in packaging technology 1.60 +and software distribution?' 1.61 + 1.62 +The following text is a lecture outline. 1.63 + 1.64 +Main chapters (20 minutes) 1.65 +-------------------------- 1.66 + Concepts 1.67 + Definition of packaging 1.68 + Software, text, metadata, other data 1.69 + Anatomy of various package types 1.70 + Mock up package diagram 1.71 + History of packaging 1.72 + SVR5 1.73 + DEB 1.74 + RPM 1.75 + Bundle 1.76 + Ports 1.77 + IPkg 1.78 + OPkg 1.79 + APK 1.80 + Dependency resolution 1.81 + Binary or source packages 1.82 + Automated package management 1.83 + 1.84 + Requirements 1.85 + Embedded packaging defined 1.86 + Mobile packaging defined 1.87 + Performance constraints 1.88 + Signing and security 1.89 + Hardware choices 1.90 + ARM, PC Engines, Panda/Beagle board, Chumby... 1.91 + Affecting design choices 1.92 + 1.93 + Commercial aspects 1.94 + Trend of online package stores 1.95 + Big five (Google, Intel, Nokia, Microsoft, Apple) 1.96 + Balancing developer interest with beaurocratic apathy 1.97 + Paying money to become an 'official' developer 1.98 + Being 'allowed' to develop own applications 1.99 + Choice of license, ownership, and business models 1.100 + Unwanted nontechnical involvement 1.101 + 1.102 + Case studies 1.103 + Android [1] 1.104 + OpenWRT [2] 1.105 + M0n0wall [3] 1.106 + Harmattan [4] 1.107 + WetabOS [5] 1.108 + Opendreambox [6] 1.109 + Tizen [7][8] 1.110 + 1.111 +Demonstrations (10 minutes) 1.112 +--------------------------- 1.113 + WetabOS on ExoPC tablet (RPM) 1.114 + Harmattan on Nokia telephone (DEB) 1.115 + Opendreambox on Dream set-top box (I/OPKG) 1.116 + 1.117 +Optional discussion (5 minutes) 1.118 +------------------------------- 1.119 + Legacy MeeGo packaging 1.120 + Intel AppUp approach 1.121 + Packaging Arduino software 1.122 + 1.123 +Questions (10 minutes) 1.124 +---------------------- 1.125 + Anticipated questions 1.126 + How to make a package for a given embedded OS? 1.127 + Can a package be prepared on one device and copied to another? 1.128 + Can packages be prepared for various architectures with fat binaries? 1.129 + Architectural hardware 32-bit, 64-bit, and other CPU properties. 1.130 + How do I know which packages are installed on my device or phone? 1.131 + 1.132 +Relevant jokes about... 1.133 +----------------------- 1.134 + Packaging systems 1.135 + Linux operating system 1.136 + 1.137 +Glossary 1.138 +-------- 1.139 + Debian package file (DEB) 1.140 + Redhat Package Manager (RPM) 1.141 + Android Application Package File (APK) 1.142 + Silverlight Application Package (XAP) 1.143 + 1.144 +Errata 1.145 +------ 1.146 + Android is not considered Linux by some. 1.147 + M0n0wall does not really run on Linux, rather on FreeBSD. 1.148 + Competing 'big five' do not all develop or distribute Linux. 1.149 + Some technology is deprecated, for example MeeGo variants. 1.150 + 1.151 +Lecture materials 1.152 +----------------- 1.153 +This lecture is developed on a public source code revision management 1.154 +system [9]. It is (or will be) published on a public file server [10]. 1.155 + 1.156 +Technical requirements 1.157 +---------------------- 1.158 +A WLAN connection (for remote slide advancement,) internet connectivity 1.159 +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are 1.160 +needed for this presentation. 1.161 + 1.162 +Links and notes 1.163 +--------------- 1.164 + [1] http://developer.android.com/guide/developing/building/ 1.165 + [2] http://www.openwrt.org/ 1.166 + [3] http://m0n0.ch/wall/ 1.167 + [4] http://harmattan-dev.nokia.com/docs/library/ 1.168 + [5] http://www.4tiitoo.com/wetab-os.en.html 1.169 + [6] http://www.dreamboxupdate.com/ 1.170 + [7] http://www.tizen.org/ 1.171 + [8] will be considered a valid topic pending advice from Intel reps. 1.172 + [9] http://scm.europalab.com/lectures/ 1.173 + [10] ftp://ftp.europalab.com/pub/doc/lect/