Advanced Customizations



Similar documents
Developing Embedded Linux Devices Using the Yocto Project

Creating a Custom Embedded Linux* OS for Any Embedded Device using the Yocto Project*

Developing Embedded Linux Devices Using the Yocto Project

Yocto Project Eclipse plug-in and Developer Tools Hands-on Lab

Create a Custom Embedded Linux Distribu3on for Any Embedded Device Using the Yocto Project

Create a Custom Embedded Linux Distribu3on for Any Embedded Device Using the Yocto Project

WIND RIVER LINUX 6 TABLE OF CONTENTS INNOVATORS START HERE.

Yocto Project ADT, Eclipse plug-in and Developer Tools

Embedded Linux development training 4 days session

IOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center

OpenEmbedded for medical devices

Developing applications on Yocto. Lianhao Lu Intel Corporation Feb. 29th, 2012

Linux Foundation Automotive Summit - Yokohama, Japan

MontaVista Linux 6. Streamlining the Embedded Linux Development Process

Building Embedded Systems

The Yocto Project Eclipse plug-in: An Effective IDE Environment for Embedded Application and System Developers

Embedded Linux development with Buildroot training 3-day session

Software Development for Embedded GNU Radio Applications

Using Intel C++ Compiler in Eclipse* for Embedded Linux* targets

Open Network Install Environment

Assembling a kernel test grid with autotest

PROPOSAL: OCP COMMON LINUX SWITCH DISTRIBUTION. Rob Sherwood and Mansour Karam OCP November 2013

How to Run the MQX RTOS on Various RAM Memories for i.mx 6SoloX

RISC-V Software Ecosystem. Andrew Waterman UC Berkeley

Using Red Hat Network Satellite Server to Manage Dell PowerEdge Servers

Implementing Red Hat Enterprise Linux 6 on HP ProLiant servers

Software Tools Bootcamp

An Oracle White Paper June Oracle Linux Management with Oracle Enterprise Manager 12c

Implementing SAN & NAS with Linux by Mark Manoukian & Roy Koh

Open Network Install Environment (ONIE) LinuxCon North America 2015

OpenWRT - embedded Linux for wireless routers

Using Toaster in a Production Environment

Andreas Burghart 6 October 2014 v1.0

opensuse.org Build Service

Using Buildroot for real projects

A Smart Way to Manage Packages in Yocto Project

Running Native Lustre* Client inside Intel Xeon Phi coprocessor

Introduction to Android Development. Jeff Avery CS349, Mar 2013

PetaLinux SDK User Guide. Application Development Guide

Additional Information: SSH, PuTTY, and VmWare

Intel Do-It-Yourself Challenge Lab 2: Intel Galileo s Linux side Nicolas Vailliet

Best practices for long-term support and security of the device-tree

NIVEO Network Attached Storage Series NNAS-D5 NNAS-R4. More information:

PowerPanel for Linux Software

Wind River Linux USER'S GUIDE 5.0.1

HTTP-FUSE PS3 Linux: an internet boot framework with kboot

1) SETUP ANDROID STUDIO

Korenix Embedded Systems

Red Hat Network Satellite Management and automation of your Red Hat Enterprise Linux environment

Xen and the linux console. why xencons={tty,ttys,xvc} will go away. Gerd Hoffmann

Red Hat Satellite Management and automation of your Red Hat Enterprise Linux environment

BF2CC Daemon Linux Installation Guide

APPLICATION DEVELOPMENT FOR THE IOT ERA. Embedded Application Development Moves to the Cloud

TUT19344 Managing RH/CentOS with SUSE Manager

Baseline Integration Team Intro 22/10/2016 Planners and Engineers

Setup Guide v8.3.0

Supported Platforms. HP Vertica Analytic Database. Software Version: 7.1.x

