SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Bringing Tizen to a Raspberry PI 2
Near You…
Mauro Carvalho Chehab
mchehab@osg.samsung.com
Samsung Open Source Group
Samsung Research Brazil
Samsung Research America
Raspberry Pi is a trademark of the Raspberry Pi Foundation
2
ABSTRACT
●
Raspberry Pi and Tizen are becoming integral tools in the growing
market for the Internet of Things.
● With Tizen’s improved support for a low-power and low-memory
devices, it makes an ideal supplement to be run on an RPi.
● Understand the story that it takes to begin developing IoT apps using
these platforms and their value.
● Learn the process about how to get Tizen up and running on a
Raspberry Pi 2 and lend a hand to the audience on how to set it up
themselves.
● In addition, the technical hurdles that were overcome to create the
Tizen port for the Raspberry Pi 2 and where this work will head in the
future will be discussed.
3
WHY RASPBERRY PI2 (RPI2)?
● The Raspberry Pi (RPi) is the most popular board:
– More than 5 million RPi sold
– This will bring Tizen to a large developer audience
● The Raspberry Pi 2 brings several advantages:
– It has a quad-core CPU
– It runs at 900 MHz
– It uses a CPU using ARM Cortex-A7 instruction set
● Most ARM distros are targeted to run on ARM Cortex-A7 CPU.
● This is also popular on Tizen development, as the Samsung's
Exynos 5 CPUs found on Odroid boards use this instruction set.
4
RASPBERRY PI2 INTERFACE PINS (1)
GPIO pins
Image source https://commons.wikimedia.org/wiki/File:Raspberry_Pi_2_Model_B_v1.1_top_new.jpg
released under CC Attribution-ShareAlike 4.0 International
5
RASPBERRY PI2 INTERFACE PINS (2)
● It has 40 pins providing things like:
– I2C, SPI and UART interfaces;
– 3.3 and 5 V power supply;
– Generic Input/Output (GPIO);
– Display, Camera Sensor, Ethernet
and 4 USB connectors
– Hardware Attached on Top (HAT) expansion boards
● Providing extra functionality, like proto-boards, servo control,
relays control, digital inputs/outputs, leds control, etc.
● Lots of HAT boards already available in the market
Image source: http://elinux.org/File:UniPi_set.png
released under CC Attribution-ShareAlike 3.0 Unsupported License
UniPI home automation board:
8 relays (5A, 220V)
14 digital inputs (5-24V)
2 analog inputs (0-10V)
0-10V analog output
6
TIZEN, RPI2, AND THE INTERNET OF THINGS
● This combo creates an IoT trifecta:
– The RPi2 provides a low-cost, widely-used hardware
platform with optional boards ready to be used for IoT
– Tizen provides an efficient software platform
– IoTivity provides a full-featured IoT platform
● Samsung is targeting Tizen as the primary platform for
smart devices in the future.
– Our goal with this project is to bring IoT development with
Tizen to the masses
7
GBS VS. YOCTO BUILD
● There are two ways to build Tizen 3.0:
– GBS (Git Build System)
● Has its roots at Suse's OBS (Open Build Service)
● Based on source RPM files (srpm), developed by Red Hat
and used also on derivaded distros (Suse, Mageia, etc.)
● RPM source files are distro-specific: they contain their own
set of macros and install directories, being hard to share
srpm files among different distros.
– Yocto
● It is a collaboration project that provides templates, tools and
methods to create custom distros for embedded products.
8
BUILDING WITH YOCTO
● Yocto is a derivative of a popular embedded distro, called
OpenEmbedded
– It was built to share packages among different
distros.Several popular embedded distros are built from it:
Open Embedded, Angstrom, etc.
– It uses the concept of layers. One of the layers is called BSP
(Board Support Package) and contains arch-specific bits
● The Yocto build uses a tool called bitbake
– Bitbake uses files called recipes
– Bitbake downloads and builds packages and the image files
9
PROS AND CONS OF USING YOCTO ON TIZEN (1)
● Advantages of using Yocto:
– Easy to share the same package/recipe on different distros
● In long term, it saves money
– There are a vast number of packages already ported to it;
– There are plenty resources at the Internet describing it;
– Doesn't require a dedicated build server: any machine with
a copy of the Tizen on Yocto tree can build it.
● Reduces the cost of development
● Can attract more developers
10
PROS AND CONS OF USING YOCTO ON TIZEN (2)
● Disadvantages of using Yocto on Tizen:
– By default, bitbake assumes that it can freely access the
Internet to download the needed packages. That could be a
problem on some networks.
● Internal mirrors are possible, though not trivial to setup;
– Tizen packages need to be converted to bitbake recipes
● Several packages were converted with auto tools, but they
have some issues.
– So, manual review is needed.
● It increases the cost in short term
11
TIZEN ON RASPBERRY PI2
● As we didn't have a GBS build server handy, and there
were already an existing Yocto BSP layer for RPi2, it was
decided to use Yocto instead of GBS:
– That allowed us to have Tizen running on RPi2 in about
one week (not full time, as I have the Media Linux Kernel
subsystem to maintain).
– It keeps helping us to add nice things to the distribution,
like Qt5;
– Several Samsung Open Source Group developers were
able to work without the need of building/setting up a GBS
server.
12
MAJOR CHALLENGES (1)
● Getting Yocto to Work
– Tizen on Yocto were prepared only for x86 build
– Several bugs hit when we started the work
● Necessary Upstream Changes
– We want to use Tizen on yocto upstream (tizen-distro) as-is
● Got maintainership on Yocto-based packages, together with Leon
Anavi, mainly: tizen-distro, meta-tizen
● Sent the needed patches to Tizen
– Patches to meta-raspberrypi are also being developed;
● Takes more time to reach upstream, as it is based on a new GPU
driver still under development.
13
MAJOR CHALLENGES (2)
● Hardware Acceleration
– This is always a challenge on ARM: GPU IP block developers
are usually not keen on upstreaming their drivers.
– Broadcom (CPU vendor used on RPi) started to develop a
new upstream driver for GPU, called VC4.
● Still has some things to be solved, but driver works on Tizen
● Smart Package Manager
– Have a way to dynamically add/remove packages from a
repository
● Added a repo at http://files.s-osg.org/tizen-on-rpi2/rpm/
14
WORK IN PROGRESS
● This is still an ongoing project, and we are working on
adding support for a number of important elements
– Crosswalk – This will enable the installation of web apps
(written in HTML/CSS and JavaScript)
– IoTivity – This will enable greater levels of device-to-
device connectivity with the RPi2.
– Rust / Servo – This will bring the next generation of web
browsers to this platform.
15
STEPS TO BUILD TIZEN ON YOCTO FOR RPI2
1. Clone tizen-distro
git clone git://git.s-osg.org/tizen-distro.git -b 3d_accel_vc4
2. Add RPi2 meta repository
cd tizen_ditro
git clone git clone git://git.s-osg.org/meta-raspberrypi.git -b 3d_accel_vc4
3. Prepare for the build
source ./tizen-common-init-build-env build && cd build
wget http://files.s-osg.org/tizen-on-rpi2/local.conf.3d_accel_vc -O conf/local.conf
wget http://files.s-osg.org/tizen-on-rpi2/bblayers.conf -O conf/bblayers.conf
4. Build tizen with:
bitbake tizen-core-image-minimal-dev
16
TRY IT YOURSELF!
● Keep up with the latest developments on our blog:
– http://blogs.s-osg.org/tizen-on-rpi2
– We have full guides to build the images yourself. A powerful
computer and fast Internet connection are recommended for the build
process
– New article released this week about using WiFi on RPi2 with Tizen.
● Download the LATEST image directly from us:
– http://files.s-osg.org/tizen-on-rpi2/
– Save yourself the hassle of a huge download and lengthy build
process
● We seek any developers interested in creating things for Tizen
and the RPi2.

