SlideShare a Scribd company logo
Creating new Tizen profiles
using the Yocto Project
Leon Anavi
Konsulko Group
Leon Anavi
●
Software engineer and open source enthusiast
●
E-mail: leon@anavi.org ; leon.anavi@konsulko.com
Overview
●
Tizen Profiles
●
The Yocto Project
●
Building Tizen on Yocto
●
Creating new meta layers and recipes for Tizen
●
Contributing to Tizen on Yocto
Tizen
●
Open source Linux-based software platform
●
Project of the Linux foundation
●
Compatible with ARM and Intel architectures
●
Excellent HTML5 and web apps support
●
Suitable of all device areas: mobile, wearable,
embedded, IVI, IoT, etc.
Tizen Versions
Tizen 1.0 Larkspur
Tizen 2
Tizen 3 (upstream)
Tizen 3 Profiles
Mobile TV Wearable IVI
Tizen:Common
Tizen Architecture
Web applications
Web framework Native framework
Core components
Linux kernel and device drivers
Native applications
Tizen 3 Key Features and Core Components
●
Linux kernel 3.14 LTS (or newer)
●
Security: SMACK and Cynara
●
Systemd
●
Wayland & Weston
●
Crosswalk web runtime
●
EFL
●
RPM
Crosswalk
● Open source web runtime for all Tizen 3 profile
based on Tizen:Common
● Up to date version of Blink and Chromium
● Up to date JavaScript APIs based on the web
standards
● Tizen specific JavaScript APIs
● https://crosswalk-project.org/
How to Build Tizen 3?
● Git Build System (GBS)
● Tizen on Yocto
System requirements:
● Intel Core i7 CPU (or better)
● 8GB RAM (or more)
● GNU/Linux distribution
The Yocto Project
● Open source collaborative project for creating
custom Linux-based systems for embedded devices.
● Based on the OpenEmbedded build framework
● Project of the Linux Foundation
Getting started:
● https://www.yoctoproject.org/
● https://www.yoctoproject.org/documentation
Advantages of the Yocto Project
● Represents a whole GNU/Linux distribution as a
simple and easy to extend configuration
● Existing Board Support Packages (BSP) for various
architectures and numerous devices
● De facto industry standard for automotive,
embedded devices, and Internet of Things (IoT)
● Large community
Yocto Project Development Environment
Image courtesy of the Yocto Project official documentation
Releases of the Yocto Project
●
Yocto Project 2.0 Jethro (expected release date 30 Oct)
●
Yocto Project 1.8 Fido
●
Yocto Project 1.7 Dizzy (used by Tizen on Yocto)
●
Yocto Project 1.6 Daisy
●
Yocto Project 1.5 Dora
●
Yocto Project 1.4 Dylan
Tizen on Yocto Project
● Project which aims at building Tizen images using the
tools provided by the Yocto Project
● Provides Tizen distribution layer (meta-tizen) for
Yocto/OpenEmbedded
● Maintainers: Mauro Carvalho Chehab, Leon Anavi
Getting started:
● https://wiki.tizen.org/wiki/Build_Tizen_with_Yocto_Project
● https://wiki.tizen.org/wiki/Tizen_on_Yocto_Project
Tizen on Yocto Supported Devices
Supported single board computers:
●
MinnowBoard MAX
●
Raspberry Pi 2 http://git.s-osg.org/tizen-distro.git/
●
HummingBoard https://github.com/konsulko/tizen-distro
●
Easy porting to other ARM and Intel devices
Useful links:
●
https://wiki.tizen.org/wiki/MinnowMax
●
https://wiki.tizen.org/wiki/HummingBoard
●
http://blogs.s-osg.org/tizen-on-rpi2/
Building Tizen on Yocto (1/3)
● Download tizen-distro
● Download meta layers with additional board
support packages (BSP)
● Initialize build environment
source ./tizen-common-init-build-env build-common
git clone git://review.tizen.org/scm/bb/tizen-distro
cd tizen-distro
Building Tizen on Yocto (2/3)
●
Configure conf/local.conf
●
Add BSP meta layers to conf/bblayers.conf
MACHINE ??= "intel-corei7-64"
PARALLEL_MAKE ?= "-j 8"
BB_NUMBER_THREADS ?= "8"
...
Building Tizen on Yocto (3/3)
● Build an image
● Get some coffee...
● Grab the generated image from
tmp-glibc/deploy/images/${MACHINE}
bitbake tizen-common-core-image-crosswalk-dev
Bitbake Cheat Sheet
● Check value of a variable in a recipe
● Check recipe version
● Build a package or an image
● Clean up
● Recompile if the source has been changed
● Output dependency tree in graphviz format
bitbake tizen-common-core-image-crosswalk -e | grep ^ROOTFS_PKGMANAGE
bitbake -s | grep crosswalk
bitbake -c compile foo
bitbake -g tizen-common-core-image-crosswalk
bitbake foo
bitbake -c clean foo
Adding Packages to Tizen Image
● Append packages, for example ofono
and ofono-test, to image by adding
the following command to
conf/local.conf or the image's recipe:
IMAGE_INSTALL_append = " ofono ofono-test "
Runtime Package Management (1/2)
● Setup package feed on the build machine
sudo apt-get install apache2
sudo mkdir /var/www/html/tizen/
sudo ln -s ~/tizen-distro/build/tmp-glibc/deploy/rpm/ /var/www/html/tizen/
bitbake package-index
Runtime Package Management (2/2)
● Setup channels of the smart package manager on the
Tizen device and manage packages
● More information and examples:
https://wiki.tizen.org/wiki/Runtime_package_management_in_Tizen_on_Yocto_with_Smart
smart channel --add tizen-all type=rpm-md baseurl=http://<server>/tizen/rpm/all/
smart update
smart install <package_name>
Creating New Meta Layer (1/2)
● Create new meta layer using script yocto-layer
./scripts/yocto-layer create newprofile
Please enter the layer priority you'd like to use for the layer: [default: 6]
Would you like to have an example recipe created? (y/n) [default: n]
Would you like to have an example bbappend file created? (y/n) [default: n]
New layer created in meta-newprofile.
Don't forget to add it to your BBLAYERS (for details see meta-newprofileREADME).
Creating New Meta Layer (2/2)
● Add meta data to the new layer
● Add the new layer to conf/bblayers.conf
Extending a Recipe
● Append instructions at the end of existing recipe
in .bbappend file
● Apply a patch, for example:
● Add new files, for example:
FILESEXTRAPATHS_prepend := "{THISDIR}/${PN}:${PV}:"
SRC_URI += "file://mypatch.patch"
FILESEXTRAPATHS_prepend := "{THISDIR}/${PN}:${PV}:"
SRC_URI += "file://my.conf"
do_install_append() {
install -m 644 ${WORKDIR}/my.conf ${D}${sysconfdir}
}
Writing a New Recipe
● Create new recipe with name that matches the format:
● Use and modify the following skeleton recipe:
● Modify tasks (do_compile, do_install, etc.) if needed
● Store path to the recipe at layer's conf/layer.conf
<basename>_<version>.bb
SUMMARY = ""
HOMEPAGE = ""
LICENSE = ""
LIC_FILES_CHKSUM = ""
SRC_URI = ""
SRC_URI[md5sum] = ""
SRC_URI[sha256sum] = ""
S = "${WORKDIR}/${PN}${PV}"
inherit <stuff>
HTML5 Application Management in Tizen 3
● Install wgt file
● List installed HTML5 applications (per user)
● Launch HTML5 application in Crosswalk
● Kill running HTML5 application
● Uninstall application
pkgcmd -i -t wgt -p <wgt file> -q
app_launcher -l
app_launcher -s <Application ID>
app_launcher -k <Application ID>
pkgcmd -u -q -n <package>
Creating New Recipe for HTML5 App (1/2)
● Develop HTML5 Tizen app with icon.png & config.xml
● Create new recipe and reimplement do_install
● Ship wgt file
hello_files = ""
hello_files += "/opt/usr/apps/.preinstallWidgets/hello.wgt"
do_install() {
cd ${S}
rm -rf ${D}
mkdir -p ${D}
mkdir -p ${D}/opt/usr/apps/.preinstallWidgets
mkdir -p ${D}${prefix}/share/apps/Common/icons
zip -r ${D}/opt/usr/apps/.preinstallWidgets/hello.wgt css icon.png config.xml index.html README.txt
}
Creating New Recipe for HTML5 App (2/2)
● Create script that installs hello.wgt using pkgcmd
● Create oneshot systemd service that launches the
install script at first boot of the device and removes
itself upon successful completion of the script
● Create recipe that provides the install script and the
systemd service
Contributing to Tizen on Yocto (1/2)
● Tizen-distro uses combo-layer script
git://git.tizen.org/scm/bb/tizen-distro
● Tizen-distro layers: bitbake, openembedded-core,
meta-openembedded, meta-qt5, meta-tizen
● Meta-tizen
git://git.tizen.org/scm/bb/meta-tizen
Contributing to Tizen on Yocto (2/2)
● Git (revision control system)
● Gerrit (web-based code review tool)
https://review.tizen.org/gerrit/
● JIRA
https://bugs.tizen.org/
● Step by step instructions for contributors
https://wiki.tizen.org/wiki/How_to_contribute_to_Tizen_on_Yocto_Project
Thank you!
Questions?
Slides (license: CC BY-SA 3.0)
http://www.slideshare.net/leonanavi/creating-new-tizen-profiles-using-the-yocto-project
Images under CC BY 3.0 from flaticon.com have been used in some of the slides.

