diff -r 8db559aeff4d -r 8b5e50e4968e packaging/embedlinuxpkg.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/packaging/embedlinuxpkg.txt Fri Jan 13 19:15:33 2012 +0100 @@ -0,0 +1,170 @@ +Embedded Linux Packaging Systems +Type: Lecture/presentation +Category: Engineering/development +Topic: Internals/System architecture/Implementation choices +Audience: Embedded linux developers +Duration: 45 minute presentation + +Author and Speaker +------------------ +Michael Schloh von Bennewitz +Software Engineer, Europalab Networks +web: http://michael.schloh.com/ +email: michael@schloh.com +isdn: +49(89)44239885 +voip: sips:michael@schloh.com +xmpp: MSvB + +Biography +--------- +Michael Schloh von Bennewitz is a computer scientist specializing in +network software, mobile computing, and client server design. He speaks +at technical events every year. In the past, he has given lectures on +object oriented design, technical writing, network protocols, mobile +OSs, MeeGo development, LDAP integration strategies, and the Qt library +build process. His speaking style is humorous, using gestures and good +eye contact. He walks about the room and writes presentations in SVG +or HTML5. + +Abstract +-------- +The most important concepts of software packaging are explained, +including definitions, package ingredients (software, text, metadata, +other data), leading to an anatomical dissection of various package +types. A mock up package diagram eases understanding. A brief history +of packaging systems, types, and models includes SVR5, DEB, RPM, Bundle, +Ports, IPkg, OPkg, and APK technologies. Dependency resolution, binary +and source packages differenciation, as well as automated package +management concepts are considered. Embedded requirements for packaging +include performance constraints, signing and security, hardware choices, +as well as commercial aspects not within the developer's control. Due +to the trend of online package stores with many big industry players +opening 'markets', a review clarifies what commonalities, differences, +and nuances such paradigms present. Case studies follow, leading to +an understanding of the packaging systems used by Android, OpenWRT, +M0n0wall, Harmattan, WetabOS, Opendreambox, and maybe Tizen. +Demonstations include examination of the RPM-based WetabOS, the +DEB-based Harmattan OS, and the I/OPKG-based Opendreambox on a set- +top box. + +The audience consists of software engineers, system administrators, as +well as advanced users of devices running embedded linux. Attendants +expect clearly defined device groups (telephones, set-top boxes, IVI) +and want to know the characteristics of corresponding packaging systems. +Of importance for both hobby users as well as industry giants hoping to +profit from the trend to 'stores' and 'markets' of software packages, +Linux can answer the question 'what comes next in packaging technology +and software distribution?' + +The following text is a lecture outline. + +Main chapters (20 minutes) +-------------------------- + Concepts + Definition of packaging + Software, text, metadata, other data + Anatomy of various package types + Mock up package diagram + History of packaging + SVR5 + DEB + RPM + Bundle + Ports + IPkg + OPkg + APK + Dependency resolution + Binary or source packages + Automated package management + + Requirements + Embedded packaging defined + Mobile packaging defined + Performance constraints + Signing and security + Hardware choices + ARM, PC Engines, Panda/Beagle board, Chumby... + Affecting design choices + + Commercial aspects + Trend of online package stores + Big five (Google, Intel, Nokia, Microsoft, Apple) + Balancing developer interest with beaurocratic apathy + Paying money to become an 'official' developer + Being 'allowed' to develop own applications + Choice of license, ownership, and business models + Unwanted nontechnical involvement + + Case studies + Android [1] + OpenWRT [2] + M0n0wall [3] + Harmattan [4] + WetabOS [5] + Opendreambox [6] + Tizen [7][8] + +Demonstrations (10 minutes) +--------------------------- + WetabOS on ExoPC tablet (RPM) + Harmattan on Nokia telephone (DEB) + Opendreambox on Dream set-top box (I/OPKG) + +Optional discussion (5 minutes) +------------------------------- + Legacy MeeGo packaging + Intel AppUp approach + Packaging Arduino software + +Questions (10 minutes) +---------------------- + Anticipated questions + How to make a package for a given embedded OS? + Can a package be prepared on one device and copied to another? + Can packages be prepared for various architectures with fat binaries? + Architectural hardware 32-bit, 64-bit, and other CPU properties. + How do I know which packages are installed on my device or phone? + +Relevant jokes about... +----------------------- + Packaging systems + Linux operating system + +Glossary +-------- + Debian package file (DEB) + Redhat Package Manager (RPM) + Android Application Package File (APK) + Silverlight Application Package (XAP) + +Errata +------ + Android is not considered Linux by some. + M0n0wall does not really run on Linux, rather on FreeBSD. + Competing 'big five' do not all develop or distribute Linux. + Some technology is deprecated, for example MeeGo variants. + +Lecture materials +----------------- +This lecture is developed on a public source code revision management +system [9]. It is (or will be) published on a public file server [10]. + +Technical requirements +---------------------- +A WLAN connection (for remote slide advancement,) internet connectivity +(for demonstration purposes,) and a whiteboard (to sketch diagrams) are +needed for this presentation. + +Links and notes +--------------- + [1] http://developer.android.com/guide/developing/building/ + [2] http://www.openwrt.org/ + [3] http://m0n0.ch/wall/ + [4] http://harmattan-dev.nokia.com/docs/library/ + [5] http://www.4tiitoo.com/wetab-os.en.html + [6] http://www.dreamboxupdate.com/ + [7] http://www.tizen.org/ + [8] will be considered a valid topic pending advice from Intel reps. + [9] http://scm.europalab.com/lectures/ + [10] ftp://ftp.europalab.com/pub/doc/lect/