Weitere ähnliche Inhalte

Was ist angesagt?

Tizen Web App 개발
Tizen Web App 개발Tizen Web App 개발
Tizen Web App 개발
xcoda
 
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HATFOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
Leon Anavi
 
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
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
Opersys inc.
 

Was ist angesagt? (20)

Tizen Web App 개발
Tizen Web App 개발Tizen Web App 개발
Tizen Web App 개발
 
tizen-maintain-20150413rzr
tizen-maintain-20150413rzrtizen-maintain-20150413rzr
tizen-maintain-20150413rzr
 
Internet of Smaller Things
Internet of Smaller ThingsInternet of Smaller Things
Internet of Smaller Things
 
BKK16-301A Expanding the Enterprise Landscape in Centos
BKK16-301A Expanding the Enterprise Landscape in CentosBKK16-301A Expanding the Enterprise Landscape in Centos
BKK16-301A Expanding the Enterprise Landscape in Centos
 
IoTivity: From Devices to the Cloud
IoTivity: From Devices to the CloudIoTivity: From Devices to the Cloud
IoTivity: From Devices to the Cloud
 
Embedded Linux primer
Embedded Linux primerEmbedded Linux primer
Embedded Linux primer
 
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HATFOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
FOSDEM 2017: Making Your Own Open Source Raspberry Pi HAT
 
tizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcovaltizen-upstream-coop-tdc2014-pcoval
tizen-upstream-coop-tdc2014-pcoval
 
Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603Tdc2014 tizen common_20140603
Tdc2014 tizen common_20140603
 
BKK16-307 LHG OE Initiative
BKK16-307 LHG OE InitiativeBKK16-307 LHG OE Initiative
BKK16-307 LHG OE Initiative
 
Build and deploy scientific Python Applications
Build and deploy scientific Python Applications  Build and deploy scientific Python Applications
Build and deploy scientific Python Applications
 
Tizen platform-dev-tds14sh
Tizen platform-dev-tds14shTizen platform-dev-tds14sh
Tizen platform-dev-tds14sh
 
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)
 
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
 
Is Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon VIs Android the New Embedded Linux? at AnDevCon V
Is Android the New Embedded Linux? at AnDevCon V
 
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
 
[OSSummitEU2017]Ten Llayers of Linux Container Security
[OSSummitEU2017]Ten Llayers of Linux Container Security[OSSummitEU2017]Ten Llayers of Linux Container Security
[OSSummitEU2017]Ten Llayers of Linux Container Security
 
Easy IoT with JavaScript
Easy IoT with JavaScriptEasy IoT with JavaScript
Easy IoT with JavaScript
 
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
Podman, Buildah, and Quarkus - The Latest in Linux Containers Technologies
 
Gerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and DockerGerrit is Getting Native with RPM, Deb and Docker
Gerrit is Getting Native with RPM, Deb and Docker
 

Ähnlich wie Bringing Tizen to a Raspberry Pi 2 Near You

Rapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry PiRapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry Pi
Leon Anavi
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
Srikanth Pilli
 
An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018
ICS
 

Ähnlich wie Bringing Tizen to a Raspberry Pi 2 Near You (20)

Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PI
 
The Yocto Project
The Yocto ProjectThe Yocto Project
The Yocto Project
 
Rapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry PiRapid IoT Prototyping with Tizen on Raspberry Pi
Rapid IoT Prototyping with Tizen on Raspberry Pi
 
Introduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systemsIntroduction to the rapid prototyping with python and linux for embedded systems
Introduction to the rapid prototyping with python and linux for embedded systems
 
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
 
IoT: LoRa and Java on the PI
IoT: LoRa and Java on the PIIoT: LoRa and Java on the PI
IoT: LoRa and Java on the PI
 
Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?Open source Android 10 on Orange Pi: Meth or Reality?
Open source Android 10 on Orange Pi: Meth or Reality?
 
IoT Session Thomas More
IoT Session Thomas MoreIoT Session Thomas More
IoT Session Thomas More
 