More Related Content

What's hot

Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Anne Nicolas
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
Alex Gonzalez
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Samsung Open Source Group
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em PortuguêsOtavio Salvador
 
yocto_scale_handout-with-notes
yocto_scale_handout-with-notesyocto_scale_handout-with-notes
yocto_scale_handout-with-notesSteve Arnold
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
Yi-Hsiu Hsu
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
Drew Fustini
 
Porting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginnersPorting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginners
Leon Anavi
 
Yocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xYocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335x
Prabindh Sundareson
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
H Ming
 
OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build Tutorial
Dalton Valadares
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
Mender.io
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
cudma
 
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph GaluschkaOpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
NETWAYS
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Ron Munitz
 
Tizen Web App 개발
Tizen Web App 개발Tizen Web App 개발
Tizen Web App 개발xcoda
 
BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience
Linaro
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
Opersys inc.
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
Sherif Mousa
 
openPOWERLINK over Xenomai
openPOWERLINK over XenomaiopenPOWERLINK over Xenomai
openPOWERLINK over Xenomai
Alexandre LAHAYE
 

What's hot (20)

Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
Embedded recipes 2018 - End-to-end software production for embedded - Guy Lun...
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
 
Yocto: Treinamento em Português
Yocto: Treinamento em PortuguêsYocto: Treinamento em Português
Yocto: Treinamento em Português
 
