Meeting the Yocto Project
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Linux on the Road
Linux on the Road Linux with Laptops, Notebooks, PDAs, Mobile Phones and Other Portable Devices Werner Heuser <wehe[AT]tuxmobil.org> Linux Mobile Edition Edition Version 3.22 TuxMobil Berlin Copyright © 2000-2011 Werner Heuser 2011-12-12 Revision History Revision 3.22 2011-12-12 Revised by: wh The address of the opensuse-mobile mailing list has been added, a section power management for graphics cards has been added, a short description of Intel's LinuxPowerTop project has been added, all references to Suspend2 have been changed to TuxOnIce, links to OpenSync and Funambol syncronization packages have been added, some notes about SSDs have been added, many URLs have been checked and some minor improvements have been made. Revision 3.21 2005-11-14 Revised by: wh Some more typos have been fixed. Revision 3.20 2005-11-14 Revised by: wh Some typos have been fixed. Revision 3.19 2005-11-14 Revised by: wh A link to keytouch has been added, minor changes have been made. Revision 3.18 2005-10-10 Revised by: wh Some URLs have been updated, spelling has been corrected, minor changes have been made. Revision 3.17.1 2005-09-28 Revised by: sh A technical and a language review have been performed by Sebastian Henschel. Numerous bugs have been fixed and many URLs have been updated. Revision 3.17 2005-08-28 Revised by: wh Some more tools added to external monitor/projector section, link to Zaurus Development with Damn Small Linux added to cross-compile section, some additions about acoustic management for hard disks added, references to X.org added to X11 sections, link to laptop-mode-tools added, some URLs updated, spelling cleaned, minor changes. -
RZ/G Verified Linux Package for 64Bit Kernel V1.0.5-RT Release Note For
Release Note RZ/G Verified Linux Package for 64bit kernel Version 1.0.5-RT R01TU0311EJ0102 Rev. 1.02 Release Note for HTML5 Sep 7, 2020 Introduction This release note describes the contents, building procedures for HTML5 (Gecko) and important points of the RZ/G Verified Linux Package for 64bit kernel (hereinafter referred to as “VLP64”). In this release, Linux packages for HTML5 is preliminary and provided AS IS with no warranty. If you need information to build Linux BSPs without a GUI Framework of HTML5, please refer to “RZ/G Verified Linux Package for 64bit kernel Version 1.0.5-RT Release Note”. Contents 1. Release Items ................................................................................................................. 2 2. Build environment .......................................................................................................... 4 3. Building Instructions ...................................................................................................... 6 3.1 Setup the Linux Host PC to build images ................................................................................. 6 3.2 Building images to run on the board ........................................................................................ 8 3.3 Building SDK ............................................................................................................................. 12 4. Components ................................................................................................................. 13 5. Restrictions -
Embedded Linux Systems with the Yocto Project™
OPEN SOURCE SOFTWARE DEVELOPMENT SERIES Embedded Linux Systems with the Yocto Project" FREE SAMPLE CHAPTER SHARE WITH OTHERS �f, � � � � Embedded Linux Systems with the Yocto ProjectTM This page intentionally left blank Embedded Linux Systems with the Yocto ProjectTM Rudolf J. Streif Boston • Columbus • Indianapolis • New York • San Francisco • Amsterdam • Cape Town Dubai • London • Madrid • Milan • Munich • Paris • Montreal • Toronto • Delhi • Mexico City São Paulo • Sidney • Hong Kong • Seoul • Singapore • Taipei • Tokyo Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and the publisher was aware of a trademark claim, the designations have been printed with initial capital letters or in all capitals. The author and publisher have taken care in the preparation of this book, but make no expressed or implied warranty of any kind and assume no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising out of the use of the information or programs contained herein. For information about buying this title in bulk quantities, or for special sales opportunities (which may include electronic versions; custom cover designs; and content particular to your business, training goals, marketing focus, or branding interests), please contact our corporate sales depart- ment at [email protected] or (800) 382-3419. For government sales inquiries, please contact [email protected]. For questions about sales outside the U.S., please contact [email protected]. Visit us on the Web: informit.com Cataloging-in-Publication Data is on file with the Library of Congress. -
Introduction to the Yocto Project / Openembedded-Core
Embedded Recipes Conference - 2017 Introduction to the Yocto Project / OpenEmbedded-core Mylène Josserand Bootlin [email protected] embedded Linux and kernel engineering - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/1 Mylène Josserand I Embedded Linux engineer at Bootlin since 2016 I Embedded Linux expertise I Development, consulting and training around the Yocto Project I One of the authors of Bootlin’ Yocto Project / OpenEmbedded training materials. I Kernel contributor: audio driver, touchscreen, RTC and more to come! embedded Linux and kernel engineering - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! -
Riscv-Software-Stack-Tutorial-Hpca2015
Software Tools Bootcamp RISC-V ISA Tutorial — HPCA-21 08 February 2015 Albert Ou UC Berkeley [email protected] Preliminaries To follow along, download these slides at http://riscv.org/tutorial-hpca2015.html 2 Preliminaries . Shell commands are prefixed by a “$” prompt. Due to time constraints, we will not be building everything from source in real-time. - Binaries have been prepared for you in the VM image. - Detailed build steps are documented here for completeness but are not necessary if using the VM. Interactive portions of this tutorial are denoted with: $ echo 'Hello world' . Also as a reminder, these slides are marked with an icon in the upper-right corner: 3 Software Stack . Many possible combinations (and growing) . But here we will focus on the most common workflows for RISC-V software development 4 Agenda 1. riscv-tools infrastructure 2. First Steps 3. Spike + Proxy Kernel 4. QEMU + Linux 5. Advanced Cross-Compiling 6. Yocto/OpenEmbedded 5 riscv-tools — Overview “Meta-repository” with Git submodules for every stable component of the RISC-V software toolchain Submodule Contents riscv-fesvr RISC-V Frontend Server riscv-isa-sim Functional ISA simulator (“Spike”) riscv-qemu Higher-performance ISA simulator riscv-gnu-toolchain binutils, gcc, newlib, glibc, Linux UAPI headers riscv-llvm LLVM, riscv-clang submodule riscv-pk RISC-V Proxy Kernel (riscv-linux) Linux/RISC-V kernel port riscv-tests ISA assembly tests, benchmark suite All listed submodules are hosted under the riscv GitHub organization: https://github.com/riscv 6 riscv-tools — Installation . Build riscv-gnu-toolchain (riscv*-*-elf / newlib target), riscv-fesvr, riscv-isa-sim, and riscv-pk: (pre-installed in VM) $ git clone https://github.com/riscv/riscv-tools $ cd riscv-tools $ git submodule update --init --recursive $ export RISCV=<installation path> $ export PATH=${PATH}:${RISCV}/bin $ ./build.sh . -
Hands-On Kernel Lab
Hands-on Kernel Lab Based on the Yocto Project 1.4 release (dylan) April 2013 Tom Zanussi <[email protected]> Darren Hart <[email protected]> Introduction Welcome to the Yocto Project Hands-on Kernel Lab! During this session you will learn how to work effectively with the Linux kernel within the Yocto Project. The 'Hands-on Kernel Lab' is actually a series of labs that will cover the following topics: • Creating and using a traditional kernel recipe (lab1) • Using 'bitbake -c menuconfig' to modify the kernel configuration and replace the defconfig with the new configuration (lab1) • Adding a kernel module to the kernel source and configuring it as a built-in module by adding options to the kernel defconfig (lab1) • Creating and using a linux-yocto-based kernel (lab2) • Adding a kernel module to the kernel source and configuring it as a built-in module using linux-yocto 'config fragments' (lab2) • Using the linux-yocto kernel as an LTSI kernel (configuring in an item added by the LTSI kernel which is merged into linux-yocto) (lab2) • Using an arbitrary git-based kernel via the linux-yocto-custom kernel recipe (lab3) • Adding a kernel module to the kernel source of an arbitrary git-based kernel and configuring it as a loadable module using 'config fragments' (lab3) • Actually getting the module into the image and autoloading it on boot (lab3) • Using a local clone of an arbitrary git-based kernel via the linux-yocto- custom kernel recipe to demonstrate a typical development workflow (lab4) • Modifying the locally cloned custom -
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. -
Lmod Or How to Protect Your Sanity from Dependency Hell
Lmod or how to protect your sanity from dependency hell Steffen Müthing Interdisciplinary Center for Scientific Computing Heidelberg University Dune User Meeting Aachen September 26, 2013 1 Steffen Müthing | Lmod or how to protect your sanity from dependency hell ⇒ Have to keep around multiple versions of MPI, BLAS, ParMetis, ALUGrid, UGGrid, . The Issue • DUNE has a number of non-packaged dependencies • Some of those contain libraries that are bound to a compiler / MPI version • You have to support multiple compilers / MPIs • Library developer (we try to be good about this...) • Clusters with different compiler / MPI combinations • Easily switch between release / debug version of MPI (only with dynamic linking) • Use GCC in general, but switch to clang during the “fix compilation errors” stage 2 Steffen Müthing | Lmod or how to protect your sanity from dependency hell The Issue • DUNE has a number of non-packaged dependencies • Some of those contain libraries that are bound to a compiler / MPI version • You have to support multiple compilers / MPIs • Library developer (we try to be good about this...) • Clusters with different compiler / MPI combinations • Easily switch between release / debug version of MPI (only with dynamic linking) • Use GCC in general, but switch to clang during the “fix compilation errors” stage ⇒ Have to keep around multiple versions of MPI, BLAS, ParMetis, ALUGrid, UGGrid, . 2 Steffen Müthing | Lmod or how to protect your sanity from dependency hell Problems • Do I already have ALUGrid for MPICH? • If yes, where on earth did I put it? • Did I really build it with the correct dependencies? • Why does my build fail? Do all the libraries in my nice --with= actually work together? 3 Steffen Müthing | Lmod or how to protect your sanity from dependency hell • Look around for something that’s already there • Distribution package managers (APT, rpm, Portage, MacPorts, homebrew,. -
How to Create a Partitioned Image with the Custom Wic Plugin?
How to create a partitioned image with the custom Wic plugin? Tips and tricks based on the bootimg-grub-tb plugin development Norbert Kamiński, 3mdeb Embedded Systems Consulting Yocto Project Virtual Summit Europe, October 29-30, 2020 Agenda • $ whoami • Wic – OpenEmbedded Image Creator • Preparing layer • WKS files • Wic Plug-in Interface • Overall information • PluginSource Methods • Wic Plug-in development • bootimg-grub-tb - custom Wic Plug-in 2 Yocto Project® | The Linux Foundation® $ whoami • Open-source contributor • meta-pcengines • meta-trenchboot • qubes-fwupd • Scope of interests • embedded Linux • virtualization and containerization • bootloaders Norbert Kamiński Embedded Systems Engineer at 3mdeb Embedded Systems Consulting • • 3 Yocto Project® | The Linux Foundation® Wic – OpenEmbedded Image Creator Yocto Project | The Linux Foundation What is the Wic? • Wic stands for OpenEmbedded Image Creator • It is used to a create partitioned image • Wic is loosely based on the Meego Image Creator framework (mic) • It is using build artifacts instead of installing packages and configurations 5 Yocto Project® | The Linux Foundation® Prepare your layer • Go to your meta layer • Add wic to the IMAGE_FSTYPE variable in your local configuration IMAGE_FSTYPES += "wic" • Use the existing wic kickstart file or create specific one for your purposes 6 Yocto Project® | The Linux Foundation® Default partition layouts • At the start source poky/oe-init-build-env • List the available wic kickstart configurations $ wic list images mpc8315e-rdb Create -
& Qt What Meego Could Have Been
& Qt What MeeGo could have been David Greaves / lbt merproject.org Qt Developer Days 2012 We're proud of what we've achieved ! … what are we talking about? Making things TVs Cars Mobile Tablets Control/Embedded ... origins : ● Maemo reconstructed '09 ● We drank the MeeGo coolaid – and still do ! ● MeeGo needed to evolve ... but died ● Mer was reborn … vendor focus ... is : ● A core for mobile and smaller devices ● Aimed at device vendors ● Qt / QML ● Quality oriented ● Optimised for speed and size ● Ready to productise ... is not : ● A 'user experience' – no UI ● A 'hardware adaptation' – no kernel, GLES drivers ● Everything including the kitchen sink – <shock>Mer doesn't have Emacs</shock> ... delivers : ● Mobile / Nemo, Tablet / Plasma Active & Vivaldi, TV / TVOS (China), Healthcare / Lincor, IVI / Nomovok... ● X86 (not just Atom), ARM, MIPS ● N950/N900/N9 / Spark / STB / ExoPC / RasPi / Panda-beagleboards / Joggler / ... ... will let you : ● Operate efficiently ● Deliver quickly ● Use closed code ● Innovate ... will achieve this by : ● Customer focus ● Pragmatic ● Operating entirely in the open ● Being meritocratic ● Inclusive ... because code is not enough ... provides : ● Code – of course ● Systems – for build, QA, collaboration ● Best practices ● Documentation and support ... contains : ● Build & development ● Base ● Security ● Session ● Hardware ● Connectivity ● Audio Qt ● Graphical ● X11 / Wayland ● Libraries (inc perl + python libs) ... systems : ● OBS ● Upstream patches ● Integration with sb2 ● BOSS ● Business process automation by Ruote ● Scratchbox2 ● Next generation cross-building ... systems : ● IMG / mic ● Automated image builds ● Bugzilla ● Or <insert your choice here> ● Gerrit ● Or <insert your choice here> ● Futures.... ● Package DB for license tracking and libhybris Mer SDK Mer SDK Qt Creator with Mer plugins + Mer VM with Platform SDK = Mer SDK SDK roadmap .. -
Continuous Integration and Testing of a Yocto Project Based Automotive Head Unit
CONTINUOUS INTEGRATION AND TESTING OF A YOCTO PROJECT BASED AUTOMOTIVE HEAD UNIT MARIO DOMENECH GOULART MIKKO RAPELI Embedded Linux Conference Europe 2016 ABOUT BMW CAR IT GMBH Founded in 2001 as a wholly owned subsidiary of the BMW AG Strengthen BMW's software competence View vehicles as software systems Develop innovative software for future BMW Group vehicles Prototype solutions for early and reliable project decisions Participate in several open-source communities and research projects Embedded Linux Conference Europe 2016 Page 2 CARS AND HEAD UNITS Embedded Linux Conference Europe 2016 Page 3 PROJECT SETUP Development of a head unit for BMW cars A connected multimedia computer with navigation and telephony Several companies, physically distributed Hundreds of developers, on various levels Complex infrastructure Technical and political obstacles to set up technical solutions Embedded Linux Conference Europe 2016 Page 4 CI SYSTEM REQUIREMENTS Provide fast feedback for developers, integrators, project organization Automatic multi-stage CI Software components change-verification in an SDK environment Build components Execute unit tests Software integration change-verification in the system build Build the full system, for all targets, all images Quality assurance checks after build Build Acceptance Testing (BAT) on real target environments (hardware, SDK) Embedded Linux Conference Europe 2016 Page 5 QUICK OVERVIEW OF YOCTO PROJECT Linux-based cross-compilation framework Set of metadata and a task scheduler which, -
Yocto-Slides.Pdf
Yocto Project and OpenEmbedded Training Yocto Project and OpenEmbedded Training © Copyright 2004-2021, Bootlin. Creative Commons BY-SA 3.0 license. Latest update: October 6, 2021. Document updates and sources: https://bootlin.com/doc/training/yocto Corrections, suggestions, contributions and translations are welcome! embedded Linux and kernel engineering Send them to [email protected] - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/296 Rights to copy © Copyright 2004-2021, Bootlin License: Creative Commons Attribution - Share Alike 3.0 https://creativecommons.org/licenses/by-sa/3.0/legalcode You are free: I to copy, distribute, display, and perform the work I to make derivative works I to make commercial use of the work Under the following conditions: I Attribution. You must give the original author credit. I Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. I For any reuse or distribution, you must make clear to others the license terms of this work. I Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. Document sources: https://github.com/bootlin/training-materials/ - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/296 Hyperlinks in the document There are many hyperlinks in the document I Regular hyperlinks: https://kernel.org/ I Kernel documentation links: dev-tools/kasan I Links to kernel source files and directories: drivers/input/ include/linux/fb.h I Links to the declarations, definitions and instances of kernel symbols (functions, types, data, structures): platform_get_irq() GFP_KERNEL struct file_operations - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/296 Company at a glance I Engineering company created in 2004, named ”Free Electrons” until Feb.