Cc internet of things @ Thomas More
Cc internet of things @ Thomas MoreCc internet of things @ Thomas More
Cc internet of things @ Thomas More
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdfAdvanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
 
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdfAdvanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
Advanced View of Projects Raspberry Pi List - Raspberry PI Projects.pdf
 
Srikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latestSrikanth_PILLI_CV_latest
Srikanth_PILLI_CV_latest
 
Smalltalk on a CE device
Smalltalk on a CE deviceSmalltalk on a CE device
Smalltalk on a CE device
 
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
 
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)
 
An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018An Introduction to the Yocto Embedded Framework 2018
An Introduction to the Yocto Embedded Framework 2018
 
How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)How to run Linux on RISC-V (FOSS North 2020)
How to run Linux on RISC-V (FOSS North 2020)
 
Raspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 updateRaspberry Pi and Amateur Radio - 2020 update
Raspberry Pi and Amateur Radio - 2020 update
 
Ubuntu Core 技术详解
Ubuntu Core 技术详解Ubuntu Core 技术详解
Ubuntu Core 技术详解
 
Embedded Linux Systems Basics
Embedded Linux Systems BasicsEmbedded Linux Systems Basics
Embedded Linux Systems Basics
 

Mehr von Samsung Open Source Group

Mehr von Samsung Open Source Group (20)

The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)The Complex IoT Equation (and FLOSS solutions)
The Complex IoT Equation (and FLOSS solutions)
 
Spawny: A New Approach to Logins
Spawny: A New Approach to LoginsSpawny: A New Approach to Logins
Spawny: A New Approach to Logins
 
Rapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USBRapid SPi Device Driver Development over USB
Rapid SPi Device Driver Development over USB
 
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT DevicesTizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
Tizen RT: A Lightweight RTOS Platform for Low-End IoT Devices
 
IoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and BeyondIoTivity: Smart Home to Automotive and Beyond
IoTivity: Smart Home to Automotive and Beyond
 
IoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorialIoTivity for Automotive: meta-ocf-automotive tutorial
IoTivity for Automotive: meta-ocf-automotive tutorial
 
GENIVI + OCF Cooperation
GENIVI + OCF CooperationGENIVI + OCF Cooperation
GENIVI + OCF Cooperation
 
Framework for IoT Interoperability
Framework for IoT InteroperabilityFramework for IoT Interoperability
Framework for IoT Interoperability
 
Open Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate StrategyOpen Source Metrics to Inform Corporate Strategy
Open Source Metrics to Inform Corporate Strategy
 
IoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT InteroperabilityIoTivity for Automotive IoT Interoperability
IoTivity for Automotive IoT Interoperability
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Thin...
 
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux DeviceAdding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
Adding IEEE 802.15.4 and 6LoWPAN to an Embedded Linux Device
 
SOSCON 2016 JerryScript
SOSCON 2016 JerryScriptSOSCON 2016 JerryScript
SOSCON 2016 JerryScript
 
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivityIoT: From Arduino Microcontrollers to Tizen Products using IoTivity
IoT: From Arduino Microcontrollers to Tizen Products using IoTivity
 
Run Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT NetworkRun Your Own 6LoWPAN Based IoT Network
Run Your Own 6LoWPAN Based IoT Network
 
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under LinuxPractical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
Practical Guide to Run an IEEE 802.15.4 Network with 6LoWPAN Under Linux
 
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/LinuxIoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
 
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of ThingsJerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
JerryScript: An ultra-lighteweight JavaScript Engine for the Internet of Things
 
Clang: More than just a C/C++ Compiler
Clang: More than just a C/C++ CompilerClang: More than just a C/C++ Compiler
Clang: More than just a C/C++ Compiler
 
Introduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential CollaborationIntroduction to Linux-wpan and Potential Collaboration
Introduction to Linux-wpan and Potential Collaboration
 