yocto_scale_handout-with-notes
yocto_scale_handout-with-notesyocto_scale_handout-with-notes
yocto_scale_handout-with-notes
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
 
Porting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginnersPorting Tizen to open source hardware devices for beginners
Porting Tizen to open source hardware devices for beginners
 
Yocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335xYocto usage for Graphics SDK on AM335x
Yocto usage for Graphics SDK on AM335x
 
Yocto project and open embedded training
Yocto project and open embedded trainingYocto project and open embedded training
Yocto project and open embedded training
 
OPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build TutorialOPTEE on QEMU - Build Tutorial
OPTEE on QEMU - Build Tutorial
 
IoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSesIoT: Contrasting Yocto/Buildroot to binary OSes
IoT: Contrasting Yocto/Buildroot to binary OSes
 
Eclipse IDE Yocto Plugin
Eclipse IDE Yocto PluginEclipse IDE Yocto Plugin
Eclipse IDE Yocto Plugin
 
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph GaluschkaOpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
 
Tizen Web App 개발
Tizen Web App 개발Tizen Web App 개발
Tizen Web App 개발
 
BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience BKK16-310 The HiKey AOSP collaborative experience
BKK16-310 The HiKey AOSP collaborative experience
 
Scheduling in Android
Scheduling in AndroidScheduling in Android
Scheduling in Android
 
Yocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution MakerYocto - Embedded Linux Distribution Maker
Yocto - Embedded Linux Distribution Maker
 
openPOWERLINK over Xenomai
openPOWERLINK over XenomaiopenPOWERLINK over Xenomai
openPOWERLINK over Xenomai
 

Viewers also liked

Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603
Phil www.rzr.online.fr
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overview
Bin Yang
 
¿Qué es ser un emprendedor?
¿Qué es ser un emprendedor?¿Qué es ser un emprendedor?
¿Qué es ser un emprendedor?
Neidy Flores
 
Test gestión del tiempo
Test gestión del tiempoTest gestión del tiempo
Test gestión del tiempo
Nello D'Angelo
 
Foshanguci wooden tile
Foshanguci wooden tileFoshanguci wooden tile
Foshanguci wooden tile
Arjunadewa
 
