Opensuse Build Service Intro (1/3)
Total Page:16
File Type:pdf, Size:1020Kb
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.