How To Install Storegrid Server On Linux On A Microsoft Ubuntu 7.5 (Amd64) Or Ubuntu (Amd86) (Amd77) (Orchestra) (For Ubuntu) (Permanent) (Powerpoint

Try Linux: Brief Guide for Rookies

Jukka Kokko SOFTWARE BUILD AND RELEASE MANAGEMENT FOR A WIRELESS PRODUCT WITH OPEN SOURCE TOOLS

Active-Active and High Availability

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

How To Develop Android On Your Computer Or Tablet Or Phone

The "Eclipse Classic" version is recommended. Otherwise, a Java or RCP version of Eclipse is recommended.

ovirt and Gluster hyper-converged! HA solution for maximum resource utilization

Getting Started Android + Linux. February 27 th, 2014

Track One Building a connected home automation device with the Digi ConnectCore Wi-i.MX51 using LinuxLink

Supported Platforms HPE Vertica Analytic Database. Software Version: 7.2.x

App Central: Developer's Guide. For APKG 2.0

Converting Linux and Windows Physical and Virtual Machines to Oracle VM Virtual Machines. An Oracle Technical White Paper December 2008

How to share media files through Windows Media Player 11

EDS1100/2100. VMware Image for Linux Software Developers Kit (SDK) Quick Start Guide

Creating and Using Databases for Android Applications

Deploying Windows Streaming Media Servers NLB Cluster and metasan

Open Source Datacenter Conference 2011 System Management with RHN Satellite. Dirk Herrmann, Solution Architect, Red Hat

Cloud on TIEN Part I: OpenStack Cloud Deployment. Vasinee Siripoonya Electronic Government Agency of Thailand Kasidit Chanchio Thammasat

Highly Available NFS Storage with DRBD and Pacemaker

SAS3 INSTALLATION MANUAL SNONO SYSTEMS 2015

EMC DOCUMENTUM xplore 1.1 DISASTER RECOVERY USING EMC NETWORKER

RoverPal - A Mobile Payment Application

Getting started with ARM-Linux

Riverbed Stingray Traffic Manager VA Performance on vsphere 4 WHITE PAPER

Cloud Connector for embedded Evaluation using Cygwin

Deploying Intellicus Portal on IBM WebSphere

Virtualization Management the ovirt way

Managing your Red Hat Enterprise Linux guests with RHN Satellite

STLinux Software development environment

IBM Endpoint Manager Version 9.2. Patch Management for SUSE Linux Enterprise User's Guide

An Introduction to Android. Huang Xuguang Database Lab. Inha University

Virtualization for Cloud Computing

inforouter V8.0 Server & Client Requirements

Overview. Open source toolchains. Buildroot features. Development process

Buildroot for Vortex86EX (2016/04/20)

White Paper. Fabasoft on Linux SELinux Support. Fabasoft Folio 2015 Update Rollup 2

Michele Jr De Candia Curriculum Vitae

z/tpf FTP Client Support

Open EMS Suite. O&M Agent. Functional Overview Version 1.2. Nokia Siemens Networks 1 (18)

Colligo Engage Windows App 7.0. Administrator s Guide

Transcription:

Advanced Customizations Khem Raj Embedded Linux Conference 2013 Yocto Project Developer Day San Francisco 19 FEB 2013

Starting Point Poky The Reference Distro Poky Policies in meta-yocto/conf/distro poky.conf poky-lsb.conf poky-tiny.conf 2

Customize Poky The Reference Distro Variable to Adapt DISTRO DISTRO_NAME MAINTAINER TARGET_VENDOR SDK_VENDOR DISTROOVERRIDES. 3

Add Own Layers bblayers.conf.sample Add new layers to BBLAYERS variable First level 2 BBLAYERS?= " \ ##COREBASE##/meta \ ##COREBASE##/meta-yocto \ ##COREBASE##/meta-yocto-bsp \ ##COREBASE##/meta-foo \ 4

Customize Local Configuration (local.conf) local.conf.sample Local customization e.g. USER_CLASSES USER_CLASSES?= "buildstats image-mklibs image-prelink" USER_CLASSES?= "buildstats image-mklibs 5

Building multiple BSPs e.g. Supporting Intel and PowerPC machine together In bblayers.conf.sample Add meta-intel to BBLAYERS Add meta-fsl-ppc to BBLAYERS ##COREBASE##/meta-fsl-ppc \ ##COREBASE##/meta-intel \ ##COREBASE##/meta-intel/meta-crystalforest \ 6

Tweak recipes If you need to adapt metadata recipe In layer meta-foo write a bbappend file e.g. netbase_5.0.bbappend PRINC := "${@int(princ) + 1}" # Disable network manager on machines that commonly do NFS booting do_install_append () { case "${MACHINE}" in "mymachine") touch ${D}${sysconfdir}/network/nm-disabled-eth0;; *);; esac } 7

e.g. Supporting Intel and PowerPC machine together In bblayers.conf.sample Add meta-intel to BBLAYERS Add meta-fsl-ppc to BBLAYERS ##COREBASE##/meta-fsl-ppc \ ##COREBASE##/meta-intel \ ##COREBASE##/meta-intel/meta-crystalforest \ 8

SDK Generate SDKs Build meta-toolchain for basic C/C++ SDK MACHINE=p5020ds-64b bitbake meta-toolchain Customize SDK contents (via meta-toolchain.bbappend) TOOLCHAIN_HOST_TASK += "nativesdk-dtc nativesdk-flex nativesdk-bison" TOOLCHAIN_TARGET_TASK += "boost-dev" TOOLCHAIN_TARGET_TASK_append_powerpc64 = " dtc " 9

SDK Generate image SDK Build SDK customized to image MACHINE=p5020ds-64b bitbake cpopulate_sdk my-custom-image 10

SSTATE Setup Shared State Add following to local.conf.sample or your own distro.conf (http or NFS) SSTATE_MIRRORS?= "\ file://.* http://dontexist.juniper.net/sstate/ \n" SSTATE_MIRRORS?= "\ file://.* ///net/dontexist.juniper.net/sstate/ \n" 11

Customize Download Mirror don t want bitbake to ever go out to wild wild web Set BB_NO_NETWORK Setup internal source mirror BB_NO_NETWORK?= "1" SOURCE_MIRROR_URL?= "file:///net/dontexist/downloads/" INHERIT += "own-mirrors" BB_GENERATE_MIRROR_TARBALLS = "1" 12

Online Package Management Add to image recipe IMAGE_FEATURES += "package-management" 13

Online Package Management Adapt zypper config zypper/juniper-updates.repo [rpms] name=rpms enabled=1 autorefresh=1 baseurl=http://dontexist.juniper.net/feeds/rpm type=none keeppackages=0 14

Online Package Management Write a zypper bbappend FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" PRINC := "${@int(princ) + 1}" SRC_URI += "file://juniper-updates.repo" do_install_append () { install -d ${D}${sysconfdir}/zypp/repos.d install -m 0644 ${WORKDIR}/juniper-updates.repo ${D}${sysconfdir}/zypp/repos.d } 15

Multilib Making it work for multiple architectures Append to distro.conf Notice the include instead of require include conf/distro/include/multilib- ${DEFAULTTUNE}.conf 16

Multilib Multilib Contents conf/distro/include/multilib-ppc64e5500.conf require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "ppce5500" conf/distro/include/multilib-x86-64.conf require conf/multilib.conf MULTILIBS = "multilib:lib32" DEFAULTTUNE_virtclass-multilib-lib32 = "x86" 17

Customizing EGLIBC System C library Customization Supports kernel like kconfig interface Customized using DISTRO_FEATURES_LIBC Long list described in metayocto/conf/local.conf.sample.extended Default builds all features into eglibc 18

I don t want Busybox Create own images Build using basic building blocks provided by Yocto metadata PACKAGEGROUPS - packagegroup-core-boot IMAGE_FEATURES - ssh-server-openessh Create your own task (replacement for busybox) packagegroup-proper-tools 19

Thank you for your participation!