Mesa redonda
Mesa redondaMesa redonda
Mesa redondaMonirc
 
Agnitum Outpost Pro product line
Agnitum Outpost Pro product lineAgnitum Outpost Pro product line
Agnitum Outpost Pro product line
Pavel Fyodorov
 
Presentazione Edistar English
Presentazione Edistar EnglishPresentazione Edistar English
Presentazione Edistar English
Edistar Srl
 
Uspto – us patent cases weekly update - may 29th - june 5th, 2012
Uspto – us patent cases   weekly update - may 29th - june 5th, 2012Uspto – us patent cases   weekly update - may 29th - june 5th, 2012
Uspto – us patent cases weekly update - may 29th - june 5th, 2012InvnTree IP Services Pvt. Ltd.
 
Videojuegos
VideojuegosVideojuegos
Videojuegos
Mina Adame
 
Inno smart conference emerging industries 101214
Inno smart conference emerging industries 101214Inno smart conference emerging industries 101214
Inno smart conference emerging industries 101214
excelenzia
 
LOS DUENDES 1 DE LOS PUERTOS
LOS DUENDES 1 DE LOS PUERTOSLOS DUENDES 1 DE LOS PUERTOS
LOS DUENDES 1 DE LOS PUERTOS
Pablo J. Jodra Arilla
 
BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47
BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47
BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47
sifexol
 
Report annual Tecnova 2012
Report annual Tecnova 2012Report annual Tecnova 2012
Report annual Tecnova 2012
Tecnova
 
Ahorro previsional voluntario2
Ahorro previsional voluntario2Ahorro previsional voluntario2
Ahorro previsional voluntario2
Alvaro Velasquez Velasquez
 
Sretan 9. mart o.g.
Sretan 9. mart o.g.Sretan 9. mart o.g.
Sretan 9. mart o.g.
DeVeT
 
Tendencias trabajo colaborativo
Tendencias trabajo colaborativoTendencias trabajo colaborativo
Tendencias trabajo colaborativo
Dolors Reig (el caparazón)
 
MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS
MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS
MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS
Pako Vertty
 

Viewers also liked (20)

Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603
 
Google IO 2014 overview
Google IO 2014 overviewGoogle IO 2014 overview
Google IO 2014 overview
 
¿Qué es ser un emprendedor?
¿Qué es ser un emprendedor?¿Qué es ser un emprendedor?
¿Qué es ser un emprendedor?
 
Test gestión del tiempo
Test gestión del tiempoTest gestión del tiempo
Test gestión del tiempo
 
Foshanguci wooden tile
Foshanguci wooden tileFoshanguci wooden tile
Foshanguci wooden tile
 
Mesa redonda
Mesa redondaMesa redonda
Mesa redonda
 
Agnitum Outpost Pro product line
Agnitum Outpost Pro product lineAgnitum Outpost Pro product line
Agnitum Outpost Pro product line
 
Presentazione Edistar English
Presentazione Edistar EnglishPresentazione Edistar English
Presentazione Edistar English
 
Uspto – us patent cases weekly update - may 29th - june 5th, 2012
Uspto – us patent cases   weekly update - may 29th - june 5th, 2012Uspto – us patent cases   weekly update - may 29th - june 5th, 2012
Uspto – us patent cases weekly update - may 29th - june 5th, 2012
 
Videojuegos
VideojuegosVideojuegos
Videojuegos
 
Inno smart conference emerging industries 101214
Inno smart conference emerging industries 101214Inno smart conference emerging industries 101214
Inno smart conference emerging industries 101214
 
LOS DUENDES 1 DE LOS PUERTOS
LOS DUENDES 1 DE LOS PUERTOSLOS DUENDES 1 DE LOS PUERTOS
LOS DUENDES 1 DE LOS PUERTOS
 
RESUMEN kaddish por un hijo no nacido
RESUMEN kaddish por un hijo no nacidoRESUMEN kaddish por un hijo no nacido
RESUMEN kaddish por un hijo no nacido
 
BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47
BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47
BIBLIA CATOLICA, ANTIGUO TESTAMENTO, MALAQUIAS, PARTE 32 DE 47
 
Cientificos
CientificosCientificos
Cientificos
 
Report annual Tecnova 2012
Report annual Tecnova 2012Report annual Tecnova 2012
Report annual Tecnova 2012
 