Kürzlich hochgeladen

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Kürzlich hochgeladen (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 

Bringing Tizen to a Raspberry Pi 2 Near You

  • 1. Bringing Tizen to a Raspberry PI 2 Near You… Mauro Carvalho Chehab mchehab@osg.samsung.com Samsung Open Source Group Samsung Research Brazil Samsung Research America Raspberry Pi is a trademark of the Raspberry Pi Foundation
  • 2. 2 ABSTRACT ● Raspberry Pi and Tizen are becoming integral tools in the growing market for the Internet of Things. ● With Tizen’s improved support for a low-power and low-memory devices, it makes an ideal supplement to be run on an RPi. ● Understand the story that it takes to begin developing IoT apps using these platforms and their value. ● Learn the process about how to get Tizen up and running on a Raspberry Pi 2 and lend a hand to the audience on how to set it up themselves. ● In addition, the technical hurdles that were overcome to create the Tizen port for the Raspberry Pi 2 and where this work will head in the future will be discussed.
  • 3. 3 WHY RASPBERRY PI2 (RPI2)? ● The Raspberry Pi (RPi) is the most popular board: – More than 5 million RPi sold – This will bring Tizen to a large developer audience ● The Raspberry Pi 2 brings several advantages: – It has a quad-core CPU – It runs at 900 MHz – It uses a CPU using ARM Cortex-A7 instruction set ● Most ARM distros are targeted to run on ARM Cortex-A7 CPU. ● This is also popular on Tizen development, as the Samsung's Exynos 5 CPUs found on Odroid boards use this instruction set.
  • 4. 4 RASPBERRY PI2 INTERFACE PINS (1) GPIO pins Image source https://commons.wikimedia.org/wiki/File:Raspberry_Pi_2_Model_B_v1.1_top_new.jpg released under CC Attribution-ShareAlike 4.0 International
  • 5. 5 RASPBERRY PI2 INTERFACE PINS (2) ● It has 40 pins providing things like: – I2C, SPI and UART interfaces; – 3.3 and 5 V power supply; – Generic Input/Output (GPIO); – Display, Camera Sensor, Ethernet and 4 USB connectors – Hardware Attached on Top (HAT) expansion boards ● Providing extra functionality, like proto-boards, servo control, relays control, digital inputs/outputs, leds control, etc. ● Lots of HAT boards already available in the market Image source: http://elinux.org/File:UniPi_set.png released under CC Attribution-ShareAlike 3.0 Unsupported License UniPI home automation board: 8 relays (5A, 220V) 14 digital inputs (5-24V) 2 analog inputs (0-10V) 0-10V analog output
  • 6. 6 TIZEN, RPI2, AND THE INTERNET OF THINGS ● This combo creates an IoT trifecta: – The RPi2 provides a low-cost, widely-used hardware platform with optional boards ready to be used for IoT – Tizen provides an efficient software platform – IoTivity provides a full-featured IoT platform ● Samsung is targeting Tizen as the primary platform for smart devices in the future. – Our goal with this project is to bring IoT development with Tizen to the masses
  • 7. 7 GBS VS. YOCTO BUILD ● There are two ways to build Tizen 3.0: – GBS (Git Build System) ● Has its roots at Suse's OBS (Open Build Service) ● Based on source RPM files (srpm), developed by Red Hat and used also on derivaded distros (Suse, Mageia, etc.) ● RPM source files are distro-specific: they contain their own set of macros and install directories, being hard to share srpm files among different distros. – Yocto ● It is a collaboration project that provides templates, tools and methods to create custom distros for embedded products.
  • 8. 8 BUILDING WITH YOCTO ● Yocto is a derivative of a popular embedded distro, called OpenEmbedded – It was built to share packages among different distros.Several popular embedded distros are built from it: Open Embedded, Angstrom, etc. – It uses the concept of layers. One of the layers is called BSP (Board Support Package) and contains arch-specific bits ● The Yocto build uses a tool called bitbake – Bitbake uses files called recipes – Bitbake downloads and builds packages and the image files
  • 9. 9 PROS AND CONS OF USING YOCTO ON TIZEN (1) ● Advantages of using Yocto: – Easy to share the same package/recipe on different distros ● In long term, it saves money – There are a vast number of packages already ported to it; – There are plenty resources at the Internet describing it; – Doesn't require a dedicated build server: any machine with a copy of the Tizen on Yocto tree can build it. ● Reduces the cost of development ● Can attract more developers
  • 10. 10 PROS AND CONS OF USING YOCTO ON TIZEN (2) ● Disadvantages of using Yocto on Tizen: – By default, bitbake assumes that it can freely access the Internet to download the needed packages. That could be a problem on some networks. ● Internal mirrors are possible, though not trivial to setup; – Tizen packages need to be converted to bitbake recipes ● Several packages were converted with auto tools, but they have some issues. – So, manual review is needed. ● It increases the cost in short term
  • 11. 11 TIZEN ON RASPBERRY PI2 ● As we didn't have a GBS build server handy, and there were already an existing Yocto BSP layer for RPi2, it was decided to use Yocto instead of GBS: – That allowed us to have Tizen running on RPi2 in about one week (not full time, as I have the Media Linux Kernel subsystem to maintain). – It keeps helping us to add nice things to the distribution, like Qt5; – Several Samsung Open Source Group developers were able to work without the need of building/setting up a GBS server.
  • 12. 12 MAJOR CHALLENGES (1) ● Getting Yocto to Work – Tizen on Yocto were prepared only for x86 build – Several bugs hit when we started the work ● Necessary Upstream Changes – We want to use Tizen on yocto upstream (tizen-distro) as-is ● Got maintainership on Yocto-based packages, together with Leon Anavi, mainly: tizen-distro, meta-tizen ● Sent the needed patches to Tizen – Patches to meta-raspberrypi are also being developed; ● Takes more time to reach upstream, as it is based on a new GPU driver still under development.
  • 13. 13 MAJOR CHALLENGES (2) ● Hardware Acceleration – This is always a challenge on ARM: GPU IP block developers are usually not keen on upstreaming their drivers. – Broadcom (CPU vendor used on RPi) started to develop a new upstream driver for GPU, called VC4. ● Still has some things to be solved, but driver works on Tizen ● Smart Package Manager – Have a way to dynamically add/remove packages from a repository ● Added a repo at http://files.s-osg.org/tizen-on-rpi2/rpm/
  • 14. 14 WORK IN PROGRESS ● This is still an ongoing project, and we are working on adding support for a number of important elements – Crosswalk – This will enable the installation of web apps (written in HTML/CSS and JavaScript) – IoTivity – This will enable greater levels of device-to- device connectivity with the RPi2. – Rust / Servo – This will bring the next generation of web browsers to this platform.
  • 15. 15 STEPS TO BUILD TIZEN ON YOCTO FOR RPI2 1. Clone tizen-distro git clone git://git.s-osg.org/tizen-distro.git -b 3d_accel_vc4 2. Add RPi2 meta repository cd tizen_ditro git clone git clone git://git.s-osg.org/meta-raspberrypi.git -b 3d_accel_vc4 3. Prepare for the build source ./tizen-common-init-build-env build && cd build wget http://files.s-osg.org/tizen-on-rpi2/local.conf.3d_accel_vc -O conf/local.conf wget http://files.s-osg.org/tizen-on-rpi2/bblayers.conf -O conf/bblayers.conf 4. Build tizen with: bitbake tizen-core-image-minimal-dev
  • 16. 16 TRY IT YOURSELF! ● Keep up with the latest developments on our blog: – http://blogs.s-osg.org/tizen-on-rpi2 – We have full guides to build the images yourself. A powerful computer and fast Internet connection are recommended for the build process – New article released this week about using WiFi on RPi2 with Tizen. ● Download the LATEST image directly from us: – http://files.s-osg.org/tizen-on-rpi2/ – Save yourself the hassle of a huge download and lengthy build process ● We seek any developers interested in creating things for Tizen and the RPi2.