Building Meego with OBS an Introduction to the Meego Build Infrastructure
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Tizen IVI “From Scratch” Customizing, Building and Testing
Tizen IVI “from scratch” Customizing, building and testing Stéphane Desneux Senior Software Engineer Eurogiciel <[email protected]> Eurogiciel ● Open source development and integration: ● Maintainers in multiple domains on tizen.org ● Embedded systems for real-time multimedia: ▪ Widi/Miracast stack ▪ Wayland/Weston ▪ Webkit2 browser with HW acceleration ● Applications: HTML5/CSS3, jquery, jqmobi, Cordova ● Location : Vannes (Brittany), France 14 2 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! Agenda ● Tizen & Tizen:IVI : short introduction ● From source code to target devices ● Customize ● Build ● Flash, Run, Test ! 14 3 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! Tizen: a short introduction Definition ● Open source project ● Hosted at the Linux Foundation ● Innovative Web-based platform for multiple devices ● Sponsored by worldwide companies ● Samsung & Intel are two big contributors ● Built on industry standards: ● GNU/Linux kernel, GNU libc ● POSIX ● W3C ● Many upstream Open Source projects 14 5 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! Tizen Profiles ● Multiple vertical profiles (derived from Tizen:Generic) ● IVI ● Mobile ● Future: other devices (TV, ...) ● Each profile adds its own enhancements ● Tizen packaging format: RPM 14 6 FOSDEM' Automotive devroom – Tizen “from scratch” : customize, build, test ! From source code … … to target devices 1: Source code GIT Repositories Remote Local Clone source repo Developers -
Create an Email with Subject Title “Embedded Software Engineer”, Email a Copy of Your Resume to [email protected]
To Apply for This Position: Create an email with subject title “Embedded Software Engineer”, email a copy of your resume to [email protected] Location Address: ALLEN PARK, MI,48101 Position Description: TITLE: Embedded Software Engineer ‐ Hypervisor OS technologies This position is responsible to develop QNX and Android operating system images for Ford infotainment products. This includes creating and integrating code for: bootloader, kernel, drivers, type 1 hypervisor, and build environment. Skills Required: • Lead the design, bring‐up and support of QNX and Android operating system images • Create virt‐io drivers for QNX or Android guest operating systems • Participate in root cause analysis of hardware quality problems and software defects • Participate in system design, documentation, and testing to deliver a best‐in‐class infotainment system Experience Required: • 5+ years operating system experience involving Linux or QNX • 5+ years C/C++ software development experience on embedded, mobile, or consumer electronic platforms Experience Preferred: • Experience with Type 1 hypervisors • Experience creating virt‐io drivers • Mastery of C/C++ language, GNU tool chain, and Unix (QNX, Linux, or equivalent) • Experience with embedded build systems including QNX system builder, buildroot, yocto, or equivalent • Knowledge of in‐vehicle signaling and communication mechanisms such as CAN • Proficiency with revision control including Git, Subversion, or equivalent • Multi‐site software project team experience Education Required: • Bachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, or related Education Preferred: • Master's degree in Computer Engineering, Electrical Engineering or Computer Science Additional Information: Web Based Assessment not required for this position. Visa Sponsorship and Domestic Relocation is available for this position. -
OS Selection for Dummies
OS SELECTION HOW TO CHOOSE HOW TO CHOOSE Choosing your OS is the first step, so take the time to consider your choice fully. There are many parameters to take into account: l Is this a new project or the evolution of an existing product? l Using the same SW stack? Re-using existing code? l Is your team familiar with a particular OS? Ø Using an OS you are already comfortable with can help l What are the HW constraints of your system? Ø Some operating systems require more memory/processing power than others l Have no SW team? Not sure about the above? Ø Contact us so we can help you decide! Ø We can also introduce you to one of our many partners! 1 OS SELECTION OPEN SOURCE VS. COMMERCIAL OS Embedded OS BSP Provider $ Cost Open-Source OS Boundary Devices • Embedded Linux / Android Embedded Linux $0, included • Large pool of developers available with Board Purchase • Strong community • Royalty-free And / or partners 3rd Party - Commercial OS Partners • QNX / Win10 IoT / Green Hills $>0, depends on • Professional support requirements • Unique set of development tools 2 OS SELECTION OPEN SOURCE SELECTION OS SELECTION PROS CONS Embedded Linux Most powerful / optimized Complexity for newcomers solution, maintained by NXP • Build systems Ø Yocto / Buildroot Simpler solution, makefile- Not as flexible as Yocto Ø Everything built from scratch based, maintained by BD Desktop-like approach, Harder to customize, non- Package-based distribution easy-to-use atomic updates, no cross- • Ubuntu / Debian compilation SDK Apt install / update, millions • Packages installed from server of prebuilt packages available Android Millions of apps available, same number of developers, Resource-hungry, complex • AOSP-based (no GMS) development environment, BSP modifications (HAL) • APK applications IDE + debugging tools 3 SOFTWARE PARTNERS Boundary Devices has an industry-leading group of software partners. -
MANAGING a REAL-TIME EMBEDDED LINUX PLATFORM with BUILDROOT John Diamond, Kevin Martin Fermi National Accelerator Laboratory, Batavia, IL 60510
MANAGING A REAL-TIME EMBEDDED LINUX PLATFORM WITH BUILDROOT John Diamond, Kevin Martin Fermi National Accelerator Laboratory, Batavia, IL 60510 Desktop distributions are an awkward Buildroot + ucLibc + Busybox + RTAI Quantitative Results implementation of an Embedded RTOS Buildroot – downloads, unpacks, • Whole build process is automated resulting in • Architecture-dependent binary configures, compiles and installs system much quicker build times (hours not days) software automatically • Kernel and root filesystem size: 3.5 MB – 20 packages uClibc – Small-footprint standard C library MB (reduction of 99%) • Loaded with unnecessary software Busybox – all-in-one UNIX utilities and shell • Boot-time: ~9 seconds • Huge footprints RTAI – Real-Time Linux extensions = Qualitative Results • Allows integration with revision control into First Try: Build Linux from Source the platform development process, making it • Success! But.. 2. Buildroot’s menuconfig generates a package configuration file easier to manage an ecosystem of targets • Is as difficult as it sounds and kernel configuration file • Community support for x86 & ARM targets Linux Kernel • Overwhelming number of packages and Configuration gives us confidence that future targets can be patches Package supported without much effort 1. Developer Configuration • No version control configures build via Buildroot’s • Cross-compile even more headaches menuconfig Internet Build Process Power Supply Control Quench Protection Git / CVS / SVN and Regulation for the System for Tevatron Did not do what we needed: Fermilab Linac Electron Lens (TEL II) 3. The build process pulls 4. The output from the software packages from build process is a kernel • Small-footprint network bootable image the internet and custom bzImage bzImage file with an softare packages from a integrated root filesystem ARM Cortex A-9 source code repository file PC/104 AMD • Automated build system Geode SBC Beam Position Monitor Power Supply Control prototype for Fermilab and Regulation for • Support for multiple architectures 5. -
Linux Based Mobile Operating Systems
INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Área Departamental de Engenharia de Electrónica e Telecomunicações e de Computadores Linux Based Mobile Operating Systems DIOGO SÉRGIO ESTEVES CARDOSO Licenciado Trabalho de projecto para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Orientadores : Doutor Manuel Martins Barata Mestre Pedro Miguel Fernandes Sampaio Júri: Presidente: Doutor Fernando Manuel Gomes de Sousa Vogais: Doutor José Manuel Matos Ribeiro Fonseca Doutor Manuel Martins Barata Julho, 2015 INSTITUTO SUPERIOR DE ENGENHARIA DE LISBOA Área Departamental de Engenharia de Electrónica e Telecomunicações e de Computadores Linux Based Mobile Operating Systems DIOGO SÉRGIO ESTEVES CARDOSO Licenciado Trabalho de projecto para obtenção do Grau de Mestre em Engenharia Informática e de Computadores Orientadores : Doutor Manuel Martins Barata Mestre Pedro Miguel Fernandes Sampaio Júri: Presidente: Doutor Fernando Manuel Gomes de Sousa Vogais: Doutor José Manuel Matos Ribeiro Fonseca Doutor Manuel Martins Barata Julho, 2015 For Helena and Sérgio, Tomás and Sofia Acknowledgements I would like to thank: My parents and brother for the continuous support and being the drive force to my live. Sofia for the patience and understanding throughout this challenging period. Manuel Barata for all the guidance and patience. Edmundo Azevedo, Miguel Azevedo and Ana Correia for reviewing this document. Pedro Sampaio, for being my counselor and college, helping me on each step of the way. vii Abstract In the last fifteen years the mobile industry evolved from the Nokia 3310 that could store a hopping twenty-four phone records to an iPhone that literately can save a lifetime phone history. The mobile industry grew and thrown way most of the proprietary operating systems to converge their efforts in a selected few, such as Android, iOS and Windows Phone. -
Operating System Components for an Embedded Linux System
INSTITUTEFORREAL-TIMECOMPUTERSYSTEMS TECHNISCHEUNIVERSITATM¨ UNCHEN¨ PROFESSOR G. F ARBER¨ Operating System Components for an Embedded Linux System Martin Hintermann Studienarbeit ii Operating System Components for an Embedded Linux System Studienarbeit Executed at the Institute for Real-Time Computer Systems Technische Universitat¨ Munchen¨ Prof. Dr.-Ing. Georg Farber¨ Advisor: Prof.Dr.rer.nat.habil. Thomas Braunl¨ Author: Martin Hintermann Kirchberg 34 82069 Hohenschaftlarn¨ Submitted in February 2007 iii Acknowledgements At first, i would like to thank my supervisor Prof. Dr. Thomas Braunl¨ for giving me the opportunity to take part at a really interesting project. Many thanks to Thomas Sommer, my project partner, for his contribution to our good work. I also want to thank also Bernard Blackham for his assistance by email and phone at any time. In my opinion, it was a great cooperation of all persons taking part in this project. Abstract Embedded systems can be found in more and more devices. Linux as a free operating system is also becoming more and more important in embedded applications. Linux even replaces other operating systems in certain areas (e.g. mobile phones). This thesis deals with the employment of Linux in embedded systems. Various architectures of embedded systems are introduced and the characteristics of common operating systems for these devices are reviewed. The architecture of Linux is examined by looking at the particular components such as kernel, standard C libraries and POSIX tools for embedded systems. Furthermore, there is a survey of real-time extensions for the Linux kernel. The thesis also treats software development for embedded Linux ranging from the prerequi- sites for compiling software to the debugging of binaries. -
Open Build Service Cross-Distribution Packaging
Open Build Service Cross-Distribution Packaging Sascha Peilicke <[email protected]> August 7, 2011 Intro • The Open Build Service – Formerly known as the 'openSUSE Buildservice' – It's a cross-distribution collaboration platform to build > Packages for all major distros, > Distributions (like openSUSE), > ISO's, appliances or VM's – Currently 29100 registered developers 149000 packages in 30800 repositories – Logo (WIP): 2 Features • Takes care of dependency changes, rebuild as needed • Automagically creates download repositories • Publish to world-wide mirroring infrastructure • Can pull from Git, SVN, ... • Supports semi-automatic package generation and update • Allows local development 3 Features • Instances can connect • Consists of – a web interface – command-line client (osc) – public API interface > HTTP, XML, REST, ... • Android client • (Mostly) test driven • Something for everyone: – Perl, Python, Ruby (Rails), Shell, C, HTML, CSS, JavaScript, SQL, XML, XPath, ... 4 The big picture Command Hermes Installer Web UI Line Your Tool Web UI (YaST,etc.) Client OBS API (api.opensuse.org) Notification Mirror Server Users, Auth, Database, Search, ... Interface Storage Build Build Build Build Build Build Host Host Host Host Host Host Backend 5 Web interface 6 Web interface - Statistics 7 Creating a package • Want to package an awesome app™ • Let's take choqok as an example! 8 Creating a package - Files • Requirements: – Source tarball (ha, easy!) – Build recipe (balls needed...) > Spec file for RPMs > Debian control files – Patience 9 Creating a package – The inevitable • You have to write spec files • Can be automated: – cpanspec – gem2rpm – py2pack – obs generator (blogs.kde.org/node/4177) • Helpful tools: – spec cleaner – rpmlint 10 Creating a package – Waiting • Once built locally, upload to OBS.. -
Full Virtualization on Low-End Hardware: a Case Study
Full Virtualization on Low-End Hardware: a Case Study Adriano Carvalho∗, Vitor Silva∗, Francisco Afonsoy, Paulo Cardoso∗, Jorge Cabral∗, Mongkol Ekpanyapongz, Sergio Montenegrox and Adriano Tavares∗ ∗Embedded Systems Research Group Universidade do Minho, 4800–058 Guimaraes˜ — Portugal yInstituto Politecnico´ de Coimbra (ESTGOH), 3400–124 Oliveira do Hospital — Portugal zAsian Institute of Technology, Pathumthani 12120 — Thailand xUniversitat¨ Wurzburg,¨ 97074 Wurzburg¨ — Germany Abstract—Most hypervisors today rely either on (1) full virtua- a hypervisor-specific, often proprietary, interface. Full virtua- lization on high-end hardware (i.e., hardware with virtualization lization on low-end hardware, on the other end, has none of extensions), (2) paravirtualization, or (3) both. These, however, those disadvantages. do not fulfill embedded systems’ requirements, or require legacy software to be modified. Full virtualization on low-end hardware Full virtualization on low-end hardware (i.e., hardware with- (i.e., hardware without virtualization extensions), on the other out dedicated support for virtualization) must be accomplished end, has none of those disadvantages. However, it is often using mechanisms which were not originally designed for it. claimed that it is not feasible due to an unacceptably high Therefore, full virtualization on low-end hardware is not al- virtualization overhead. We were, nevertheless, unable to find ways possible because the hardware may not fulfill the neces- real-world quantitative results supporting those claims. In this paper, performance and footprint measurements from a sary requirements (i.e., “the set of sensitive instructions for that case study on low-end hardware full virtualization for embedded computer is a subset of the set of privileged instructions” [1]). -
SUSE Template V2
Continuous Integration und DevOps mit dem Open Build Service SLAC 7.6.2013 Ralf Dannert Systems Engineer [email protected] Agenda • OBS Überblick • Nutzer/Anwendungsszenarien • osc - cmdline client • Source services • Ungewöhnliche Deliverables(Kiwi) • OBS Appliance • Continuous Integration/DevOps 2 OBS History • Created in 2005 as a rewrite of SUSE's internal autobuild system ‒ Goals: transparency, flexibility, openness ‒ First presented at FOSDEM 2006 • 2010: OBS-2.0 with features for the MeeGo project • 2011: OBS-2.1 with workflow features for openSUSE source handling • Current Release: OBS-2.4 3 4 Open Build Service (previously known as openSUSE Build Service) • Automated, repeatable and consistent : ‒ Clean chroot ‒ Handle build dependencies and autorebuild if needed ‒ Take care of publishing consistent repositories • Generate packages or full OS images / appliances 5 Development • Licensed under GPLv2 ‒ https://github.com/openSUSE/open-build-service/ • Lines of Code: > 150000 ‒ Perl/Python/Ruby • Mostly maintained by SUSE, but many contributions from community members & other companies 6 Numbers • Confirmed Users: >32000 • Package builds per day: > 51000 ‒ Build farm: 38 hosts, 310 workers • Storage: ‒ Sources: 3.3 Tbytes ‒ Binaries: 6.9 TBytes 7 Features • Multiple distributions, multiple architectures ‒ rpm, deb, archlinux, image creation • Sand-boxed builds (kvm/xen/lxc) on a build farm • Easy branching with automatic merges • Continuous Integration ‒ Automatic rebuilds on changes (both source and build packages), automatic ordering -
Instituto Tecnológico De Costa Rica Escuela De Ingenier´Ia En
Instituto Tecnol´ogicode Costa Rica Escuela de Ingenier´ıaen Electr´onica Improvement of small satellite's software design with build system and continuous integration tools para optar por el t´ıtulode Ingeniero en Electr´onicacon ´enfasisen sistemas empotrados con el grado acad´emicode Maestr´ıa Allan Granados [email protected] Cartago, Diciembre, 2015 2 Contents 1 Introduction 8 1.1 Previous work focus on small satellites . .9 1.2 Problem statement . 11 1.3 Proposed solution . 13 1.3.1 Proposed development . 13 2 Software development approaches for small satellites 15 2.1 Software methodologies used for satellites design . 15 2.2 Small satellite design and structure . 17 2.3 Central computation system in satellites. Homogeneous and Het- erogeneous systems . 18 2.4 Different approach on software development for small satellites . 20 2.4.1 Software development: Monolithic approach . 20 2.4.2 Software development: Development by component . 21 2.5 Open Source tools on the design and implementation of software satellite . 23 3 Integration of build system for small satellite missions 24 3.1 Build systems as an improvement on the design methodology . 24 3.1.1 Yocto build system . 29 4 Development platforms 32 4.1 Beagleboard XM . 32 4.2 Pandaboard . 35 4.3 Beaglebone . 38 5 Design and implementation of the construction system 41 5.1 Construction System . 41 5.1.1 The hardware independent layer: meta-tecSat . 42 5.1.2 The hardware dependent later: meta-tecSat-target . 43 5.1.3 Integration of the dependent and independent hardware layers in the construction system . 44 5.1.4 Adding a new recipe to a layer . -
Embedded Operating Systems
7 Embedded Operating Systems Claudio Scordino1, Errico Guidieri1, Bruno Morelli1, Andrea Marongiu2,3, Giuseppe Tagliavini3 and Paolo Gai1 1Evidence SRL, Italy 2Swiss Federal Institute of Technology in Zurich (ETHZ), Switzerland 3University of Bologna, Italy In this chapter, we will provide a description of existing open-source operating systems (OSs) which have been analyzed with the objective of providing a porting for the reference architecture described in Chapter 2. Among the various possibilities, the ERIKA Enterprise RTOS (Real-Time Operating System) and Linux with preemption patches have been selected. A description of the porting effort on the reference architecture has also been provided. 7.1 Introduction In the past, OSs for high-performance computing (HPC) were based on custom-tailored solutions to fully exploit all performance opportunities of supercomputers. Nowadays, instead, HPC systems are being moved away from in-house OSs to more generic OS solutions like Linux. Such a trend can be observed in the TOP500 list [1] that includes the 500 most powerful supercomputers in the world, in which Linux dominates the competition. In fact, in around 20 years, Linux has been capable of conquering all the TOP500 list from scratch (for the first time in November 2017). Each manufacturer, however, still implements specific changes to the Linux OS to better exploit specific computer hardware features. This is especially true in the case of computing nodes in which lightweight kernels are used to speed up the computation. 173 174 Embedded Operating Systems Figure 7.1 Number of Linux-based supercomputers in the TOP500 list. Linux is a full-featured OS, originally designed to be used in server or desktop environments. -
Tryton Open Build Service
Building packages for Tryton Introduction to Open Build Service Axel Braun (with material from OpenBuildService) Axel Braun [email protected] [email protected] @coogor Dipl.-Ing, Dr.-Ing. Electrical engineering Works as Consultant and Project Manager mostly for international companies Lives in Düsseldorf/Germany Member of openSUSE project Package maintainer for (among others) Tryton and GNU Health (Live-CD) Supported education project: Favela Education (.org) Supported medical project: GNU Health 2 Open Build Service The easy way to packages 4 © - usesthis.com - CC-BY-SA 2.5 http://usesthis.com/images/portraits/richard.stallman.jpg 5 010011 6 ¿¿ whatever.tar.gz ?? docb@T520:~> ./configure docb@T520:~> make docb@T520:~> make install docb@T520:~> pip install 8 9 10 11 010011 12 Open Build Service Meat and Potatoes Formats DEB RPM PKGBUILD 14 Distributions CentOS ™ TM A simple, lightweight linux distribution. 15 Architectures 16 Output PACKAGE DVD IMAGE REPOSITORY 17 Open Build Service Jumpstart Overview Command Hermes Installer Web UI Line Your Client Web UI (YaST,etc.) Client OBS API (api.opensuse.org) Notification Mirror Server User controller, Database, Search, ... Interface Storage Build Build Build Build Build Build Host Host Host Host Host Host Backend 19 Project Model 20 Project Model – Build for repositories 22 Collaboration SUBMIT FORK FIX 25 API 26 Interconnect 27 Open Source 28 Open Build Service Lets start Creating Packages ✔ Create a package ✔ in your own home project 1 ✔ on the reference server 30 Building Packages ✔ Build