Ahorro previsional voluntario2
Ahorro previsional voluntario2Ahorro previsional voluntario2
Ahorro previsional voluntario2
 
Sretan 9. mart o.g.
Sretan 9. mart o.g.Sretan 9. mart o.g.
Sretan 9. mart o.g.
 
Tendencias trabajo colaborativo
Tendencias trabajo colaborativoTendencias trabajo colaborativo
Tendencias trabajo colaborativo
 
MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS
MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS
MANEJO EMPRESARIAL ENFOCADO A LA CREACIÓN DE EMPRESAS
 

Similar to Creating new Tizen profiles using the Yocto Project

Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201
Phil www.rzr.online.fr
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
Leon Anavi
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
Mender.io
 
IoTivity on Tizen: How to
IoTivity on Tizen: How toIoTivity on Tizen: How to
IoTivity on Tizen: How to
Samsung Open Source Group
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
Mender.io
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
Mender.io
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
Mender.io
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
Łukasz Piątkowski
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
ICS
 
PyQt Application Development On Maemo
PyQt Application Development On MaemoPyQt Application Development On Maemo
PyQt Application Development On Maemo
achipa
 
IoT Prototyping using BBB and Debian
IoT Prototyping using BBB and DebianIoT Prototyping using BBB and Debian
IoT Prototyping using BBB and Debian
Mender.io
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
CodeSyntax
 
Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解
Rex Tsai
 
Tizen store-z1-20150228rzr
Tizen store-z1-20150228rzrTizen store-z1-20150228rzr
Tizen store-z1-20150228rzr
Phil www.rzr.online.fr
 
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Ryo Jin
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
Docker, Inc.
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
Mender.io
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
Joel W. King
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
Abid Malik
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
Robert Bohne
 

Similar to Creating new Tizen profiles using the Yocto Project (20)

Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201Tizen contrib-fosdem-20140201
Tizen contrib-fosdem-20140201
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
 
Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018Why the yocto project for my io t project elc_edinburgh_2018
Why the yocto project for my io t project elc_edinburgh_2018
 
IoTivity on Tizen: How to
IoTivity on Tizen: How toIoTivity on Tizen: How to
IoTivity on Tizen: How to
 
Strategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and imagesStrategies for developing and deploying your embedded applications and images
Strategies for developing and deploying your embedded applications and images
 
Embedded linux build systems
Embedded linux build systems  Embedded linux build systems
Embedded linux build systems
 
A million ways to provision embedded linux devices
A million ways to provision embedded linux devicesA million ways to provision embedded linux devices
A million ways to provision embedded linux devices
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
 
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
Software Update Mechanisms: Selecting the Best Solutin for Your Embedded Linu...
 
PyQt Application Development On Maemo
PyQt Application Development On MaemoPyQt Application Development On Maemo
PyQt Application Development On Maemo
 
IoT Prototyping using BBB and Debian
IoT Prototyping using BBB and DebianIoT Prototyping using BBB and Debian
IoT Prototyping using BBB and Debian
 
Buildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in pythonBuildout: creating and deploying repeatable applications in python
Buildout: creating and deploying repeatable applications in python
 
Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解
 
Tizen store-z1-20150228rzr
Tizen store-z1-20150228rzrTizen store-z1-20150228rzr
Tizen store-z1-20150228rzr
 
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
Tizen IVI - Rusty Lynch (Intel) - Korea Linux Forum 2012
 
LinuxKit Deep Dive
LinuxKit Deep DiveLinuxKit Deep Dive
LinuxKit Deep Dive
 
Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018Embedded Linux Build Systems - Texas Linux Fest 2018
Embedded Linux Build Systems - Texas Linux Fest 2018
 
Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)Introduction to Git for Network Engineers (Lab Guide)
Introduction to Git for Network Engineers (Lab Guide)
 
Magento Docker Setup.pdf
Magento Docker Setup.pdfMagento Docker Setup.pdf
Magento Docker Setup.pdf
 
OpenShift 4 installation
OpenShift 4 installationOpenShift 4 installation
OpenShift 4 installation
 

More from Leon Anavi

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Leon Anavi
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Leon Anavi
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Leon Anavi
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?
Leon Anavi
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
Leon Anavi
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
Leon Anavi
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware Makers
Leon Anavi
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
Leon Anavi
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
Leon Anavi
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
Leon Anavi
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
Leon Anavi
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
Leon Anavi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Leon Anavi
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
Leon Anavi
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
Leon Anavi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
Leon Anavi
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
Leon Anavi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
Leon Anavi
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 Comparison of Voice Assistant SDKs for Embedded Linux Devices Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux Devices
Leon Anavi
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT Brokers
Leon Anavi
 

