Opensuse Build Service Intro (1/3)

Total Page:16

File Type:pdf, Size:1020Kb

Opensuse Build Service Intro (1/3) Porting openSUSE to 64-bit ARMv8 Rethinking Linux in the ARM Space Andreas Färber, B.Sc. [email protected] SUSE LINUX Products GmbH Agenda Outline Of This Presentation • How does a standard distro fit into Embedded? • Porting to 64-bit ARMv8: Open Build Service • Creating custom appliances: KIWI 3 Building Linux Appliances Embedded Linux Customizable Cross-Compilation Workflow Yocto kernel, eglibc, busybox, … OE BuildRoot fetch Build Sources Recipes cross-build Can be optimized per system copy Maintenance? Binaries Image 5 Standard Linux Package-Based Workflow kernel, glibc, bash, … reference copy Package Sources Sources Specifications native build Repository package .rpm, .drpm / .deb Binaries Central build servers install update Differential updates possible Requires initial bootstrap 6 Your Choice Some Considerations For Your Cortex-A Projects • Don't let your BSP vendor dictate your tools! ‒ Many alternatives – choose what works best for you • Storage size: openSUSE JeOS a few hundred MiB ‒ NAND, eMMC, SD card, USB/SATA disk, … • Maintenance: Is your device connected? ‒ Customers will want security vulnerabilities fixed! 7 Open Build Service (OBS) openSUSE Build Service Intro (1/3) https://build.opensuse.org/ 9 openSUSE Build Service Intro (2/3) Project “openSUSE:Factory:ARM” 10 openSUSE Build Service Intro (3/3) Package “libdrm” In Project “openSUSE:Factory:ARM” 11 Starting A Port Build Cycles For Project “openSUSE:Factory:ARM” These needed to be cross-compiled once 12 Package Builds (1/2) Building Without ARMv8 Hardware check in / branch dispatch worker VM install publish ARM Foundation Platform emulator 13 Package Builds (2/2) Building With QEMU Userspace Emulation QEMU patches published First distro to complete port check in / branch >10x faster than system emulation dispatch worker VM qemu-aarch64 emulator install publish KVM virtualization 14 Porting Packages Branching And Submitting A Package Failing To Build Factory:ARM Factory Devel Project User Project branch patch available? Linaro cross-distro update post patch check in submit submit 15 KIWI Appliances Creating Appliances (1/2) Customizing openSUSE openSUSE:13.1:Ports Kiwi Image Description openSUSE:13.1:Updates 17 Creating Appliances (2/2) Customizing openSUSE For Your Projects openSUSE:13.1:... devel:ARM:13.1:Contrib:... Kiwi Image Description your private repository 18 Try openSUSE in Foundation model or on your hardware! www.opensuse.org Thank you. 19 Corporate Headquarters +49 911 740 53 0 (Worldwide) Join us on: Maxfeldstrasse 5 www.suse.com www.opensuse.org 90409 Nuremberg Germany 22.
Recommended publications
  • 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
    [Show full text]
  • By the Power of Toolbox (Slides)
    Dario Faggioli “By The Power Of Virtualization SW. Eng. @ SUSE [email protected] Toolbox!” dariof @DarioFaggioli https://dariofaggioli.wordpress.com/ https://about.me/dario.faggioli About Me What I do ● Virtualization Specialist Sw. Eng. @ SUSE since 2018, working on Xen, KVM, QEMU, mostly about performance related stuff ● Daily activities ⇒ how and what for I use my workstation ○ Read and send emails (Evolution, git-send-email, stg mail, ...) ○ Write, build & test code (Xen, KVM, Libvirt, QEMU) ○ Work with the Open Build Service (OBS) ○ Browse Web ○ Test OSes in VMs ○ Meetings / Video calls / Online conferences ○ Chat, work and personal ○ Some 3D printing ○ Occasionally play games ○ Occasional video-editing ○ Maybe scan / print some document ● And all that, I do it with an openSUSE MicroOS, an immutable OS What is MicroOS ● Immutable single purpose OS, based on Tumbleweed ○ born as container host but not limited to that use case ■ https://microos.opensuse.org/ ■ https://en.opensuse.org/Portal:MicroOS ● Maybe, check this other talks (from yesterday): ○ An User & Developer Perspective on Immutable OSes ○ openSUSE MicroOS, a platform for everything from containers, to IoT, and even the desktop MicroOS: Your Immutable Desktop Single Purpose ⇒ Your Desktop / Workstation ● Rolling, but super stable ● Still early stage ~= ALPHA state ○ But usable already ○ (it’s actually what I’m using since a few months) ● Growing community of users ● Small community of developers ○ We need your help! :-) Psst… For now, right after install, remember to do this: ● # echo "<yourusername>:100000:65536" > /etc/subuid # echo "<yourusername>:100000:65536" > /etc/subgid Other Immutable Desktop OSes ● Fedora Silverblue https://silverblue.fedoraproject.org/ “[...] unlike other operating systems, Silverblue is immutable.
    [Show full text]
  • Open Build Service from Holism to Reductionism What Is Open Build Service? What Is the Open Build Service(OBS)?
    Open Build Service From Holism to Reductionism What is Open Build Service? What is the Open Build Service(OBS)? Source Package Image S B O OBS user submits source to OBS and gets a product 3 What Can OBS Create? • Package repositories Add-on packages Entire distributions Variations of packages or entire products • Installable Products • Appliances • Maintenance updates 4 OBS Inside of SUSE Support Developer Product Maintenance Updates Release Manager PTF Updates Reviewer 5 What is Supported by OBS? • Build formats ‒ rpm (spec) ‒ deb (dsc) ‒ kiwi (product & appliances) ‒ Debian Livebuild ‒ ArchLinux • Build process features ‒ Build in chroot, lxc, XEN or KVM (experimental: cloud) ‒ Architectures: ia32, ia64, x86_64, ppc*, hppa, mips, m68k, s390*, various Arm architectures ‒ Qemu can be used to emulate not existing hardware ‒ Repositories: rpm-md, yast, apt, maintenance channels 6 Faces of the Build Service • Build Software Packages ‒ Always clean (aka reproducable) build from one source ‒ Supports SUSE®, Fedora, Mandriva, Debian, Ubuntu, … package building • Build Products based on packages ‒ Respins of official openSUSE or SLE medias ‒ Build Add-On medias ‒ Build Live ISOs, OEM image, USB, XEN, ... media • Make development workflows transparent ‒ Submissions to distributions ‒ Run maintenance updates 7 Where is OBS Used at SUSE®? Public build.opensuse.org Partner OBS build.suse.com ● ● openSUSE distribution SLE Driver Update Medias ● openSUSE maintenance updates ● Development teams for openSUSE & SLE components openSUSE Community ● Packman
    [Show full text]
  • Config.Xml File Part I
    KIWI Building OS images and Appliances Robert Schweikert Software Engineer Consultant Novell Welcome and Introduction Who am I •Robert Schweikert • Work in ISV Engineering team – Work closely with IBM – Work on appliances with other ISVs as time permits • Contribute to Kiwi • Contribute to the openSUSE project • Active member of the LSB work group • Nuts about soccer © August 7, 2010 Novell Inc. 3 What is covered ? Outline (1/2) •Welcome and Introduction •Preliminaries • What is Kiwi • Setting up a Kiwi build • High level Kiwi image build process overview • Kiwi documentation resources • Using the Kiwi build environment •Using Kiwi • The Kiwi configuration tree • Kiwi configuration – the config.xml file part I © August 7, 2010 Novell Inc. 5 Outline (2/2) • Kiwi configuration – the config.xml file part II • Exploring image types • Kiwi configuration – the config.sh file • Kiwi configuration – the images.sh file • The overlay file system • What is an appliance • Build an appliance •Summary •Final Questions, Thoughts, Comments © August 7, 2010 Novell Inc. 6 Preliminaries What is Kiwi •It's a Fruit •It's a Bird •It's someone from New Zealand •It is a Linux image build system • Kiwi is an open source project hosted at kiwi.berlios.de licensed under GPL v2 with roots in the openSUSE build service. • Kiwi is mostly written in Perl • Kiwi is the engine behind SUSE Studio © August 7, 2010 Novell Inc. 8 Setting up a Kiwi build environment •root access is required •Kiwi is part of the openSUSE standard repository •Kiwi is part of the SLE-SDK • Add the SDK as a repository through YaST • Detailed description at http://www.novell.com/communities/node/10464/step-step-guide-set-kiwi-build-environment-sle •Live on the bleeding edge http://download.opensuse.org/repositories/Virtualization:/Appliances/ •In YaST or via zypper search for kiwi, install the packages © August 7, 2010 Novell Inc.
    [Show full text]
  • Four Use Cases When Using SUSE Products with IBM Z and Linuxone
    June 18, 2020 Four use cases when using SUSE products with IBM Z and LinuxONE Virtual VM Workshop Contact Mike Friesenegger Solution Architect Global IBM Alliance [email protected] +1 303 249 0817 2 Copyright © SUSE 2020 Agenda 1 Building repeatable images for LPAR, z/VM and KVM 2 Assessing impact of a security vulnerability 3 Make mission critical applications more resilient to unexpected failures 4 Minimize reboots when running mission critical applications 3 Copyright © SUSE 2020 SUSE and 20+ years of IBM Z and LinuxONE partnership 4 Copyright © SUSE 2020 Underpinning Digital Transformation 5 Copyright © SUSE 2020 The focus of this presentation 6 Copyright © SUSE 2020 Building repeatable images for LPAR, z/VM and KVM 7 Copyright © SUSE 2020 Image building with kiwi • Also known as KIWI NG • Open Source project available on GitHub • Included in the Development Tools Module in SUSE Linux Enterprise Server 15 SP1 • Build SLES, RHEL, Ubuntu, openSUSE, CentOS, Debian and other Linux distro images • Example image descriptions available in GitHub • Image types include virtual disk, OEM (raw disk), bootable/installable ISO, container • SUSE includes templates in SLES for getting started • SLES JeOS (Just Enough Operating System) template that is available is for x86_64 • SLES JeOS template for s390x with documentation is available here 8 Copyright © SUSE 2020 <?xml version="1.0" encoding="utf-8"?> Describing a <!-- OBS-Profiles: @BUILD_FLAVOR@ --> <image schemaversion="6.9" name="SLES15-SP1-JeOS" displayname="SLES 15 SP1"> reproducible image <description type="system"> <author>SUSE Linux GmbH</author> <contact>[email protected]</contact> • Image description is a XML file <specification>SUSE Linux Enterprise 15 SP1 JeOS</specification> • image type (e.g.
    [Show full text]
  • SUSE Linux Enterprise Server 15
    Data Sheet SUSE Linux Enterprise Server SUSE® Linux Enterprise Server 15 SUSE® Linux Enterprise 15 server is a multimodal operating system that paves the way for IT transformation in the software-defined era. The modern and modular OS helps simplify multimodal IT, makes traditional IT infrastructure efficient and provides an engaging platform for developers. As a result, you can easily deploy and transition business-critical workloads across on-premise and public cloud environments. Product Overview The “common code base” also helps System Requirements you improve systems management Many organizations use traditional infra- Minimum Linux server system requirements structure, software-defined infrastructure by avoiding maintaining multiple for installation: or a mix of traditional and software-de- code streams for different hardware • 1024 MiB RAM, 512 MiB Swap recommended fined. This leads to amultimodal IT scenario, setups in your mixed IT environment— • 2 GiB available disk space (8.5 GiB for all where different types of IT infrastructure the same operating system code runs patterns), 32 GiB for snapshot/rollback of IBM Mainframe and Raspberry Pi the OS have different technologies, processes and • 800 x 600 display resolution (1024 x 768 or business drivers. based IoT devices. It enables silicon higher recommended) agnostic computing that is independent Supported processor platforms: of underlying CPU architecture. SUSE Linux Enterprise 15 server, with its • x86-64 (Intel 64, AMD 64) mul timodal design, helps organizations As a result, you gain a consistent • ppc64le (IBM POWER LE) transform their IT landscape by bridg- experience across architectures— • s390x (IBM z Systems) ing traditional and software-defined x86-64, ARM, POWER and IBM Z.
    [Show full text]
  • Tools and Processes for Creating and Maintaining Own Linux Based Distributions in Corporate Environment
    Tools and processes for creating and maintaining own Linux based distributions in corporate environment Juhani Heliö Helsinki April 28, 2017 UNIVERSITY OF HELSINKI Department of Computer Science HELSINGIN YLIOPISTO — HELSINGFORS UNIVERSITET — UNIVERSITY OF HELSINKI Tiedekunta — Fakultet — Faculty Laitos — Institution — Department Faculty of Science Department of Computer Science Tekijä — Författare — Author Juhani Heliö Työn nimi — Arbetets titel — Title Tools and processes for creating and maintaining own Linux based distributions in corporate environment Oppiaine — Läroämne — Subject Computer Science Työn laji — Arbetets art — Level Aika — Datum — Month and year Sivumäärä — Sidoantal — Number of pages April 28, 2017 70 pages + 17 appendices Tiivistelmä — Referat — Abstract Nokia has been maintaining its own Linux distribution, dubbed Nokia Linux, for quite some time, and while the distribution has been successful, supporting it has become tedious at very least. The current version of Nokia Linuxes build system builds a monolithic distribution. This creates a multitude of problems ranging from having to rebuild all of the distribution’s software packages after patching a single package to not being able to efficiently customise images according to user needs. The current version also lacks any kind of stable release management causing every user to either maintain their own stable releases or having to constantly update from the official version. Apart from being too monolithic, the support of the software packages is insufficient. An efficient support team needs to be created to answer any internal support requests Nokia Linux users might have. In this thesis we first define our corporate environmental needs. We identify three needs: support, storage and security. We then define three methods for organising the support.
    [Show full text]
  • Building Appliances Locally with KIWI
    TUT 8118 SUSE® Studio Onsite in the Datacenter Andreas Thomas Ralf Dannert Designated Support Engineer Systems Engineer [email protected] [email protected] Agenda • Overview SUSE Studio • SUSE Studio and SUSE Manager Integration • SUSE Studio POCs in Datacenter environments ‒ Challenges in Build Environment ‒ Challenges in Deployment ‒ More Troubleshooting • Q&A 2 Overview SUSE Studio SUSE Studio Onsite: Key Features • Supported Linux in Minutes • Integrated Testing(testdrive) • Multiple Platforms ‒ Live CD/DVD, preload ISO/USB, HDD, PXE, Xen, vmdk, OVF, Amazon EC2) • Supportability Analyzer • Automated Dependency Discovery • Multi-Host Staged Delivery • SUSE Gallery 4 SUSE Studio Onsite (I/II) ‒ Behind the firewall, on-premise, installable and fully supported version ‒ similar core functionalities as SUSE Studio Online ‒ Delivered as software appliance, requires bare metal server to install ‒ Shipped as raw disk image and a bootable CD containing the raw disk image ‒ SUSE Studio is proprietary software and delivered based on a software licensing model 5 SUSE Studio Onsite (II/II) • SUSE Studio needs access to the following types of repositories used to build the appliance: ‒ Installation repositories: Pool repositories ‒ Update repositories: ‒ directly from NCC/SCC ‒ use Subscription Management Tool (SMT) for SLE 11 SP3 to mirror the update repositories from NCC • create appliances using the following base Operating Systems: ‒ SLE{DS} 10 SP4 x86 and x86_64 ‒ SLE{DS} 11 SP1,SP2,SP3 x86 and x86_64 ‒ SLE{DS} 12 with Maintenance Update after
    [Show full text]
  • Obs-User-Guide.Pdf
    User Guide User Guide: Open Build Service Publication Date: 09/28/2021 SUSE LLC 1800 South Novell Place Provo, UT 84606 USA https://documentation.suse.com Copyright © 2006– 2021 SUSE LLC and contributors. All rights reserved. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or (at your option) version 1.3; with the Invariant Section being this copyright notice and license. A copy of the license version 1.2 is included in the section entitled “GNU Free Documentation License”. For SUSE trademarks, see http://www.suse.com/company/legal/ . All other third-party trademarks are the property of their respective owners. Trademark symbols (®, ™ etc.) denote trademarks of SUSE and its aliates. Asterisks (*) denote third-party trademarks. All information found in this book has been compiled with utmost attention to detail. However, this does not guarantee complete accuracy. Neither SUSE LLC, its aliates, the authors nor the translators shall be held liable for possible errors or the consequences thereof. Contents About this Guide xiii 1 Available Documentation xiii 2 Feedback xiii 3 Documentation Conventions xiv 4 Contributing to the Documentation xv I FIRST STEPS 1 1 Beginnerʼs Guide 2 1.1 Target Audience 2 1.2 Conceptual Overview 2 Build Recipe 3 • Build Hosts and Packages 3 • Projects and Packages 4 1.3 Requirements for Working with the osc Command-Line Tool 5 1.4 Covered Scenarios 5 1.5 Configuring Your System for OBS 6 1.6 Setting Up Your Home Project for
    [Show full text]
  • Jeos Quick Start Guide
    SUSE Linux Enterprise Server JeOS 15 SP2 JeOS Quick Start Guide The following document provides an overview of SUSE Linux Enterprise Server JeOS and describes the setup procedure. Publication Date: September 24, 2021 Contents 1 Introduction 2 2 Available Image Flavors 5 3 Installing and Running JeOS on KVM 9 1 SLES 15 SP2 1 Introduction JeOS (Just enough Operating System) refers to a minimal customizable operating system that is tailored for a specic usage scenario: a container host, a virtual machine guest, an appliance base, or a small server image. JeOS acts as a foundation for building systems for use in a data center, creating desired virtual application images or appliances. You can choose what packages and components to install based on a specic use case. To that end, JeOS provides access to all regular software repositories. If you already have SUSE Linux Enterprise Server certication, you are automatically certied for JeOS, as it is derived from the same code base. SUSE Linux Enterprise Server JeOS allows you to reduce the operating system to the packages essential for the specic usage scenario. This minimizes the number of packages and patches that need to be managed and applied. By removing unnecessary packages, you also reduce the number of potential vulnerabilities, thus making the resulting system more secure. Reducing the system's footprint also results in lower resource consumption and improved performance. JeOS is delivered as pre-congured and ready-to-run virtual machine images. The system comes with the jeos-firstboot wizard for conguring system locales and the root password during the rst boot.
    [Show full text]
  • KIWI NG Documentation KIWI NG Documentation
    KIWI NG Documentation KIWI NG Documentation Publication Date: 09/24/2021 SUSE LLC 1800 South Novell Place Provo, UT 84606 USA https://documentation.suse.com Contents Preface xiv 1 The Appliance Concept xv 2 Use Cases xv 3 Contact xvi 1 Overview 1 1.1 Basic Workflow 1 Components of an Image Description 2 1.2 Conceptual Overview 3 1.3 Terminology 4 1.4 System Requirements 5 2 Installation 6 2.1 Installation from OBS 6 2.2 Installation from Distribution Repositories 7 2.3 Example Appliance Descriptions 8 3 Quick Start 9 3.1 Before you start 9 3.2 Choose a First Image 9 3.3 Build your First Image 9 3.4 Run your Image 10 3.5 Tweak and Customize your Image 10 iii KIWI NG Documentation 4 Working from the Command Line 11 4.1 kiwi-ng 11 SYNOPSIS 11 • DESCRIPTION 12 • GLOBAL OPTIONS 12 • EXAMPLE 13 4.2 kiwi-ng result list 14 SYNOPSIS 14 • DESCRIPTION 14 • OPTIONS 14 4.3 kiwi-ng result bundle 14 SYNOPSIS 14 • DESCRIPTION 15 • OPTIONS 15 4.4 kiwi-ng system prepare 15 SYNOPSIS 15 • DESCRIPTION 16 • OPTIONS 16 4.5 kiwi-ng system update 19 SYNOPSIS 19 • DESCRIPTION 19 • OPTIONS 19 4.6 kiwi-ng system build 19 SYNOPSIS 19 • DESCRIPTION 20 • OPTIONS 20 • URI_TYPES 23 4.7 kiwi-ng system create 23 SYNOPSIS 23 • DESCRIPTION 23 • OPTIONS 24 4.8 kiwi-ng image resize 24 SYNOPSIS 24 • DESCRIPTION 24 • OPTIONS 25 4.9 kiwi-ng image info 25 SYNOPSIS 25 • DESCRIPTION 25 • OPTIONS 26 5 Troubleshooting 27 5.1 Incompatible Filesystem Settings on Host vs.
    [Show full text]
  • SUSE Embedded Patrick Quairoli Presentation
    Tooling Linux for the Future of Embedded Systems Patrick Quairoli Director of Alliance and Embedded Technology SUSE / [email protected] With SUSE You Can Control Optimize Innovate Infrastructure Operations Faster 2 What is SUSE Embedded solutions deliver an optimized operating system for single-purpose workloads Reduced Operating SUSE Linux Enterprise Server System as the Foundation Embedded-based Subscription JeOS provides a lean, yet powerful Enterprise-grade systems made Flexible and customized licensing footprint for a task-specific, fixed- simple for fixed-function product and subscription model allows function hardware or software stack solution development access to a select set of SUSE components 3 Current Market Penetration Logistics Telecom Security System Integrators SUSE Distribution OEM Embedded Healthcare Manufacturing Retail 4 Advantages of a SUSE Embedded Solution 5 SUSE Embedded 6 Building an Embedded System is Challenging 7 Embedded Systems Simplified • Enterprise Quality OS -Maintenance Updates -Security patches -Just enough OS • Package Builds -X86, ARM64, Power, System z, more… • Package Repositories -Public -Private • Repeatable Clean Builds -Multiple hypervisors or image formats • Version control 8 SUSE Linux Enterprise Server Power your physical, virtual, and cloud-based, mission-critical workloads with a world-class, secure open source server operating system • Create an agile IT infrastructure using the latest container applications • Maximize service uptime with live patching and built-in virtualization
    [Show full text]