AMD Alchemy™ Dbau1200™ Development Board Openembedded Quick Start Guide

Total Page:16

File Type:pdf, Size:1020Kb

AMD Alchemy™ Dbau1200™ Development Board Openembedded Quick Start Guide AMD Alchemy™ DBAu1200™ Development Board OpenEmbedded Quick Start Guide 1.0 Overview OpenEmbedded (OE) is a repository of metadata that includes information on how to obtain and build various software packages, as well as classes to abstract common steps in the build process. BitBake is a tool derived from Portage, the package management system for the Gentoo Linux distribution, which is used by OpenEmbedded to automate the task of building software packages. This document discusses use of OE and BitBake, in conjunction with the AMD Alchemy™ Au1200™ OE Development Kit, to create a Linux 2.6 image for the AMD Alchemy™ DBAu1200™ development board. Note: This is revision B of this document. The change from revision A (dated January 2006) is the document has been completely reorganized and the titled changed from AMD Alchemy™ DBAu1200™ Development Board Modifica- tions. 2.0 Prerequisite Software OE/BitBake development requires the use of an x86 Linux host PC. Unless otherwise specified, all actions in this document are to be performed on the host PC. Before building an image using OE/BitBake, ensure that the host PC is equipped with all software packages required for development. A list of prerequisite packages is located on the OE Wiki: http://oe.handhelds.org/cgi-bin/moin.cgi/RequiredSoftware The Wiki entry also contains detailed setup instructions for certain packages on certain Linux distributions. Most of the required packages are installed by default or available through the system’s package manager, depending on the host PC’s Linux distribution. For packages unavailable through the system’s package manager, follow the installation guidelines spec- ified on the package’s homepage. 3.0 Installing OE/BitBake Once the prerequisite software packages are installed, set up OE/BitBake on the host PC. Though this document describes the necessary steps to set up and build a basic image using OE/BitBake, developers are encouraged to read through OpenEmbedded’s Getting Started guide (http://oe.handhelds.org/cgi-bin/moin.cgi/GettingStarted) to familiarize themselves with OE. 3.1 Obtain OE Development Kit The AMD Alchemy™ Au1200™ OE Development Kit, available from the AMD Embedded Developer Support web site, is a collection of modifications to the OE metadata that tailors the OE build to the DBAu1200 development platform. To install, extract the archive to a suitable work location (this document assumes the user’s home directory, ~/): % cd ~ % tar xzf au1200-dev-kit_v1.0-r3.tar.gz 3.2 Obtain BitBake BitBake is obtained using the Subversion version control system, as described on the OE Wiki (http://oe.handhelds.org/cgi- bin/moin.cgi/GettingStarted#head-edc470c3655ac7ebac7ae7928ea574819170fa1b). BitBake does not need to be installed to the system, and can be run directly from the OE working directory. Check out BitBake from Subversion into the development kit base directory: % cd ~/travis-dev-kit % svn co svn://svn.berilos.de/bitbake/trunk/bitbake There should now be a bitbake/ directory within ~/travis-dev-kit/. This directory contains the BitBake tools used by OE. 40351B - April 2006 - Confidential 1 Application Note 40351B - April 2006 - Confidential 3.3 Obtain OpenEmbedded OE is obtained using the Monotone version control system, as described on the OE Wiki (http://oe.handhelds.org/cgi- bin/moin.cgi/GettingStarted#head-1c5adf3b1f1467ec9bcb48b5a34c18632557c3c4). Before checking out the OE files, a Monotone database must be built. Building the database from scratch is time intensive, therefore, the recommended method is to download a snapshot of the database from http://ewi546.ewi.utwente.nl/OE/OE.db.bz2, which can then be updated when necessary. Download and extract the bzip archive, then rename the extracted file to “oe.db”: % cd ~/travis-dev-kit % wget http://ewi546.ewi.utwente.nl/OE/OE.db.bz2 % bunzip2 OE.db.bz2 % mv OE.db oe.db Once the database has been obtained, check out OE using Monotone: % cd ~/travis-dev-kit % monotone --db=oe.db checkout --branch=org.openembedded.dev There should now be an org.openembedded.dev/ directory within ~/travis-dev-kit/ directory. This directory contains the metadata and scripts that comprise OE. 3.4 Configure OpenEmbedded Before OE can be used to build Linux for the DBAu1200 development board, AMD-specific modifications must be made to the OE tree. First, copy the example local.conf file from the OE tree to the base directory: % cd ~/travis-dev-kit % cp org.openembedded.dev/conf/local.conf.sample conf/local.conf Modify the following values in the newly created local.conf file: DL_DIR="${TOPDIR}/sources" BBFILES="alchemy/packages/*/*.bb org.openembedded.dev/packages/*/*.bb" DISTRO="travis" MACHINE="db1200" PREMIRROR=${CVS_TARBALL_STASH} After the values have been modified, remove the line containing “REMOVE_THIS_LINE”. To build with uClibc instead of glibc, change the value of DISTRO as follows: DISTRO="travis-uclibc" Next, apply the patches to the OE tree contained in the AMD Alchemy™ Au1200™ OE Development Kit: % cd ~/travis-dev-kit % for foo in *.patch; do patch –p1 < $foo; done Note any patches that failed during the process. The OE tree is checked out from a revision control repository that is updated in real-time, therefore, AMD-provided patches may contain references that are out of date. Any failed patches must be resolved by hand by comparing the newly patched file (filename), the original file (filename.orig), and the rejected hunks of the patch (filename.rej), then manually entering the changes from the reject file to the patched file. Once the changes are made, the original file and reject file may be safely removed. In the past, the differences causing patch failure have generally been minor, resulting from format changes or relocation of specific blocks. However, developers are encouraged to report any substantial changes causing patch failure to their local AMD representative for resolution. 2 AMD Alchemy™ DBAu1200™ Development Board OpenEmbedded Quick Start Guide Application Note 40351B - April 2006 - Confidential 3.5 Obtain AMD Source OE is designed to automatically obtain the source code for the packages it builds from publicly accessible web locations during the build process. Since AMD’s kernel and MAI source are not stored in a publicly-accessible location, they must be acquired manually from the AMD Embedded Developer Support web site and placed in a location that OE can reference. The ~/travis-dev-kit/files/ directory is used for this purpose. % cp linux-alchemy-src-2.6.11-r00058.tar.gz ~/travis-dev-kit/files % cp amdms2-1.0-01.02.75-src.tar.gz ~/travis-dev-kit/files Once the source packages have been placed in the files/ directory, update the OE configuration files to point to the correct version of the AMD source archives. For the filenames listed above, make the following modifications to the file ~/travis-dev- kit/alchemy/packages/linux/linux-alchemy_2.6.11.bb: PR = "r000058" AMD_DRIVER_VERSION="00.00.58" For the files in the example above, make the following modifications to the file ~/travis-dev-kit/alchemy/pack- ages/mae/amdms2_2.6.11.bb: PR = "r010275" AMD_DRIVER_VERSION = "01.02.75" SRC_URI="file://${TOPDIR}/files/amdms2-1.0-${AMD_DRIVER_VERSION}-src.tar.gz \ 4.0 Building the Image Once installation is complete, BitBake may be used to build a Linux system for the DBAu1200 development board. Perform the build as a normal user (not as root). No part of the build process should require super-user privileges. Before building, set the environment variable, BBPATH, to point to the location of the “.bb” files, and add the BitBake executable directory to the path: % cd ~/travis-dev-kit % export BBPATH=`pwd`:`pwd`/alchemy:`pwd`/org.openembedded.dev % export PATH=`pwd`/bitbake/bin:$PATH Finally, to build a complete Linux image for the DBAu1200, run BitBake with the DBAu1200 meta-package: % bitbake travis-db1200-2.6 BitBake then downloads and compiles each of the individual packages specified for the travis-db1200-2.6 target. This is a time intensive process. Once the build is complete, the complete Linux system is available in the directory ~/travis-dev- kit/tmp/deploy/images/. For the files in the example above, the Linux kernel is found in S-record format as linux26-db1200- 00.00.58.srec, and the root file system is found in bzipped tarball format as travis-db1200-01.03.00-r3.tar.bz2. 5.0 Using OE/BitBake Once the default build is complete, the OE build may be further tailored to suit the developer’s needs. Browse the OE Wiki for detailed documentation for working within the OE environment (http://oe.handhelds.org/cgi-bin/moin.cgi). 5.1 Configuring the Linux Kernel When building using the travis-db1200-2.6 meta-package, the kernel is automatically configured using a default configura- tion. This configuration may be changed to meet developer requirements. To change the Linux configuration, enter the Linux portion of OE’s working directory, located in tmp/work/linux-alchemy-2.6.11-<version>/linux-2.6.11. This folder con- tains the standard Linux source tree. From here, use menuconfig as normal to configure the kernel parameters: % cd ~/travis-dev-kit/tmp/work/linux-alchemy-2.6.11-r000058/linux-2.6.11 % make menuconfig AMD Alchemy™ DBAu1200™ Development Board OpenEmbedded Quick Start Guide 3 Application Note 40351B - April 2006 - Confidential Once the kernel has been configured as desired, save the kernel configuration and exit menuconfig. Copy the new configu- ration file to the “defconfig” file in the parent directory. The defconfig file should also be copied into the global metadata to use the configuration with fresh builds or with updated source packages: % cp .config ../defconfig % cp .config ~/travis-dev-kit/alchemy/packages/linux/files/defconfig 5.2 Adding Packages to the Build The travis-db1200-2.6 meta-package specifies individual software packages to be included in the build and on the final sys- tem.
Recommended publications
  • 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
    [Show full text]
  • 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.
    [Show full text]
  • 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 .
    [Show full text]
  • 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,
    [Show full text]
  • 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.
    [Show full text]
  • With Yocto/Openembedded
    PORTING NEW CODE TO RISC-V WITH YOCTO/OPENEMBEDDED Martin Maas ([email protected]) 1st RISC-V Workshop, January 15, 2015 Monterey, CA WHY WE NEED A LINUX DISTRIBUTION • To build an application for RISC-V, you need to: – Download and build the RISC-V toolchain + Linux – Download, patch and build application + dependencies – Create an image and run it in QEMU or on hardware • Problems with this approach: – Error-prone: Easy to corrupt FS or get a step wrong – Reproducibility: Others can’t easily reuse your work – Rigidity: If a dependency changes, need to do it all over • We need a Linux distribution! – Automatic build process with dependency tracking – Ability to distribute binary packages and SDKs 2 RISCV-POKY: A PORT OF THE YOCTO PROJECT • We ported the Yocto Project – Official Linux Foundation Workgroup, supported by a large number of industry partners – Part I: Collection of hundreds of recipes (scripts that describe how to build packages for different platforms), shared with OpenEmbedded project – Part II: Bitbake, a parallel build system that takes recipes and fetches, patches, cross-compiles and produces packages (RPM/DEB), images, SDKs, etc. • Focus on build process and customizability 3 GETTING STARTED WITH RISCV-POKY • Let’s build a full Linux system including the GCC toolchain, Linux, QEMU + a large set of packages (including bash, ssh, python, perl, apt, wget,…) • Step I: Clone riscv-poky: git clone [email protected]:ucb-bar/riscv-poky.git • Step II: Set up the build system: source oe-init-build-env • Step III: Build an image (may
    [Show full text]
  • A Smart Way to Manage OSS Compliance with Yocto+SPDX
    A Smart Way to Manage OSS Compliance with Yocto+SPDX Zheng Ruoqin, Fujitsu [email protected] Lei Maohui, Fujitsu Copyright 2017 FUJITSU COMPUTER TECHNOLOGIES LIMITED Fujitsu’s contributions to Yocto community Data comes from yocto (2015 ~) Contribution in yocto Layers Changesets commits 1 oe-core 90 meta-openembedded 258 2 258 3 meta-cloud-services 80 4 meta-virtualization 21 90 80 5 meta-cgl 11 21 11 6 2 meta-qt5 2 1 Copyright 2017 FUJITSU COMPUTER TECHNOLOGIES LIMITED Fujitsu’s contributions to Yocto community Data comes from meta-openembedded.git (2015 ~) Developers with the most changesets Top changeset contributors by Developer Changesets employer 1 Andreas Müller 440 (11.2%) commits 2 Derek Straka 421 (10.7%) 3 Martin Jansa 312 (7.9%) 1407 4 Khem Raj 300 (7.6%) 5 Jackie Huang 141 (3.1%) 6 Armin Kuster 121 (3.1%) 7 Li xin (Fujitsu) 100 (2.5%) 8 Yi Zhao 86 (2.2%) 742 9 Roy Li 85 (2.1%) 10 Kai Kang 84 (2.1%) 11 Alexander Kanavin 81 (2.1%) 258 230 12 Fabio Berton 62 (1.6%) 94 78 30 13 Andre McCurdy 60 (1.5%) 14 Chen Qi 50 (1.3%) 15 Robert Yang 46 (1.2%) 16 Pascal Bach 44 (1.1%) 17 Bian Naimeng(Fujitsu) 38 (1.0%) 2 Copyright 2017 FUJITSU COMPUTER TECHNOLOGIES LIMITED Agenda Introduction of SPDX • Background of SPDX • What is SPDX • Who are working for SPDX • The status of SPDX specification • SPDX file Yocto+SPDX • What is Yocto • Why we use SPDX in Yocto • Current state about Yocto+SPDX • What we have done for Yocto+SPDX • Future work Manage SPDX files by smart • What is smart • What we have done • How to Manage SPDX files by smart • Future work 3 Copyright 2017 FUJITSU COMPUTER TECHNOLOGIES LIMITED Introduction of SPDX Background of SPDX What is SPDX Who are working for SPDX The status of SPDX specification SPDX file 4 Copyright 2017 FUJITSU COMPUTER TECHNOLOGIES LIMITED Background of SPDX(1/2) meta-ivi meta-agl OSS B OSS C (GPLv3) OSS A No GPLv3! OSS C (GPLv3) License problem will be met in your company.
    [Show full text]
  • Yocto Project and Embedded OS
    Yocto Project and Jeffrey Osier-Mixon Embedded OS •What is the Yocto Project and why is it important? •Working with an open source collaborative project & community Kevin McGrath •Yocto Project concepts in a nutshell: environment, metadata, tools • Using Yocto cross-compiler • Running kernel via qemu th • Module installation, virtio, etc. July 28 2015 • Lessons learned, capabilities 11:00 PDT (GMT -7) 1 Yocto Project and Embedded OS Our guests Jeffrey Osier-Mixon: Jeff "Jefro" Osier-Mixon works for Intel Corporation in Intel's Open Source Technology Center, where his current role is community manager for the Yocto Project.. Jefro also works as a community architect and consultant for a number of open source projects and speaks regularly at open source conferences worldwide. He has been deeply involved with open source since the early 1990s. Kevin McGrath : Instructor at Oregon State University. I primarily teach the operating systems sequence and the senior capstone project sequence, but have taught architecture, assembly programming, introductory programming classes, and just about anything else that needs someone to teach it. While my background is in network security and high performance computing (computational physics), today I mostly live in the embedded space, leading to the “ECE wannabe” title in my department. Oleg Verge (Moderator): Technical Program Manager Intel Higher Education, System Engineer MCSE,CCNA, VCP Intel® IoT Developer Kit v1.0 Hardware components = + + Helpful Linux* tools (GCC tool chain, perf, oProfile, Software image + etc.), required drivers (Wi-Fi*, Bluetooth®, etc.), useful = API libraries, and daemons like LighttPD and Node.js. + Intel XDK Support for various IDEs = + + + For C/C++ For java, For Arduino* For Visual + node.js.,html5 sketches Programming Cloud services = Intel IoT Analytics includes capabilities for data collection, + storage, visualization, and analysis of sensor data.
    [Show full text]
  • Meeting the Yocto Project
    Meeting the Yocto Project In this chapter, we will be introduced to the Yocto Project. The main concepts of the project, which are constantly used throughout the book, are discussed here. We will discuss the Yocto Project history, OpenEmbedded, Poky, BitBake, and Metadata in brief, so fasten your seat belt and welcome aboard! What is the Yocto Project? The Yocto Project is a "The Yocto Project provides open source, high-quality infrastructure and tools to help developers create their own custom Linux distributions for any hardware architecture, across multiple market segments. The Yocto Project is intended to provide a helpful starting point for developers." The Yocto Project is an open source collaboration project that provides templates, tools, and methods to help us create custom Linux-based systems for embedded products regardless of the hardware architecture. Being managed by a Linux Foundation fellow, the project remains independent of its member organizations that participate in various ways and provide resources to the project. It was founded in 2010 as a collaboration of many hardware manufacturers, open source operating systems, vendors, and electronics companies in an effort to reduce their work duplication, providing resources and information catering to both new and experienced users. Among these resources is OpenEmbedded-Core, the core system component, provided by the OpenEmbedded project. Meeting the Yocto Project The Yocto Project is, therefore, a community open source project that aggregates several companies, communities, projects, and tools, gathering people with the same purpose to build a Linux-based embedded product; all these components are in the same boat, being driven by its community needs to work together.
    [Show full text]
  • Yocto Project Tricks & Hacks
    Yocto project Tricks & Hacks - MOORTHY (moorthy.baskaravenkatraman-sambamoorthy @linaro.org) Agenda ❖ Yocto project (OE-Core) and bitbake usages ❖ Things to be handled for faster build and development ❖ Extensible SDK Installer ❖ Things to be handled for yocto version migration Introduction ✓ Python based build framework system ✓ Uses bitbake for task execution Open Embedded Core (OE-Core) - is a collaborative effort of yocto project and the recognized openembedded model - Advantages: major architectures supported, distro less, one version for a recipe Bitbake ➢ Engine to execute shell and python based tasks ➢ Parses meta-data and split up tasks ➢ Includes a fetch library to download source code Meta-openembedded ● Collection of multiple layers and a supplement for OE-core with additional packages Bitbake options ● To run individual task $ bitbake <recipe> -c <task> ● Force task to run (mainly for forceful configure and compile) $ bitbake <recipe> -c <task> -f ● To continue even on error $ bitbake <image> -k ● To create dependency tree file $ bitbake <image/recipe> -g ● To run without dependency $ bitbake -b ../meta-xxx/recipes-yyy/zzz/recipe-z.bb ● To show more logs $ bitbake -D <recipe> - enables more debug prints $ bitbake -v <recipe> - verbose log Override Source Revision Why? ● Queries to fetch a desired revision to build ● Helps to test new change on HEAD of source tree if SRCREV is pinned Options ★ SRCREV_pn-xxx ⇨ Picks the mentioned revision ⇨ ${AUTOREV} gets the HEAD revision from the source control ⇨ buildhistory-collect-srcrevs
    [Show full text]
  • Mono on F&S Boards
    Mono on F&S Boards Version 0.2 (2020-06-16) © F&S Elektronik Systeme GmbH Untere Waldplätze 23 D-70569 Stuttgart Germany Phone: +49(0)711-123722-0 Fax: +49(0)711-123722-99 About This Document This document describes how to run .NET framework applications via Mono on F&S Boards. Remark The version number on the title page of this document is the version of the document. It is not related to the version number of any software release! The latest version of this document can always be found at http://www.fs-net.de. How To Print This Document This document is designed to be printed double-sided (front and back) on A4 paper. If you want to read it with a PDF reader program, you should use a two-page layout where the title page is an extra single page. The settings are correct if the page numbers are at the outside of the pages, even pages on the left and odd pages on the right side. If it is reversed, then the title page is handled wrongly and is part of the first double-page instead of a single page. Titlepage 8 9 Typographical Conventions We use different fonts and highlighting to emphasize the context of special terms: File names Menu entries Board input/output Program code PC input/output Listings Generic input/output Variables History Date V Platform A,M,R Chapter Description Au 2020-05-18 0.1 ALL A ALL Initial version PG 2020-06-09 0.2 ALL M ALL Correct typos and footer PG 2020-06-09 0.2 ALL A 2 Add System requirements chapter PG 2020-06-09 0.2 ALL M 8 Add GTK# tutorial directly into this document PG V Version A,M,R Added, Modified, Removed
    [Show full text]
  • Buildroot Vs Yocto: Differences for Your Daily Job
    Buildroot vs Yocto: Differences for Your Daily Job Luca Ceresoli — AIM Sportline [email protected] http://lucaceresoli.net ELC-E 2018 About me • Embedded Linux engineer at AIM Sportline http://www.aim-sportline.com/ • Develop products on custom hardware • Kernel, drivers, bootloader, FPGA • Integration, build system • Open source enthusiast • Contributor to Buildroot, the Linux kernel and a few other projects 1 Introduction • This is not a feature comparison, not a selection guide • If you need one: • Buildroot vs. OpenEmbedded/Yocto: A Four Hands Discussion, Belloni and Petazzoni, ELC 2016 (slides and video online) • http://www.jumpnowtek.com/linux/ Choosing-an-embedded-linux-build-system.html • https://opensource.com/article/18/6/embedded-linux-build-tools • Fact: both tools have pros and cons This is not… • This is not a tutorial 2 • If you need one: • Buildroot vs. OpenEmbedded/Yocto: A Four Hands Discussion, Belloni and Petazzoni, ELC 2016 (slides and video online) • http://www.jumpnowtek.com/linux/ Choosing-an-embedded-linux-build-system.html • https://opensource.com/article/18/6/embedded-linux-build-tools • Fact: both tools have pros and cons This is not… • This is not a tutorial • This is not a feature comparison, not a selection guide 2 • Fact: both tools have pros and cons This is not… • This is not a tutorial • This is not a feature comparison, not a selection guide • If you need one: • Buildroot vs. OpenEmbedded/Yocto: A Four Hands Discussion, Belloni and Petazzoni, ELC 2016 (slides and video online) • http://www.jumpnowtek.com/linux/ Choosing-an-embedded-linux-build-system.html • https://opensource.com/article/18/6/embedded-linux-build-tools 2 This is not… • This is not a tutorial • This is not a feature comparison, not a selection guide • If you need one: • Buildroot vs.
    [Show full text]