More from Leon Anavi (20)

Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
Screen Sharing on Raspberry Pi 5 Using VNC in Weston and Wayland with the Yoc...
 
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
Как да играем компютърни игри с Nintendo Wii Nunchuk чрез Raspberry Pi RP2040...
 
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbeddedIntegrating VNC in Weston with the Yocto Project and OpenEmbedded
Integrating VNC in Weston with the Yocto Project and OpenEmbedded
 
Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?Как да убием и последната дискета с Open Source технологии?
Как да убием и последната дискета с Open Source технологии?
 
Linux обновления с RAUC и Docker
Linux обновления с RAUC и DockerLinux обновления с RAUC и Docker
Linux обновления с RAUC и Docker
 
How to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux DevicesHow to Choose a Software Update Mechanism for Embedded Linux Devices
How to Choose a Software Update Mechanism for Embedded Linux Devices
 
Open Hardware Makers
Open Hardware MakersOpen Hardware Makers
Open Hardware Makers
 
Open Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source HardwareOpen Source Tools for Making Open Source Hardware
Open Source Tools for Making Open Source Hardware
 
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the futureA/B Linux updates with RAUC and meta-rauc-community: now & in the future
A/B Linux updates with RAUC and meta-rauc-community: now & in the future
 
Surfing on an Interactive Kiosk
Surfing on an Interactive KioskSurfing on an Interactive Kiosk
Surfing on an Interactive Kiosk
 
Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства Linux дистрибуции и софтуерни обновления за вградени устройства
Linux дистрибуции и софтуерни обновления за вградени устройства
 
Getting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry PiGetting started with AGL using a Raspberry Pi
Getting started with AGL using a Raspberry Pi
 
Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?Automotive Grade Linux on Raspberry Pi: How Does It Work?
Automotive Grade Linux on Raspberry Pi: How Does It Work?
 
Comparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation ToolsComparison of Open Source Software Home Automation Tools
Comparison of Open Source Software Home Automation Tools
 
Практични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry PiПрактични примери за device tree overlays на Raspberry Pi
Практични примери за device tree overlays на Raspberry Pi
 
The Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source HardwareThe Software Developer’s Guide to Open Source Hardware
The Software Developer’s Guide to Open Source Hardware
 
Making Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry PiMaking Open Source Hardware for Retrogaming on Raspberry Pi
Making Open Source Hardware for Retrogaming on Raspberry Pi
 
Вграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с LinuxВграждане на умни гласови асистенти в устройства с Linux
Вграждане на умни гласови асистенти в устройства с Linux
 
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 Comparison of Voice Assistant SDKs for Embedded Linux Devices Comparison of Voice Assistant SDKs for Embedded Linux Devices
Comparison of Voice Assistant SDKs for Embedded Linux Devices
 
Open Source MQTT Brokers
Open Source MQTT BrokersOpen Source MQTT Brokers
Open Source MQTT Brokers
 

Recently uploaded

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
kalichargn70th171
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
mz5nrf0n
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 

Recently uploaded (20)

Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
在线购买加拿大英属哥伦比亚大学毕业证本科学位证书原版一模一样
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 

