CE Workgroup Shared Embedded Linux Distribution Project
|
|
- Arabella Woods
- 6 years ago
- Views:
Transcription
1 CE Workgroup Shared Embedded Linux Distribution Project Yoshitake Kobayashi CE Workgroup, the Linux Foundation (Toshiba Corporation) Embedded Linux Conference Europe Oct, CE Workgroup, the Linux Foundation
2 Overview Introduction of CE Workgroup Introduction of Shared Embedded Linux Distribution Project 2
3 CE Workgroup Introduction of CE Workgroup The Linux Foundation 3 Copyright 2015, CE Workgroup, the Linux Foundation
4 Role of CEWG CE Workgroup Bridge between OSS (like Linux) developer communities and embedded system industry who wish to collaborate with those communities. Building the relation of trust and co-creation is so essential to realize the value of OSS However it is so difficult achieving such ideal relationship solely by any company because of the diversified, groval and huge scale of the active OSS communities CEWG is a community of people who belong to the industry that wish to become a citizen of grater OSS communities and perform co-creation of innovative software 4 Copyright 2015, CE Workgroup, the Linux Foundation
5 Industry domain CE Workgroup (Past) CEWG worked mainly for consumer electronics industry Through more than 10 years activities many technological challenges of OSS development went well and recently OSS is commonly used in CE industry (Now) CEWG extending the industry domain not only for consumer electronics but also for industrial appliances, medical equipment, transportation/traffic control system and more wider embedded system industry domain We are aiming at the wider use and collaboration of OSS for embedded systems CEWG will bridge to the OSS community and the unique technological challenges in each industry domain 5 Copyright 2015, CE Workgroup, the Linux Foundation
6 Governance Structure of CEWG CE Workgroup Steering Committee election approve Steering Committee Decide the budget, community supporting program and more Architecture Group Members Projects participation select Architecture Group Discussion board of the OSS technologies for the embedded systems Open Project candidates are selected by this group CEWG Projects Open Projects 6 Copyright 2015, CE Workgroup, the Linux Foundation
7 Activities of CEWG (elinux Wiki) CE Workgroup You will find bunch of precious technological information in the elinux Wiki CEWG supports for the site It is the technological information portal of OSS for embedded system developers 7 Copyright 2015, CE Workgroup, the Linux Foundation
8 Activities of CEWG (Linux, Long term support) CE Workgroup An extended support program based on industry requirement (Long Term Support Initiative) is carried out together with the Linux community Generally Linux community terminate supporting Linux when the next to next version released (it is about 5 month). It had been a great headache for the industry people who require the longer term support. The initiative pick up one release of Linux annually and extend the support term to 2 years The automated test environment have also been prepared and we are aiming at more sophisticated quality 8 Copyright 2015, CE Workgroup, the Linux Foundation
9 Activities of CEWG (Open Project) CE Workgroup CEWG Open Project is a open community funding program to reinforce the OSS development which worth for embedded system developers For example, we have funded a project up-streaming development result of Android to the original OSS development communities such as Linux community Solicit the project open to everyone The Architecture Group of CEWG select the solicited projects. Based on the Steering Committee approval, the funding will be carried out Some example of past projects Device tree documentation, Linux-tiny, DirectFB enhancement, Squashfs 9 Copyright 2015, CE Workgroup, the Linux Foundation
10 Activities of CEWG (CEWG Project) CE Workgroup CEWG Project aim to study and to solve issues on embedded system Linux in Civil Infrastructure ( was called Social Infrastructure ) Goals: Solve problems with Linux for use in civil infrastructure systems Status: Project scope presented at ELC 2015 and LinuxCon Japan 2015 Shared Embedded Distribution Goals: Create an industry-supported distribution of embedded Linux and provide support for long term Status: Created an Yocto layer by using Debian source code Presented at ELC, LCJ and ELCE Device Mainlining Goals: Study obstacles to mainlining, and work to reduce obstacles Status: SIG meetings at ELCE and ELC Presentations about overcoming obstacles at ELCE 2014, ELC 2015, and LCJ 2015 White paper (published at LCJ June 2015) 10 Copyright 2015, CE Workgroup, the Linux Foundation
11 Introduction of Shared Embedded Distribution For more information about this project Shared Embedded Linux Distribution CE Workgroup Linux Foundation 13
12 Motivation Linux is running on many kind of embedded systems Including the systems in civil infrastructure Things to be considered to choose a base distribution The number of supported packages Package versions Supported hardware Stability, number of bugs were fixed The frequency of security updates and supported timespan How to compile and customize packages 14
13 In our case What we want to do Make custom embedded Linux environments What we need Wider hardware support Stability Well tested packages are required Many embedded developer are still want to use stable version Long-term support Over 15 years support required, especially for security fixes (This is what we would like to contribute something) Fully customizable build system 15
14 Our solution Yocto Project "poky" One of the most popular reference distributions for embedded Linux Fully customizable build system Supports numerous embedded boards including modern ones Can be extended by meta-layer Debian GNU/Linux Support many kind of CPUs: x86, ARM, PowerPC, MIPS (32bit/64bit) Release a stable version after two years of testing Long-term support for 5 years by Debian-LTS project meta-debian 16
15 What is meta-debian? A meta layer for the Poky build system Main feature Allows cross-building Linux images using Debian source packages Implemented as an independent "layer" Completely separated from OpenEmbedded-Core and other layers Source code: 17
16 Build system structure (poky) Upstream source code Fetch poky build system meta (OpenEmbedded-Core) Board-specific metadata A B C Build A B C 18
17 Build system structure (poky + meta-debian) Upstream source code Debian source packages poky build system meta-debian meta (OpenEmbedded-Core) Board-specific metadata A B C Fetch Build A B C 19
18 Target versions of meta-debian Upstream source code Debian source packages Debian 8.0 jessie poky build system meta-debian Yocto Project 1.6 daisy meta (OpenEmbedded-Core) Board-specific metadata A B C Fetch Build A B C 20
19 Purpose of meta-debian Create embedded Linux environments with Wide embedded CPU support Stability Long-term support Fully customizable build system Provide a common place for developers having the same needs Contribute to upstream (Debian and Yocto Project) Especially for the Debian LTS project With Debian stable release + LTS With poky build system 21
20 Quick start 1. Download the build tools 2. Setup build directory 3. Build minimal Linux image 4. Run minimal Linux image on QEMU See also meta-debian/readme 22
21 Download build tools Download poky $ git clone git://git.yoctoproject.org/poky.git $ cd poky $ git checkout daisy Download meta-debian into the poky directory $ cd poky $ git clone $ cd meta-debian $ git checkout daisy meta-debian specific step 23
22 Setup build directory Change the default configuration Enable meta-debian layer Enable "debian" distro (DISTRO = "debian") The default target machine is "qemux86" (MACHINE = "qemux86") TEMPLATECONF is used by oe-init-build-env script $ export TEMPLATECONF=meta-debian/conf Run startup script This setup a build directory and environment variables automatically (builddir): name of build directory (optional) $ source /path/to/poky/oe-init-build-env (builddir) 24
23 Build minimal Linux image Run bitbake $ bitbake core-image-minimal Built images (case of qemux86) Output directly /path/to/builddir/tmp/deploy/images/qemux86 Kernel bzimage-qemux86.bin Root filesystem core-image-minimal-qemux86.ext3 core-image-minimal-qemux86.tar.gz 25
24 Run minimal Linux image on QEMU Run built images on QEMU environment qemux86 $ runqemu qemux86 nographic bootparams="init=/init root=/dev/sda" qemux86-64 $ runqemu qemux86-64 nographic bootparams="init=/init root=/dev/sda" qemuarm $ runqemu qemuarm nographic bootparams="init=/init console=ttyama0" qemuppc $ runqemu qemuppc nographic bootparams="init=/init" 26
25 How should we create recipe files? We need to create new recipes for Debian sources How? poky build system meta (OpenEmbedded-Core) recipe A recipe B recipe C recipe D Possible solutions Method 1: Modify OE-Core recipes directly Method 2: Add recipes into a new layer 27
26 Method 1: Modify OE-Core recipes We already tried this way previously,but Not the ideal solution Original OE-Core recipes are no longer available (Modified) Just a fork It becomes hard to catch up with the newest poky versions Difficult to convince other people to join our effort poky build system Modify directly meta (OpenEmbedded-Core) recipe A recipe B recipe C recipe D 28
27 Method 2: Add recipes into a new layer our solution The best way to add new recipes for specific purposes Original OE-Core recipes are still there Can be developed independently of OE-Core Enable / disable the layer easily like a module poky build system New layer meta-debian recipe A recipe B recipe C recipe X meta (OpenEmbedded-Core) recipe A recipe B recipe C recipe D 29
28 How should we create recipes in a layer? From scratch? Often takes time! Why? Need to create patches for supporting cross-build in poky We should follow the existing OE-Core recipes How? poky build system meta-debian recipe A recipe B recipe C recipe X How to follow? meta (OpenEmbedded-Core) recipe A recipe B recipe C recipe D 30
29 Method 1: "Include" OE-Core recipes Method 2: Use a part of OE-Core recipes 31
30 Method 1: "Include" OE-Core recipes We used to use this method before Unsuitable for our case Difficult to override some variables and functions Ex: already appended (_append) or prepended (_prepend) data Automatically follow "unneeded" OE-Core updates against our will Ex: Shown in the next slides poky build system 2. Override meta-debian recipe A recipe B recipe C recipe X meta (OpenEmbedded-Core) 1. Include recipe A recipe B recipe C recipe D 32
31 Method 1: "Include" OE-Core recipes binutils openssl binutils binutils CVE patches poky build system meta-debian openssl meta (OpenEmbedded-Core) openssl patches 33
32 Method 1: "Include" OE-Core recipes binutils Security patches applied twice openssl Difficult to maintain Target version was upgraded, and patches also upgraded Some upgraded patches conflict with Debian source poky build system meta-debian binutils openssl CVE conflict patches conflict meta (OpenEmbedded-Core) added Upgraded binutils openssl CVE patches patches 34
33 Method 1: "Include" OE-Core recipes binutils Security patches applied twice openssl Target version was upgraded Some upgraded patches conflict with Debian source Difficult to maintain poky build system Each recipe should create meta-debian for relative source code one binutils by one openssl CVE conflict patches conflict meta (OpenEmbedded-Core) added Upgraded binutils openssl CVE patches patches 35
34 Method 2: Use a part of OE-Core recipes Try to create recipes from scratch using Debian source packages Re-use the essential data from OE-Core patches, variables, functions for supporting cross-build our solution poky build system meta-debian recipe A recipe B recipe C recipe X meta (OpenEmbedded-Core) Partially copy recipe A recipe B recipe C patches variables functions recipe D 36
35 How should we implement recipes? LICENSE information Required files Source code initscripts, configs Patches Configure commands & options Compile commands & options How to installed files How to make the package file Package dependencies Recipe The following slide describes: Method 1: just re-use OE-Core recipes Method 2: Follow Debian s packaging 37
36 Method 1: re-use OE-Core (not a good solution) LICENSE information Required files Source code Debian initscripts, configs Patches Configure commands & options Compile commands & options Installed files and paths How to package files Dependencies between others OE-Core based Debian source Recipe files Build 38
37 Method 1: re-use OE-Core (not a good solution) LICENSE information Required files Source code Debian initscripts, configs Patches Configure commands & options Compile commands & options Installed files and paths How to package files Dependencies between others WHO IS THIS? OE-Core based Debian? poky? Debian source Recipe files Build 39
38 Method 1: re-use OE-Core (not a good solution) Bad results: conflicts of two distributions Compile fails Cause: missing configure options that Debian source requires Some programs fail to call commands or load data file Cause: installation paths differ from Debian s Cannot be used like Debian We should define some development "policy" for creating recipes 40
39 Policies for creating recipes our solution By default, follow Debian s packaging i.e. debian/rules For getting good affinity with Debian sources Customize for embedded system if necessary Disable features Remove dependencies Re-use only essential data from OE-Core for supporting cross-compile See "Method 2: Re-use OE-Core recipes" 41
40 Method 2: Follow Debian s packaging our solution LICENSE information Required files Source code initscripts, configs Patches Debian Configure commands & options Compile commands & options Installed files and paths How to package files OE-Core based Dependencies between others debian/rules Debian-based Debian source Recipe files Build Customize for embedded 42
41 How to create recipes (Sample: zlib) PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" meta-debian/recipe-debian/zlib/zlib_debian.bb 43
42 Step1: Add recipe revision PR = "r0" inherit debian-package Define recipe revision: ${PR} LICENSE = "Zlib" LIC_FILES_CHKSUM = Increment every update "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" 44
43 Step2: Inherit debian-package.bbclass PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" Debian based Setup Debian source package Define SRC_URI Apply Debian s patches (do_debian_patch) do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" 45
44 Step3: Add license information PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } LICENSE: License name Common license names are found in meta/files/common-licenses LIC_FILES_CHKSUM: Checksum of the license text Usually found in COPYING, LICENSE, or header of source files (.c,.h) DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" 46
45 Step4: Append patches PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } Add patches into SRC_URI do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } Necessary for being built in cross-compile environment Copied from OE-Core (or create it from scratch) DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" OE-Core based 47
46 Step5: Define configure options PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { Define configure commands oe_runmake DESTDIR=${D} install The same options as debian/rules } do_install_append_class-target() { } Some features should be disabled for embedded mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" Debian based 48
47 Step6: Define compile and install commands PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } Define compile & install commands autotools.bbclass often replaces them DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" 49
48 Additional Steps: Change library paths PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink ${D}/${libdir}/libz.so` ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" Debian based Move run-time libraries to the same directory as Debian 50
49 Additional Steps: Change package name PR = "r0" inherit debian-package LICENSE = "Zlib" LIC_FILES_CHKSUM = "file://zlib.h;beginline=4;endline=23;md5=fde612df1e5933c428b73844a0c494fd" SRC_URI += "file://remove.ldconfig.call.patch" do_configure() {./configure --shared --prefix=${prefix} --libdir=${libdir} } do_compile () { oe_runmake } do_install() { oe_runmake DESTDIR=${D} install } do_install_append_class-target() { mkdir -p ${D}/${base_libdir} mv ${D}/${libdir}/libz.so.* ${D}/${base_libdir} tmp=`readlink "libz" ${D}/${libdir}/libz.so` => "zlib1g" ln -sf../../${base_libdir}/$tmp ${D}/${libdir}/libz.so } Change the default binary package name to Debian s DEBIANNAME_${PN}-dbg = "${PN}1g-dbg" DEBIANNAME_${PN}-staticdev = "${PN}1g-staticdev" DEBIANNAME_${PN}-dev = "${PN}1g-dev" DEBIANNAME_${PN}-doc = "${PN}1g-doc" DEBIANNAME_${PN} = "${PN}1g" Debian based 51
50 Build results (zlib packages) zlib1g /lib/i386-linux-gnu/libz.so.1 /lib/i386-linux-gnu/libz.so /usr/share/doc/zlib1g/... zlib1g-dev /usr/include/i386-linux-gnu/zconf.h /usr/include/zlib.h /usr/lib/i386-linux-gnu/libz.so /usr/lib/i386-linux-gnu/pkgconfig/zlib.pc /usr/share/doc/... /usr/share/man/... /usr/lib/i386-linux-gnu/libz.a zlib1g-dbg zlib1g-udeb Debian 8.0 jessie lib32z1* lib64z1* libn32z1* zlib1g /lib/libz.so.1 /lib/libz.so meta-debian zlib1g-dev /usr/include/zconf.h /usr/include/zlib.h /usr/lib/libz.so /usr/lib/pkgconfig/zlib.pc zlib1g-doc /usr/share/man/... zlib1g-staticdev /usr/lib/libz.a zlib1g-dbg Ignore non-essential files 52
51 Directory structure poky meta recipes-xxx pkg pkg_1.0.bb classes files conf meta-debian recipes-xxx pkg pkg_debian.bb files classes debian-package.bbclass conf layer.conf distro debian.conf 53
52 Directory structure poky meta recipes-xxx pkg pkg_1.0.bb classes conf files Partially copy meta-debian recipes-xxx pkg pkg_debian.bb Core recipes classes Data for supporting cross-compile is partially copied from original recipes debian-package.bbclass files conf layer.conf distro debian.conf 54
53 Directory structure poky meta recipes-xxx pkg pkg_1.0.bb classes files conf meta-debian recipes-xxx pkg pkg_debian.bb Inherited by each recipe files classes debian-package.bbclass Provides debian specific functions and variables Fetch a source package automatically conf Apply Debian s patches automatically distro debian/patches/* layer.conf debian.conf 55
54 Directory structure poky meta recipes-xxx pkg pkg_1.0.bb classes files conf Defines configurations of distro Distro name = "debian" Common server URIs Features System managers meta-debian recipes-xxx pkg pkg_debian.bb classes Ex: init manager = busybox Ex: device manager = udev debian-package.bbclass files Exported to recipes conf layer.conf distro debian.conf 56
55 Build flow bitbake tasks do_fetch() do_unpack() do_debian_patch() do_patch() do_configure() do_compile() do_install() do_package()... pkg.git poky localfiles localfiles localfiles Download directory: ${DL_DIR} Working directory: ${WORKDIR} 57
56 Build flow bitbake tasks do_fetch() do_unpack() do_debian_patch() do_patch() do_configure() do_compile() do_install() do_package()... git clone --bare pkg.git poky localfiles localfiles localfiles Download directory: ${DL_DIR} git2 pkg.git quilt.git.done localfiles localfiles.done Check files Working directory: ${WORKDIR} 58
57 Build flow bitbake tasks do_fetch() do_unpack() do_debian_patch() do_patch() do_configure() do_compile() do_install() do_package()... pkg.git poky Download directory: ${DL_DIR} git2 pkg.git quilt.git.done localfiles localfiles localfiles localfiles localfiles.done Copy git checkout Working directory: ${WORKDIR} git localfiles localfiles localfiles 59
58 Build flow bitbake tasks do_fetch() do_unpack() do_debian_patch() do_patch() do_configure() do_compile() do_install() do_package()... pkg.git poky Download directory: ${DL_DIR} git2 pkg.git quilt.git.done localfiles localfiles localfiles localfiles localfiles.done Working directory: ${WORKDIR} git localfiles localfiles localfiles Apply debian/patches/* 60
59 Build flow bitbake tasks do_fetch() do_unpack() do_debian_patch() do_patch() do_configure() do_compile() do_install() do_package()... pkg.git poky Download directory: ${DL_DIR} git2 pkg.git quilt.git.done localfiles localfiles localfiles localfiles localfiles.done Apply patches for supporting cross-build Working directory: ${WORKDIR} git localfiles localfiles localfiles 61
60 Build flow bitbake tasks do_fetch() do_unpack() do_debian_patch() do_patch() do_configure() do_compile() do_install() do_package()... pkg.git poky localfiles localfiles localfiles Download directory: ${DL_DIR} git2 pkg.git quilt.git.done localfiles localfiles.done Install into the same paths as Debian Working directory: ${WORKDIR} Install directory: ${D} localfiles localfiles Built files git Configure & compile with same options as Debian localfiles localfiles localfiles 62
61 Build flow bitbake tasks do_fetch() do_unpack() do_debian_patch() do_patch() do_configure() do_compile() do_install() do_package()... Package by the same way as Debian pkg.git poky Download directory: ${DL_DIR} git2 pkg.git quilt.git.done Working directory: ${WORKDIR} localfiles localfiles localfiles localfiles localfiles.done localfiles localfiles.deb Install directory: ${D} localfiles localfiles Built files git localfiles localfiles localfiles 63
62 Current status Supported CPUs x86 32bit x86 64bit ARM PowerPC Kernel LTSI User land busybox-based minimal system Number of available packages: around 200 Recipe implementation is still ongoing implementing more recipes to support other packages 64
63 Current development status Meta-debian Poky version Debian version for source code Kernel Distribution Support Status Daisy Debian 8 (Jessie) LTSI 3.10 and RT patch Debian 8 (Jessie) Under development Number of packages Approx. 200 BSPs QEMU(X86, X86_64, ARM, PowerPC) RasberryPi MinnowBoard..etc. - Recipe development is ongoing to increase packages 65
64 Conclusions What is Shared Embedded Linux distribution Share the work of maintaining long-term support for an embedded distribution, by leveraging the work of the Debian project Metadata for building embedded Linux systems using Debian source packages Implemented as an independent layer of OpenEmbedded-Core meta-debian is intended to provide Wide embedded CPU support Stability Long-term support Fully customizable Linux 66
65 Conclusions Policies for creating recipes Debian based configs & packaging + customization for embedded For getting affinity with Debian sources Re-use OE-Core data for supporting cross-build Examples How to build & run a tiny Linux image How to create recipes 67
66 Future work Support more features and packages (over 200) LTSI + RT kernel, Wayland, Qt, etc. Support more embedded boards Testing: improve the quality of the system and packages LTP, LTP-DDT, POSIX test suite, ptest, etc. Contribute to the LTSI test project (JTA) [3] Keep following updates of poky and Debian 68
67 Please give us feedback Repository 69
68 Questions? 70
69 References 1. Poky meets Debian: Understanding How to Make an Embedded Linux by Using an Existing Distribution's Source Code YOSHI-PokyDebian_0.pdf 2. LTSI Test Project 3. Yocto Project Manuals
70 Thank you
71 remove.ldconfig.call.patch When /etc/ld.so.cache is writeable by user running bitbake then it creates invalid cache (in my case libstdc++.so cannot be found after building zlib(-native) and I have to call touch */libstdc++.so && /sbin/ldconfig to fix it. So remove ldconfig call from make install-libs Upstream-Status: Inappropriate [disable feature] diff -unr zlib orig/makefile.in zlib-1.2.6/makefile.in --- zlib orig/makefile.in :48: zlib-1.2.6/makefile.in :38: ,7 rm -f $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIB); ln -s $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)/$(SHAREDLIBM); - ($(LDCONFIG) true) >/dev/null 2>&1; fi cp zlib.3 $(DESTDIR)$(man3dir) chmod 644 $(DESTDIR)$(man3dir)/zlib.3 73
72 recipes-extended/newt/files/cross_ar.patch... Makefile.in 3 ++configure.ac files changed, 6 insertions(+), 1 deletion(-) --- a/makefile.in ,6 CFLAGS LDFLAGS CPPFLAGS = GNU_LD +AR VERSION TAG = -95,7 whiptcl.so: $(WHIPTCLOBJS) $(LIBNEWTSH) $(CC) -shared $(SHCFLAGS) $(LDFLAGS) -o whiptcl.so $(WHIPTCLOBJS) - L. -lnewt $(LIBTCL) -lpopt $(LIBS) $(LIBNEWT): $(LIBOBJS) - ar rv $@ $^ + $(AR) rv $@ $^ newt.o $(SHAREDDIR)/newt.o: newt.c Makefile... 74
73 qt4-embedded_git.bb require qt4-libs.inc PR = "r0" QT_CONFIG_FLAGS = " -v -embedded ${QT_ARCH} -release -opensource -make libs -nomake tools -nomake examples -nomake demos... 75
Deby - Reproducible and Maintainable Embedded Linux Environment with Poky
Deby - Reproducible and Maintainable Embedded Linux Environment with Poky Kazuhiro Hayashi CE Workgroup, The Linux Foundation (TOSHIBA Corporation) Embedded Linux Conference Europe 2016 Oct 12, 2016 About
More informationBuilding Debian-Based Products: Experiences in Collaboration
Building Debian-Based Products: Experiences in Collaboration Kazuhiro Hayashi, Toshiba Corporation (Baurzhan Ismagulov, ilbers GmbH) Jun 23, 2017 Motivation Deby and Isar : Both use Debian Have common
More informationCustomizing with Yocto. Dexuan Cui Intel Corporation
Customizing with Yocto Dexuan Cui Intel Corporation Agenda Yocto Project: Build System, Workflow and Components Key concepts in Poky: Configurations files, recipe, class, layer Poky directory tree overview
More informationYocto Overview. Dexuan Cui Intel Corporation
Yocto Overview Dexuan Cui Intel Corporation Agenda Introduction to the Yocto Project Participating Organizations Yocto Project Build System Yocto Project Workflow Quick Start Guide in a Slide What is the
More informationIntroduction to the Yocto Project. Developer s perspective
Introduction to the Yocto Project Developer s perspective Igor Baldachini Tiziano Cappellari http://www.nabertech.com/ What is the Yocto Project An open source project hosted at The Linux Foundation A
More informationDelivering Predictability: The Yocto Project Autobuilder, Automated Sanity Testing, License Collection, and Build Statistics Tracking
It s not an embedded Linux distribution It creates a custom one for you. Delivering Predictability: The Yocto Project Autobuilder, Automated Sanity Testing, License Collection, and Build Statistics Tracking
More informationWhy OpenEmbedded proved a good foundation for MontaVista. Cedric Hombourger Solutions & Services Architect
Why OpenEmbedded proved a good foundation for MontaVista Cedric Hombourger Solutions & Services Architect Moving away from RPM! Shortly after is 10th birthday, MontaVista unleashed MVL6: a complete revamp!
More informationMeeting 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
More informationPoky Linux & OpenEmbedded based environment
& based environment Marcin Juszkiewicz marcin@juszkiewicz.com.pl http://marcin.juszkiewicz.com.pl ST-Ericsson Community Workshop 2009 Some information about me Bought Sharp Zaurus SL-5500 in February 2003
More informationThe New Approach to Embedded Linux Development Marco Beardo FAE
MontaVista Linux 6 for Freescale The New Approach to Embedded Linux Development Marco Beardo FAE Contents Challenges MontaVista Linux 6 Overview Definitions Market Specific Distributions Software Development
More informationDebian & Yocto: State of the Art
Debian & Yocto: State of the Art Kazuhiro Hayashi, Toshiba Corporation Manuel Traut, Linutronix GmbH Baurzhan Ismagulov, ilbers GmbH Oct. 23, 2018 Agenda 1. Introduction 2. Existing Projects 3. Vision
More informationYocto Project components
Lecture 3 3 Yocto Project components 25 octombrie 2016 Exam questions 1. Please write al least four of the described components of a GNU toolchain 2. List the components which define a Linux distribution
More informationBuilding RT image with Yocto
Pierre Ficheux (pierre.ficheux@smile.fr) 02/2018 1 Disclaimer Poor English speaker! But good French speaker and writer :-) Loin du français je meurs (Louis-Ferdinand Céline) 2 $ whoami Embedded Linux developer,
More informationUsing the Yocto Autobuilder for Build and Release Management. Jate Sujjavanich Syntech Systems, Inc <jatedev -at- gmail.com> February 22, 2016
Using the Yocto Autobuilder for Build and Release Management Jate Sujjavanich Syntech Systems, Inc February 22, 2016 My Experience PCB/Schematic Design Das U-boot uclinux-dist
More informationYocto Project: A Vehicle for Embedded Qt Development
Yocto Project: A Vehicle for Embedded Qt Development Nitin A Kamble & Paul Eggleton Intel Corporation Qt Developer Days 2012, Santa Clara, CA, USA 07-Dec-2012. Agenda What is the Yocto Project? Who is
More informationIsar. Build Debian-Based Products with BitBake. Baurzhan Ismagulov. Embedded Linux Conference Europe Oct 11-13, 2016 Berlin, Germany
Isar Build Debian-Based Products with BitBake Baurzhan Ismagulov Embedded Linux Conference Europe Oct 11-13, 2016 Berlin, Germany Copyright (C) 2016, ilbers GmbH 2016-10-03 Contents About Us Motivation
More informationKHEM RAJ YOCTO PROJECT/OPEN EMBEDDED
KHEM RAJ YOCTO PROJECT/OPEN EMBEDDED AGENDA Introduction to OE and Yocto Project Why Yocto Project Building Embedded Linux using Yocto Project Customizing Embedded Linux Distribution Developer workflows
More informationWORKING WITH THE LINUX KERNEL IN THE YOCTO PROJECT SEAN HUDSON EMBEDDED LINUX ARCHITECT
WORKING WITH THE LINUX KERNEL IN THE YOCTO PROJECT SEAN HUDSON EMBEDDED LINUX ARCHITECT BIO Developing software for embedded devices since 1996 Started using Linux in 1999 to create a NAT router for my
More informationAgenda. Several projects are using GIT Developer(s) Junio Hamano, Linus Torvalds. Qt Stable release (January 31, 2011)
Basic Agenda 1 Project information Who is ussing 2 14 Oct 2011 3 Basic Data Transport Work ow 4 Con gure 5 Basic Project information Who is ussing Project information Who is ussing Project information
More informationAre you Really Helped by Upstream Kernel Code?
Are you Really Helped by Upstream Kernel Code? 1 HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com who am I Working for Renesas (semiconductor) 2 Over 15 years real embedded Linux
More informationIntroduction to GIT. Jordi Blasco 14 Oct 2011
Jordi Blasco (jblasco@xrqtc.com) 14 Oct 2011 Agenda 1 Project information Who is ussing GIT 2 Branch Tag Data Transport Workow 3 Congure 4 Working with remotes 5 Project information Who is ussing GIT Project
More informationIndustrial-grade Open Source Base Layer. Yoshitake Kobayashi, Toshiba Corporation Embedded Linux Conference North America, March 12-14, 2018
Industrial-grade Open Source Base Layer Yoshitake Kobayashi, Toshiba Corporation Embedded Linux Conference North America, March 12-14, 2018 What is CIP? 2 What is CIP? One of the most conservative open
More informationTowards Sustainable Systems with the Civil Infrastructure Platform. Jan Kiszka, Siemens AG LinuxCon North America, 24 th August 2016
Towards Sustainable Systems with the Civil Infrastructure Platform Jan Kiszka, Siemens AG LinuxCon North America, 24 th August 2016 1 Linux is widely used in Industry Transport Infrastructure Energy Infrastructure
More informationYocto Project and OpenEmbedded Training
Yocto Project and OpenEmbedded Training Yocto Project and OpenEmbedded Training Copyright 2004-2018, Bootlin (formerly Free Electrons). Creative Commons BY-SA 3.0 license. Latest update: February 23, 2018.
More informationDandified way to package management in Yocto Project
Dandified way to package management in Yocto Project Jun 21th, 2018 Zheng Ruoqin, Fujitsu zhengrq.fnst@cn.fujitsu.com whoami Zheng Ruoqin, Fujitsu Ltd. Embedded Linux Developer In-House Embedded Linux
More informationUsing Openembedded with Snapdragon Flight
April 2016 Mark Charlebois Using Openembedded with Snapdragon Flight Background Snapdragon Flight board is available from Intrinsyc Based on Qualcomm APQ8074 Uses 3.4 kernel (Android) and Linux userspace
More informationYumaPro Yocto Linux Quickstart Guide
YumaPro Yocto Linux Quickstart Guide YANG-Based Unified Modular Automation Tools Yocto Quickstart Guide Version 17.10-12 Table of Contents 1 Preface...3 1.1 Legal Statements...3 1.2 Additional Resources...3
More informationIntroducing the Civil Infrastructure Platform. Jan Kiszka and Yoshitake Kobayashi LinuxCon Japan, July, 2016
Introducing the Civil Infrastructure Platform Jan Kiszka and Yoshitake Kobayashi LinuxCon Japan, 13-15 July, 2016 Definition Civil Infrastructure Systems are technical systems responsible for supervision,
More informationTime is ready for the Civil Infrastructure Platform
Time is ready for the Civil Infrastructure Platform Yoshitake Kobayashi, Toshiba Urs Gleim, Siemens AG Embedded Linux Conference Europe, Berlin, October 13, 2016 1 Definition Civil Infrastructure Systems
More informationNFV in the Embedded World: Yocto Project and OpenStack
NFV in the Embedded World: Yocto Project and OpenStack August 22 nd, 2014 Jason Wessel - Product Architect for Wind River Linux - Kernel.org KDB/KGDB Maintainer 1 Cloud this, Cloud that Google, Microsoft
More informationHow to Write Tests for the AGL HW Test Infra. Jan-Simon Möller AGL Release Manager
How to Write Tests for the AGL HW Test Infra AGL AMM Oct 2017 Jan-Simon Möller AGL Release Manager jsmoeller@linuxfoundation.org Introduction, Topics Introduction Dipl.-Ing. Jan-Simon Möller jsmoeller@linuxfoundation.org
More informationIntroduction to the Yocto Project
Introduction to the Yocto Project Mark Hatle & Bruce Ashfield Yocto Project Dev Day Barcelona, Spain 08-Nov-2012. Agenda What is the Yocto Project? Who is the Yocto Project? Poky (Bitbake/OpenEmbedded-Core)
More informationStatus of Embedded Linux Status of Embedded Linux October 2014
Status of Embedded Linux Status of Embedded Linux October 2014 Tim Bird Architecture Group Chair LF CE Workgroup 1 Outline Kernel Versions Technology Areas CE Workgroup Projects Other Stuff Resources 2
More informationBuilding Container Images with OpenEmbedded and the Yocto Project. Scott Murray
Building Container Images with OpenEmbedded and the Yocto Project Scott Murray scott.murray@konsulko.com About Me Linux user/developer since 1996 Embedded Linux developer starting in 2000 Principal Software
More informationRZ/G Verified Linux Package V2.1.0-RT
RZ/G Verified Linux Package V2.1.0-RT R01TU0254EJ0100 Rev. 1.00 Introduction This release note describes the contents, building procedures and important points of the RZ/G Verified Linux Package V2.1.0-RT
More informationThe Yocto Project. Chris Young S/W Specialist SILICA Europe. Harmonising Software Development across multiple Embedded ARM SOC targets
The Yocto Project Harmonising Software Development across multiple Embedded ARM SOC targets Chris Young S/W Specialist SILICA Europe 11 Linux The Open Source OS When consolidation came up in the mainstream
More informationCustomize your Mainline or LTSI Linux Kernel using the Yocto Project
Customize your Mainline or LTSI Linux Kernel using the Yocto Project Saul Wold Intel Maintainer of meta-intel core BSPs ELC-E Dublin 06 OCT 2015 About Saul Intel & Yocto Project for last 5 years Meta-intel
More informationIndustrial-grade Open Source Base Layer Development
Industrial-grade Open Source Base Layer Development Yoshitake Kobayashi, Toshiba Corp. Urs Gleim, Siemens AG Embedded Linux Conference Europe, Prague, October 24, 2017 What is CIP? 2 What is CIP? One of
More informationOpenEmbedded in the Real World
OpenEmbedded in the Real World Scott Murray Senior Staff Software Engineer Konsulko Group http://konsulko.com Who am I? Long time Linux user (over 20 years) Have done Linux software development for over
More informationFebruary 2 nd Jean Parpaillon
Using GIT with Kerrighed project Kerrighed Summit '07 February 2 nd 2007 Jean Parpaillon Table of contents Kerrighed SCM Subversion GIT GIT with Kerrighed References 2 Kerrighed
More informationD1Y - Embedded Linux with Yocto
Training Embedded Linux with Yocto: Building embedded Linux platforms using Yocto - Operating Systems: Linux D1Y - Embedded Linux with Yocto Building embedded Linux platforms using Yocto Objectives Understanding
More informationYocto Project internal tools
Lecture 5 5 Yocto Project internal tools 08 noiembrie 2016 Outline Hob Toaster Autobuilder Devtool 08.11.2016 2 Recap: ADT Application Development Toolkit Optional Eclipse Yocto plug-ins available Qemu
More informationContribute To Linux Mainline
Contribute To Linux Mainline Wu Zhangjin / Falcon wuzhangjin@gmail.com Tiny Lab 泰晓实验室 http://tinylab.org June 3, 2013 Outline 1 About Linux Kernel Development 2 Upstream your source code 3 Reference 4
More informationCivil Infrastructure Platform : Industrial Grade SLTS Kernel and Base-Layer Development
Civil Infrastructure Platform : Industrial Grade SLTS Kernel and Base-Layer Development Yoshitake Kobayashi Open Source Summit Japan, Tokyo, June 2, 2017 Our Civilization is Run by Linux https://www.airpano.com/360degree-virtualtour.php?3d=san-francisco-usa
More information2013 Toshiba Corporation
2013 Toshiba Corporation Who am I? Yoshitake Kobayashi (YOSHI) Chief Specialist at Corporate Software Engineering Center, TOSHIBA CORPORATION Work on embedded operating systems Linux RTOS TOPPERS (uitron),
More informationIndustrial-grade Open Source Base Layer Development
Industrial-grade Open Source Base Layer Development Yoshitake Kobayashi, Toshiba Corp. Urs Gleim, Siemens AG Embedded Linux Conference Europe, Prague, October 24, 2017 More updates will be announced at
More informationD1 - Embedded Linux. Building and installing an embedded and real-time Linux platform. Objectives. Course environment.
Training Embedded Linux: Building and installing an embedded and real-time Linux platform - Operating Systems: Linux D1 - Embedded Linux Building and installing an embedded and real-time Linux platform
More informationLong Term Support Initiative
Long Term Support Initiative - Project Overview - March 7, 2012 CE Workgroup The Linux Foundation Preface The CE workgroup (CEWG) in the Linux Foundation has conducted intensive discussions to identify
More informationQt5 & Yocto: SDK and app migration. Denys Dmytriyenko LCPD, Arago Project Texas Instruments
Qt5 & Yocto: SDK and app migration Denys Dmytriyenko LCPD, Arago Project Texas Instruments Agenda Qt history in OpenEmbedded Qt4/5 usage in OE/Yocto Building and packaging filesystem images Qt SDK basics
More informationHow to cook the LTSI kernel with Yocto recipe
LTSI-34 release notes How to cook the LTSI kernel with Yocto recipe improve your productivity with LTSI & Yocto Hisao Munakata Linux Foundation Consumer Electronics working group February 20th 2013, ELC2013
More informationIntel Do-It-Yourself Challenge Compile C/C++ for Galileo Nicolas Vailliet
Intel Do-It-Yourself Challenge Compile C/C++ for Galileo Nicolas Vailliet www.intel-software-academic-program.com paul.guermonprez@intel.com Intel Software 2014-02-01 Why? C/C++ code? Why C/C++ code? Arduino
More informationNational Aeronautics and Space and Administration Space Administration. CFE CMake Build System
National Aeronautics and Space and Administration Space Administration CFE CMake Build System 1 1 Simplify integrating apps together CFS official Recycled from other projects Custom LC... SC HK A C B Z
More informationLaboratorio di Programmazione. Prof. Marco Bertini
Laboratorio di Programmazione Prof. Marco Bertini marco.bertini@unifi.it http://www.micc.unifi.it/bertini/ Code versioning: techniques and tools Software versions All software has multiple versions: Each
More informationMingw-w64 and Win-builds.org - Building for Windows
Mingw-w64 and Win-builds.org - Building for Windows February 2, 2014 1 Mingw-w64 2 3 Section outline Mingw-w64 History, motivations and philosophy What comes with a mingw-w64 tarball Environments to build
More informationSPDX with Yocto Project
SPDX with Yocto Project June 2th, 2015 Bian Naimeng, Fujitsu LINUX 4.0 anniversary T-shirt FUJITSU supports KAWASAKI FRONTALE football club, FUJITSU supports LINUX 4.0! 1 whoami Working for Fujitsu from
More informationLTSI Project update Long Term Support Ini0a0ve. Tsugikazu SHIBATA, NEC Hisao Munakata, Renesas 20, May 2014 LinuxCon so
LTSI Project update Long Term Support Ini0a0ve Tsugikazu SHIBATA, NEC Hisao Munakata, Renesas 20, May 2014 LinuxCon Japan@Chinzan so Key ac3vi3es of LTSI Long Term Support Ini3a3ve p Provide a industry
More informationIntroduction to Supercomputing
Introduction to Supercomputing TMA4280 Introduction to development tools 0.1 Development tools During this course, only the make tool, compilers, and the GIT tool will be used for the sake of simplicity:
More informationA Smart Way to Manage Packages in Yocto Project
A Smart Way to Manage Packages in Yocto Project Jul 14th, 2016 Fan Xin, Fujitsu Computer Technologies Limited fan.xin@jp.fujitsu.com 1378ka03 whoami Fan Xin, Fujitsu Computer Technologies Ltd. Embedded
More informationCustomizing the Yocto-Based Linux Distribution for Production
Customizing the Yocto-Based Linux Distribution for Production Components of a Linux distribution Toolchain (gcc) Libraries (glibc, etc.) Bootloader (grub, u-boot, etc.) Kernel File system Console utilities
More informationDigi Embedded Yocto 1.6. First Steps Guide
Digi Embedded Yocto 1.6 First Steps Guide Revision history 90001423 Revision Date Description E July, 2015 Updated to Digi Embedded Yocto 1.6.6 F October, 2015 Updated to Digi Embedded Yocto 1.6.7 G November,
More informationPrototyping IoT with. Pierre Ficheux 02/2017. Prototyping IoT with Yocto
Prototyping IoT with Pierre Ficheux (pierre.ficheux@smile.fr) 02/2017 1 $ whoami French embedded Linux developer, writer and teacher CTO @ Smile-ECS (Embedded & Connected Systems) 2 2 kinds of objects
More informationmeta-raspberrypi Documentation
meta-raspberrypi Documentation Release rocko meta-raspberrypi contributors Sep 06, 2018 Contents 1 meta-raspberrypi 3 1.1 Quick links................................................ 3 1.2 Description................................................
More informationYocto Project & Embedded Linux
Lecture 2 2 Yocto Project & Embedded Linux 18 octombrie 2016 Outline Cross-compiling Bootloaders Linux kernel Linux root filesystem Yocto Project 18.10.2016 2 Recap: The Yocto Project 18.10.2016 3 GNU
More informationPoky-tiny and Beyond, or Trying to put the Yocto in Yocto Project. Scott Murray
Poky-tiny and Beyond, or Trying to put the Yocto in Yocto Project Scott Murray scott.murray@konsulko.com About Me Linux user/developer since 1996 Embedded Linux developer starting in 2000 Principal Software
More informationAdding hardware support to Buildroot
Adding hardware support to Buildroot Pierre Ficheux (pierre.ficheux@openwide.fr) CTO Open Wide / OS4I 08/07/2010 1 Several ways to get a distribution Using commercial product (Wind River, MV, ) => / $$$
More informationFormatting 1. Commands starting with $ are Linux console commands on the host PC:
Custom Kernel Guide by Arrvindh Shriraman Last update: April 1, 2016 This document guides the user through: 1. Downloading and compiling the Linux kernel's source code. 2. Running a custom kernel inside
More informationCS 520: VCS and Git. Intermediate Topics Ben Kushigian
CS 520: VCS and Git Intermediate Topics Ben Kushigian https://people.cs.umass.edu/~rjust/courses/2017fall/cs520/2017_09_19.zip Our Goal Our Goal (Overture) Overview the basics of Git w/ an eye towards
More informationHow we added software updates to AGL
How we added software updates to AGL Phil Wise 2017 ATS Advanced Telematic Systems GmbH ATS Advanced Telematic Systems. Open source and open standard for connected mobility. Page 2 AGL Automotive Grade
More informationIOTIVITY AND EMBEDDED LINUX SUPPORT. Kishen Maloor Intel Open Source Technology Center
IOTIVITY AND EMBEDDED LINUX SUPPORT Kishen Maloor Intel Open Source Technology Center Outline Open Interconnect Consortium and IoTivity Software development challenges in embedded Yocto Project and how
More informationOverview. during this tutorial we will examine how touse git from the command line. finally we will explore a graphical visualisation of git activity
Overview slide 1 during this tutorial we will examine how touse git from the command line we will also browse some of the files in the linux kernel and gcc finally we will explore a graphical visualisation
More informationTesting your AGL, yocto ptest, lava and more
Testing your AGL, yocto ptest, lava and more ALS 2018 Jan-Simon Möller Release Manager, AGL, The Linux Foundation jsmoeller@linuxfoundation.org, DL9PF @IRC and elsewhere Image: public domain Dipl.-Ing.
More informationYocto Project and OpenEmbedded training 3-day session
Yocto Project and OpenEmbedded training 3-day session Title Yocto Project and OpenEmbedded development training Overview Understanding the Yocto Project Using it to build a root filesystem and run it on
More informationDigitalization of Kernel Diversion from the Upstream
Digitalization of Kernel Diversion from the Upstream To minimize local code modifications Hisao Munakata Linux Foundation Consumer Electronics working group April 4th 2016 1 / 52 Hisao Munakata Digitalization
More informationThe Yocto GENIVI Baseline Overview. Automotive Linux Summit, Fall 2013 Holger Behrens, Wind River Automotive Solutions
The Yocto GENIVI Baseline Overview Automotive Linux Summit, Fall 2013 Holger Behrens, Wind River Automotive Solutions Abstract The Yocto GENIVI Baseline, a public project of the GENIVI Alliance, based
More informationContributing to Automotive Grade Linux and GENIVI Development Platform
Contributing to Automotive Grade Linux and GENIVI Development Platform Leon Anavi Konsulko Group leon.anavi@konsulko.com Embedded Linux Conference 2017 21-23 February, Portland, Oregon Agenda Automotive
More informationZedboard Documentation
Zedboard Documentation Release A Architech February 18, 2017 Contents 1 Notations 3 2 Chapters 5 2.1 Unboxing................................................. 5 2.2 Quick start guide.............................................
More informationOCaml: State of the Platform 2014
OCaml: State of the Platform 2014 Anil Madhavapeddy (speaker) Amir Chaudhry, Jeremie Diminio, Thomas Gazagnaire, Louis Gesbert, Thomas Leonard, David Sheets, Mark Shinwell, Leo White, Jeremy Yallop with
More informationIt s not an embedded Linux distribution It creates a custom one for you. David Stewart Intel Corporation April 11, 2011
It s not an embedded Linux distribution It creates a custom one for you. The Yocto Project and its Application Development Toolkit (ADT) - The Answer to Effective Embedded Application Development David
More informationNew Contributor Tutorial and Best Practices
New Contributor Tutorial and Best Practices Vicențiu Ciorbaru Software Engineer @ MariaDB Foundation * 2018 MariaDB Foundation * Goal of this session Most attendees here are highly experienced devs Let's
More information2 Initialize a git repository on your machine, add a README file, commit and push
BioHPC Git Training Demo Script First, ensure that git is installed on your machine, and you have configured an ssh key. See the main slides for instructions. To follow this demo script open a terminal
More informationGit. Ľubomír Prda. IT4Innovations.
Git Ľubomír Prda IT4Innovations lubomir.prda@vsb.cz support@it4i.cz VCS Version Control System Versioning - creation and management of multiple releases of a product, all of which have the same general
More informationVersion Control with Git
Version Control with Git Jon Loeliger O'REILLY Beijing Cambridge Farnham Köln Sebastopol Tokyo Table of Contents Preface... xi 1. Introduction... 1 Background 1 The Birth of Git 2 Precedents 4 Time Line
More informationAN APPROACH TO DELIVER HARDWARE - DEPENDENT PACKAGES IN ORDER TO REDUCE EFFORT OF UPDATING AGL DISTRIBUTION IMAGES
AN APPROACH TO DELIVER HARDWARE - DEPENDENT PACKAGES IN ORDER TO REDUCE EFFORT OF UPDATING AGL DISTRIBUTION IMAGES AUTOMOTIVE LINUX SUMMIT JAPAN 2018 06/21/2018, TOKYO KHIEM NGUYEN SENIOR STAFF ENGINEER
More informationMAGPIE Installation Guide (version 1.0)
MAGPIE Installation Guide (version 1.0) June 2017 Authors: Sophiane Senni, Pierre-Yves Péneau, Abdoulaye Gamatié 1 Contents 1 About this guide 3 2 Framework installation 4 2.1 Dependencies...................................
More informationmanifold Documentation
manifold Documentation Release 0.0.1 Open Source Robotics Foundation Mar 04, 2017 Contents 1 What is Manifold? 3 2 Installation 5 2.1 Ubuntu Linux............................................... 5 2.2
More informationTDDC88 Lab 4 Software Configuration Management
TDDC88 Lab 4 Software Configuration Management Introduction "Version control is to programmers what the safety net is to a trapeze artist. Knowing the net is there to catch them if they fall, aerialists
More informationCLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE
CLOSE ENCOUNTERS OF THE UPSTREAM RESOURCE HISAO MUNAKATA RENESAS SOLUTIONS CORP hisao.munakata.vt(at)renesas.com who am I Work for Renesas (semiconductor provider) Over 15 years real embedded Linux business
More informationReducing the pain of Yocto development upgrades. Michael Brown NGM Firmware Lead Technologist Dell EMC Embedded Linux Conference 2017
Reducing the pain of Yocto development upgrades Michael Brown NGM Firmware Lead Technologist Dell EMC Embedded Linux Conference 2017 Outline Easier Yocto upgrades in development - Introduction - Problem
More informationTeam Up: Contributing to the Tizen Platform. Narasimha Swamy Sanjay NM
Team Up: Contributing to the Tizen Platform Narasimha Swamy Sanjay NM YOUR Contributions MATTER to the SUCCESS of Tizen platform Agenda About Tizen OSS Ways of Contribution Tizen 3.0 Governance Model Tools,
More informationTizen TCT User Guide
Tizen 2.3.1 TCT User Guide Table of Contents 1. Environment setup... 3 1.1. Symbols and abbreviations... 3 1.2. Hardware Requirements... 3 1.3. Software Requirements... 3 2. Getting TCT-source and TCT-manager...
More informationGIT Princípy tvorby softvéru, FMFI UK Jana Kostičová,
GIT Princípy tvorby softvéru, FMFI UK Jana Kostičová, 25.4.2016 Basic features Distributed version control Developed in 2005, originally for Linux kernel development Free, GNU General Public License version
More informationHow to decide Linux Kernel for Embedded Products. Tsugikazu SHIBATA NEC 20, Feb Embedded Linux Conference 2013 SAN FRANCISCO
How to decide Linux Kernel for Embedded Products Tsugikazu SHIBATA NEC 20, Feb. 2013 Embedded Linux Conference 2013 Parc55 @ SAN FRANCISCO Agenda Points to be considered to decide Linux kernel version
More informationIndex. Alias syntax, 31 Author and commit attributes, 334
Index A Alias syntax, 31 Author and commit attributes, 334 B Bare repository, 19 Binary conflict creating conflicting changes, 218 during merging, 219 during rebasing, 221 Branches backup, 140 clone-with-branches
More informationLTSI Project Update. LTSI Kernel, How We Can Help Automotive Industries. Hisao Munakata, Tsugikazu Shibata
LTSI Project Update LTSI Kernel, How We Can Help Automotive Industries Hisao Munakata, Tsugikazu Shibata Linux Foundation Consumer Electronics working group July 1st 2014 1 / 39 Hisao Munakata, Tsugikazu
More informationUser Guide Yocto Linux. Board Support Package For Intel Quark
User Guide Yocto Linux Board Support Package For Intel Quark 1 Table of Contents Table of Contents... 2 1. Getting Started... 3 1.1 Prerequisites... 4 1.1.1 To install required packages... 4 1.1.2 To install
More informationCross-compilation with Buildroot
Instituto Superior de Engenharia do Porto Mestrado em Engenharia Eletrotécnica e de Computadores Arquitetura de Computadores Cross-compilation with Buildroot Introduction Buildroot is a tool that can be
More informationThe meta-virtualization layer of OpenEmbedded
The meta-virtualization layer of OpenEmbedded Bruce Ashfield Principal Technologist Linux Products Group 2018 WIND RIVER. ALL RIGHTS RESERVED. Agenda Introduction Brief OpenEmbedded introduction / history
More informationBoot your computer into GNU/Linux. Overview. Introduction to git on the command line. Introduction to git on the command line
Overview slide 1 slide 2 Boot your computer into GNU/Linux during this tutorial we will examine how touse git from the command line we will also browse some of the files in the linux kernel and gcc if
More informationSony s Open Devices Project. Goals Achievements. What went right? What went wrong? Lessons learned
1 Sony s Open Devices Project Goals Achievements What went right? What went wrong? Lessons learned 2 Ambitious project to support open software on Sony Mobile s phone platforms 2 main areas: Android Open
More informationWorking with Kernel Modules Lab Wind River Systems, Inc
Working with Kernel Modules Lab 2013 Wind River Systems, Inc Working with Kernel Modules Lab Objective In this lab, you will learn how to manage kernel modules in your projects, as well as how to develop
More information