Creating new Tizen profiles using the Yocto Project

  • 1. Creating new Tizen profiles using the Yocto Project Leon Anavi Konsulko Group
  • 2. Leon Anavi ● Software engineer and open source enthusiast ● E-mail: leon@anavi.org ; leon.anavi@konsulko.com
  • 3. Overview ● Tizen Profiles ● The Yocto Project ● Building Tizen on Yocto ● Creating new meta layers and recipes for Tizen ● Contributing to Tizen on Yocto
  • 4. Tizen ● Open source Linux-based software platform ● Project of the Linux foundation ● Compatible with ARM and Intel architectures ● Excellent HTML5 and web apps support ● Suitable of all device areas: mobile, wearable, embedded, IVI, IoT, etc.
  • 5. Tizen Versions Tizen 1.0 Larkspur Tizen 2 Tizen 3 (upstream)
  • 6. Tizen 3 Profiles Mobile TV Wearable IVI Tizen:Common
  • 7. Tizen Architecture Web applications Web framework Native framework Core components Linux kernel and device drivers Native applications
  • 8. Tizen 3 Key Features and Core Components ● Linux kernel 3.14 LTS (or newer) ● Security: SMACK and Cynara ● Systemd ● Wayland & Weston ● Crosswalk web runtime ● EFL ● RPM
  • 9. Crosswalk ● Open source web runtime for all Tizen 3 profile based on Tizen:Common ● Up to date version of Blink and Chromium ● Up to date JavaScript APIs based on the web standards ● Tizen specific JavaScript APIs ● https://crosswalk-project.org/
  • 10. How to Build Tizen 3? ● Git Build System (GBS) ● Tizen on Yocto System requirements: ● Intel Core i7 CPU (or better) ● 8GB RAM (or more) ● GNU/Linux distribution
  • 11. The Yocto Project ● Open source collaborative project for creating custom Linux-based systems for embedded devices. ● Based on the OpenEmbedded build framework ● Project of the Linux Foundation Getting started: ● https://www.yoctoproject.org/ ● https://www.yoctoproject.org/documentation
  • 12. Advantages of the Yocto Project ● Represents a whole GNU/Linux distribution as a simple and easy to extend configuration ● Existing Board Support Packages (BSP) for various architectures and numerous devices ● De facto industry standard for automotive, embedded devices, and Internet of Things (IoT) ● Large community
  • 13. Yocto Project Development Environment Image courtesy of the Yocto Project official documentation
  • 14. Releases of the Yocto Project ● Yocto Project 2.0 Jethro (expected release date 30 Oct) ● Yocto Project 1.8 Fido ● Yocto Project 1.7 Dizzy (used by Tizen on Yocto) ● Yocto Project 1.6 Daisy ● Yocto Project 1.5 Dora ● Yocto Project 1.4 Dylan
  • 15. Tizen on Yocto Project ● Project which aims at building Tizen images using the tools provided by the Yocto Project ● Provides Tizen distribution layer (meta-tizen) for Yocto/OpenEmbedded ● Maintainers: Mauro Carvalho Chehab, Leon Anavi Getting started: ● https://wiki.tizen.org/wiki/Build_Tizen_with_Yocto_Project ● https://wiki.tizen.org/wiki/Tizen_on_Yocto_Project
  • 16. Tizen on Yocto Supported Devices Supported single board computers: ● MinnowBoard MAX ● Raspberry Pi 2 http://git.s-osg.org/tizen-distro.git/ ● HummingBoard https://github.com/konsulko/tizen-distro ● Easy porting to other ARM and Intel devices Useful links: ● https://wiki.tizen.org/wiki/MinnowMax ● https://wiki.tizen.org/wiki/HummingBoard ● http://blogs.s-osg.org/tizen-on-rpi2/
  • 17. Building Tizen on Yocto (1/3) ● Download tizen-distro ● Download meta layers with additional board support packages (BSP) ● Initialize build environment source ./tizen-common-init-build-env build-common git clone git://review.tizen.org/scm/bb/tizen-distro cd tizen-distro
  • 18. Building Tizen on Yocto (2/3) ● Configure conf/local.conf ● Add BSP meta layers to conf/bblayers.conf MACHINE ??= "intel-corei7-64" PARALLEL_MAKE ?= "-j 8" BB_NUMBER_THREADS ?= "8" ...
  • 19. Building Tizen on Yocto (3/3) ● Build an image ● Get some coffee... ● Grab the generated image from tmp-glibc/deploy/images/${MACHINE} bitbake tizen-common-core-image-crosswalk-dev
  • 20. Bitbake Cheat Sheet ● Check value of a variable in a recipe ● Check recipe version ● Build a package or an image ● Clean up ● Recompile if the source has been changed ● Output dependency tree in graphviz format bitbake tizen-common-core-image-crosswalk -e | grep ^ROOTFS_PKGMANAGE bitbake -s | grep crosswalk bitbake -c compile foo bitbake -g tizen-common-core-image-crosswalk bitbake foo bitbake -c clean foo
  • 21. Adding Packages to Tizen Image ● Append packages, for example ofono and ofono-test, to image by adding the following command to conf/local.conf or the image's recipe: IMAGE_INSTALL_append = " ofono ofono-test "
  • 22. Runtime Package Management (1/2) ● Setup package feed on the build machine sudo apt-get install apache2 sudo mkdir /var/www/html/tizen/ sudo ln -s ~/tizen-distro/build/tmp-glibc/deploy/rpm/ /var/www/html/tizen/ bitbake package-index
  • 23. Runtime Package Management (2/2) ● Setup channels of the smart package manager on the Tizen device and manage packages ● More information and examples: https://wiki.tizen.org/wiki/Runtime_package_management_in_Tizen_on_Yocto_with_Smart smart channel --add tizen-all type=rpm-md baseurl=http://<server>/tizen/rpm/all/ smart update smart install <package_name>
  • 24. Creating New Meta Layer (1/2) ● Create new meta layer using script yocto-layer ./scripts/yocto-layer create newprofile Please enter the layer priority you'd like to use for the layer: [default: 6] Would you like to have an example recipe created? (y/n) [default: n] Would you like to have an example bbappend file created? (y/n) [default: n] New layer created in meta-newprofile. Don't forget to add it to your BBLAYERS (for details see meta-newprofileREADME).
  • 25. Creating New Meta Layer (2/2) ● Add meta data to the new layer ● Add the new layer to conf/bblayers.conf
  • 26. Extending a Recipe ● Append instructions at the end of existing recipe in .bbappend file ● Apply a patch, for example: ● Add new files, for example: FILESEXTRAPATHS_prepend := "{THISDIR}/${PN}:${PV}:" SRC_URI += "file://mypatch.patch" FILESEXTRAPATHS_prepend := "{THISDIR}/${PN}:${PV}:" SRC_URI += "file://my.conf" do_install_append() { install -m 644 ${WORKDIR}/my.conf ${D}${sysconfdir} }
  • 27. Writing a New Recipe ● Create new recipe with name that matches the format: ● Use and modify the following skeleton recipe: ● Modify tasks (do_compile, do_install, etc.) if needed ● Store path to the recipe at layer's conf/layer.conf <basename>_<version>.bb SUMMARY = "" HOMEPAGE = "" LICENSE = "" LIC_FILES_CHKSUM = "" SRC_URI = "" SRC_URI[md5sum] = "" SRC_URI[sha256sum] = "" S = "${WORKDIR}/${PN}${PV}" inherit <stuff>
  • 28. HTML5 Application Management in Tizen 3 ● Install wgt file ● List installed HTML5 applications (per user) ● Launch HTML5 application in Crosswalk ● Kill running HTML5 application ● Uninstall application pkgcmd -i -t wgt -p <wgt file> -q app_launcher -l app_launcher -s <Application ID> app_launcher -k <Application ID> pkgcmd -u -q -n <package>
  • 29. Creating New Recipe for HTML5 App (1/2) ● Develop HTML5 Tizen app with icon.png & config.xml ● Create new recipe and reimplement do_install ● Ship wgt file hello_files = "" hello_files += "/opt/usr/apps/.preinstallWidgets/hello.wgt" do_install() { cd ${S} rm -rf ${D} mkdir -p ${D} mkdir -p ${D}/opt/usr/apps/.preinstallWidgets mkdir -p ${D}${prefix}/share/apps/Common/icons zip -r ${D}/opt/usr/apps/.preinstallWidgets/hello.wgt css icon.png config.xml index.html README.txt }
  • 30. Creating New Recipe for HTML5 App (2/2) ● Create script that installs hello.wgt using pkgcmd ● Create oneshot systemd service that launches the install script at first boot of the device and removes itself upon successful completion of the script ● Create recipe that provides the install script and the systemd service
  • 31. Contributing to Tizen on Yocto (1/2) ● Tizen-distro uses combo-layer script git://git.tizen.org/scm/bb/tizen-distro ● Tizen-distro layers: bitbake, openembedded-core, meta-openembedded, meta-qt5, meta-tizen ● Meta-tizen git://git.tizen.org/scm/bb/meta-tizen
  • 32. Contributing to Tizen on Yocto (2/2) ● Git (revision control system) ● Gerrit (web-based code review tool) https://review.tizen.org/gerrit/ ● JIRA https://bugs.tizen.org/ ● Step by step instructions for contributors https://wiki.tizen.org/wiki/How_to_contribute_to_Tizen_on_Yocto_Project
  • 33. Thank you! Questions? Slides (license: CC BY-SA 3.0) http://www.slideshare.net/leonanavi/creating-new-tizen-profiles-using-the-yocto-project Images under CC BY 3.0 from flaticon.com have been used in some of the slides.