SlideShare a Scribd company logo
Snap Your IoT Device on Ubuntu
在 Ubuntu 上更快、更便捷地部署物联网设备
Rex Tsai, Technical Architect
1 Sep 2017
Canonical
We are the company behind Ubuntu
Canonical 总部位于英国,2004 年开始开发操作系统
关于 Canonical
FOUNDED EMPLOYEES COUNTRIES
2004 520+ 35+
技术授权与支援服务
产品与服务类型
Hybrid Cloud
基础建设
IoT
软件应用
LXD
云计算维运
Snap
Store
边缘计算
技术授权与支援服务
4
Ubuntu is the #1 Choice for Innovators
3 million +
developers
cloud to edge
Ubuntu ranked as 2nd most used IoT OS by
Eclipse Foundation survey
Ubuntu is powering smart IoT
Smart drone
controllers
Advanced
robotics
Home gateways Industrial
gateways
Digital Signage
≠
Ease of development
Certified platforms
Wealth of libraries
Security
Devops for IoT
MonetizationDevelopment Deployment
IOT Dev Deploy - prototype to production
Difficulties of Building a Platform Business
Security and OTA
maintenance
Devops
for IoT
Ecosystem
building
1 2 3
Snap - a universal Linux package format
Supported distros Example snaps / frameworks
Ubuntu 16.04 LTS
supports snap by
default
A minimal, secure, transactional Ubuntu designed for IoT
Ubuntu Core: Ubuntu optimised for IoT operations
● For production
● Optimised for security
● Small footprint < 256 Mb RAM
● Read only OS / Kernel
● White label appstore
● Contained apps
● Signed apps
● Over the Air updates
● For development
● Optimised for flexibility
● Large footprint
● Read / Write OS & Kernel
● Manual installs
● Un-contained apps
● Unsigned apps
● Manual updates
● Same code, reliability and frequent patches updates
● Same choice of library (Qt, IoT, Robotics, Computer Vision)
● Same packaging system and development environment
What is Ubuntu Core?
A minimal version with the same bits as today’s Ubuntu
Ubuntu Core with transactional updates
Applications confined by technologies lead by Canonical
Safe, reliable, worry free updates with tests and rollback
Amazing developer experience with snapcraft
Easily extensible
Easily create app stores for all your devices
OS IMAGE SIZE
Ubuntu Core
350 MB
829 MB
Ubuntu Server
Minimal footprint
Applications are provided as snaps!
● The snap format is a compressed filesystem with a single
metadata file describing the security profile and desired
integration of the snap.
● That format is shared by everyone in the snap community,
regardless of their choice of store, authentication systems,
licensing or host Linux distribution.
● Decisions taken now by a Technical Oversight Board that
represents a range of communities and companies.
● Easy packaging system, Package it once and be in control of
the version delivery and the software stack
Automatically confines applications
kernel
os
appapp
writable areawritable area
Snaps are confined
and isolated
app
writable area
app
writable area
Legacy Ubuntu Core
Kernel
Kernel
Confined applications packages
as a snap with dependencies
Minimal OS packaged as snap
Clearly defined Kernel and device packaged as snap
OS packageApplication
B
Shared library Device driverApplicatio
n A
Legend:
Modular and simple architecture
Transactional updates
Ubuntu Core apps and Ubuntu Core itself can be
upgraded atomically and rolled back if needed.
Delta change is applied when updating from
different versions. Snaps can be easily
uninstalled (by deleting the snap package)
A bulletproof approach that is perfect for
deployments where predictability and reliability
are paramount. It’s called “transactional” or
“image-based” systems management
Transactional updates: Apps, OS and kernel
Original data
Writable area
Original snap
Upgrade
Modified data
during upgrade
Writable area
Updated snap
Original data
Writable area
Original data is kept
on device
Original snap
Original data
Writable area
Original snap
Rollback
on failure
All Snap Architecture
In a snappy system, all software beyond the
bootloader is distributed as a snap in this
same format.
● The OS snap contains the core operating
system.
● The kernel snap contains the kernel and
hardware-specific drivers.
● The gadget snap is device specific and is
used to configure a particular model of
device.
Ubuntu Core
Kernel 4.4
Confined applications packages
as a snap with dependencies
Minimal OS packaged as snap
Clearly defined Kernel and device packaged as snap
snapcraft.io
Developers from multiple Linux distributions and companies collaborate
on the “snap” universal Linux package format, enabling a single binary
package to work perfectly and securely on any Linux desktop, server,
cloud or device.
Snapcraft lets developers assemble their snap from existing
projects, leveraging different technologies.
Developer tools: Snapcraft
Project A Project B Project C ...
Snapcraft
pull
● Snapcraft supports several technologies through the
current plugins available.
● Snapcraft is extensible and new plugins to leverage existing
technologies can be developed.
● Java, Python, ROS, Go, Maven, QML, NodeJS, make,
kernel are just a few examples of the languages and
technologies that can be used.
● We can reuse deb packages from ubuntu
Developer tools: Snapcraft plugins
商城
build.snapcraft.io
Create an
update
Auto build
and publish
Auto update
and rollback
An app store for new software revenue
A store to manage your devices and updates
Provides identity and update mechanisms for
● Devices
● Software
● Users
$600 drone
(hardware)
Security. Updates. Monetization.
Long Term Support.
Secure revenue generating devices
Case Study
Build your IoT device with Ubuntu & Canonical
i.MX6
Samsung
ARTIK
Qualcomm
DragonBoard
Intel NUC
Intel Joule Raspberry Pi 2/3
Find out more at:
https://developer.ubuntu.com/
Dell Edge Gateway
基于 Ubuntu 的 Dell IOT 智能网关,适合工
业与自动化用途
● 快速成长的 ISV 生态系统
● 同一个硬件提供不同领域的应用场景
● NEXIONA - 建筑物管理
● Technosec+DeOl - 智能工厂
● AZLOGICA - 农业
● Azeti - 设备维运
SnapRoute
SnapRoute 是 2016/06 创立的网路新
创,产品叫做 Flex Switch,提供一个微
服务架构的新型 Switch 控制方案
● 透过 Canonical’s MAAS (‘Metal as
a Service’),轻易从无到有将
Ubuntu 部属到 Switch 硬件上
● 透过 Snap 分发 FlexSwitch 到
Ubuntu 操作平台。
● 支援 Facebook Wedge 100 等白
牌 Switch
Screenly - Digital signage meets IoT & AI
第一个基于 Raspberry Pi 的数字标牌方案。
从 Debian 转移到 Ubuntu Core 操作系统作
為商用方案。
● 超过十万基于 Raspberry Pi 的数字标
牌屏幕
● 超低成本,可以高度自订的 IoT 方
● 对用户与 Screenly 都是容易维运的方
案
http://www.huodongxing.com/event/2398109794800
联系方式
Rex Tsai
http://weibo.com/chihchun
rex.tsai@canonical.com
Ubuntu官方微信 黑客松微信群

More Related Content

PDF
Ubuntu Core 技术详解
PDF
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
PDF
Screencasting
PDF
Emanuele Faranda - Creating network overlays with IoT devices using N2N
PDF
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
PDF
开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机
PPTX
What should you know about Net Core?
Ubuntu Core 技术详解
BKK16-406 Ubuntu Core - a snappy platform for Embedded, IoT and 96boards!
Screencasting
Emanuele Faranda - Creating network overlays with IoT devices using N2N
UplinQ - ubuntu linux on the qualcomm® snapdragon™ 600 processor
开放原码手机操作系统 Ubuntu Phone 架构、移植与刷机
What should you know about Net Core?

What's hot (20)

PDF
BKK16-309A Open Platform support in UEFI
PDF
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
PDF
Memory Management in TIZEN - Samsung SW Platform Team
PPTX
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
PDF
IoT: Contrasting Yocto/Buildroot to binary OSes
PDF
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
PDF
Userspace drivers-2016
PDF
Vulnerability Exploitation in Docker Container Environments
PDF
IoT Meets Security
PDF
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
PDF
Droidcon 2013 france - The Growth of Android in Embedded Systems
PDF
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)
PDF
Introduction to OpenBricks: an Embedded Linux Framework
PDF
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
PDF
Software update for IoT: the current state of play
PDF
Embedded linux build systems
PDF
Quick and Easy Device Drivers for Embedded Linux Using UIO
PPTX
Fast-paced Introduction to Android Internals
PPTX
LAS16-300K2: Geoff Thorpe - IoT Zephyr
PDF
Toward "OCF Automotive" profile
BKK16-309A Open Platform support in UEFI
Connected Tizen: Bringing Tizen to Your Connected Devices Using the Yocto Pro...
Memory Management in TIZEN - Samsung SW Platform Team
Utilisation de la plateforme virtuelle QEMU/SystemC pour l'IoT
IoT: Contrasting Yocto/Buildroot to binary OSes
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Userspace drivers-2016
Vulnerability Exploitation in Docker Container Environments
IoT Meets Security
IoTivity Tutorial: Prototyping IoT Devices on GNU/Linux
Droidcon 2013 france - The Growth of Android in Embedded Systems
Software, Over the Air (SOTA) for Automotive Grade Linux (AGL)
Introduction to OpenBricks: an Embedded Linux Framework
Embedded Recipes 2017 - An easy-to-install real world embedded Linux distribu...
Software update for IoT: the current state of play
Embedded linux build systems
Quick and Easy Device Drivers for Embedded Linux Using UIO
Fast-paced Introduction to Android Internals
LAS16-300K2: Geoff Thorpe - IoT Zephyr
Toward "OCF Automotive" profile
Ad

Similar to 如何在 Ubuntu 上更快、更便捷地部署物联网设备 (20)

PDF
Ubuntu - Industrial Internet of Things Intro
PDF
Introduction to Ubuntu core, Ubuntu for IoT
PDF
Introduction to Ubuntu core, Ubuntu for IoT
PDF
Ubucon 2016: Internet of self updated things
PDF
IoT - Innovating without compromising security
ODP
Io t gets snappy with ubuntu core
PDF
Workshop: snap from zero to hero
ODP
Snaps on open suse
PDF
Snap - the universal packaging format for linux distros
PDF
Automated Snap Package build processes without the Build Service
PPTX
Making OSM Snappy
PDF
Linux User Developer 153 Faster Better Servers Gavin Thomas
PDF
Yocto and IoT - a retrospective
PDF
Exploits of the Snapcraft Ninja
PDF
Open stack meetup_boston_ubuntu_cloud
PDF
Snappy Kamailio
PDF
Snap Your App
PDF
Securing the Internet of Things
PDF
Building Good Containers for Python Applications
PDF
IoT Development from Prototype to Production
Ubuntu - Industrial Internet of Things Intro
Introduction to Ubuntu core, Ubuntu for IoT
Introduction to Ubuntu core, Ubuntu for IoT
Ubucon 2016: Internet of self updated things
IoT - Innovating without compromising security
Io t gets snappy with ubuntu core
Workshop: snap from zero to hero
Snaps on open suse
Snap - the universal packaging format for linux distros
Automated Snap Package build processes without the Build Service
Making OSM Snappy
Linux User Developer 153 Faster Better Servers Gavin Thomas
Yocto and IoT - a retrospective
Exploits of the Snapcraft Ninja
Open stack meetup_boston_ubuntu_cloud
Snappy Kamailio
Snap Your App
Securing the Internet of Things
Building Good Containers for Python Applications
IoT Development from Prototype to Production
Ad

More from Rex Tsai (18)

PDF
登山步道開放資料格式標準化
PDF
Building a developer community with containers
PDF
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)
PDF
Ubuntu phone engineering
PDF
以 Leaflet 濫用^H^H呈現開放街圖資料
PDF
Everest basecamp & gokyo trekking
PDF
Oepn Street Map Batch edting via API
PDF
以開源軟體與 Open Street Map 規劃登山行程
PDF
Modern Linux Desktop Stack
PDF
Get your FLOSS problems solved
PDF
遺失的時代精神 - Zeitgeist and GNOME Activity Journal
PDF
Layer 8 - Open source communities and your product
PDF
A Study of SVG-based Application Development @ OSDC 2010
PDF
OpenWrt Case Study 2008
PDF
OpenWrt101 2007
PDF
OpenLab.Taipei #2 PORTA2030 Extra
PDF
OpenLab.Taipei #2 PORTA2030
PDF
OpenWRT, A value-add base solution for your product. (1st part, chihchun)
登山步道開放資料格式標準化
Building a developer community with containers
台灣開源社區淺談 (Open Source and Free Software community in Taiwan)
Ubuntu phone engineering
以 Leaflet 濫用^H^H呈現開放街圖資料
Everest basecamp & gokyo trekking
Oepn Street Map Batch edting via API
以開源軟體與 Open Street Map 規劃登山行程
Modern Linux Desktop Stack
Get your FLOSS problems solved
遺失的時代精神 - Zeitgeist and GNOME Activity Journal
Layer 8 - Open source communities and your product
A Study of SVG-based Application Development @ OSDC 2010
OpenWrt Case Study 2008
OpenWrt101 2007
OpenLab.Taipei #2 PORTA2030 Extra
OpenLab.Taipei #2 PORTA2030
OpenWRT, A value-add base solution for your product. (1st part, chihchun)

Recently uploaded (20)

PPTX
Transform Your Business with a Software ERP System
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Digital Strategies for Manufacturing Companies
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
L1 - Introduction to python Backend.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Online Work Permit System for Fast Permit Processing
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
System and Network Administration Chapter 2
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
Introduction to Artificial Intelligence
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Transform Your Business with a Software ERP System
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Odoo POS Development Services by CandidRoot Solutions
Digital Strategies for Manufacturing Companies
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
2025 Textile ERP Trends: SAP, Odoo & Oracle
Wondershare Filmora 15 Crack With Activation Key [2025
Understanding Forklifts - TECH EHS Solution
L1 - Introduction to python Backend.pptx
Design an Analysis of Algorithms II-SECS-1021-03
Which alternative to Crystal Reports is best for small or large businesses.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
Online Work Permit System for Fast Permit Processing
VVF-Customer-Presentation2025-Ver1.9.pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
System and Network Administration Chapter 2
Odoo Companies in India – Driving Business Transformation.pdf
CHAPTER 2 - PM Management and IT Context
Introduction to Artificial Intelligence
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool

如何在 Ubuntu 上更快、更便捷地部署物联网设备

  • 1. Snap Your IoT Device on Ubuntu 在 Ubuntu 上更快、更便捷地部署物联网设备 Rex Tsai, Technical Architect 1 Sep 2017
  • 2. Canonical We are the company behind Ubuntu
  • 3. Canonical 总部位于英国,2004 年开始开发操作系统 关于 Canonical FOUNDED EMPLOYEES COUNTRIES 2004 520+ 35+
  • 5. Ubuntu is the #1 Choice for Innovators 3 million + developers
  • 7. Ubuntu ranked as 2nd most used IoT OS by Eclipse Foundation survey
  • 8. Ubuntu is powering smart IoT Smart drone controllers Advanced robotics Home gateways Industrial gateways Digital Signage
  • 9. ≠ Ease of development Certified platforms Wealth of libraries Security Devops for IoT MonetizationDevelopment Deployment IOT Dev Deploy - prototype to production
  • 10. Difficulties of Building a Platform Business Security and OTA maintenance Devops for IoT Ecosystem building 1 2 3
  • 11. Snap - a universal Linux package format Supported distros Example snaps / frameworks
  • 12. Ubuntu 16.04 LTS supports snap by default
  • 13. A minimal, secure, transactional Ubuntu designed for IoT
  • 14. Ubuntu Core: Ubuntu optimised for IoT operations ● For production ● Optimised for security ● Small footprint < 256 Mb RAM ● Read only OS / Kernel ● White label appstore ● Contained apps ● Signed apps ● Over the Air updates ● For development ● Optimised for flexibility ● Large footprint ● Read / Write OS & Kernel ● Manual installs ● Un-contained apps ● Unsigned apps ● Manual updates ● Same code, reliability and frequent patches updates ● Same choice of library (Qt, IoT, Robotics, Computer Vision) ● Same packaging system and development environment
  • 15. What is Ubuntu Core? A minimal version with the same bits as today’s Ubuntu Ubuntu Core with transactional updates Applications confined by technologies lead by Canonical Safe, reliable, worry free updates with tests and rollback Amazing developer experience with snapcraft Easily extensible Easily create app stores for all your devices
  • 16. OS IMAGE SIZE Ubuntu Core 350 MB 829 MB Ubuntu Server Minimal footprint
  • 17. Applications are provided as snaps! ● The snap format is a compressed filesystem with a single metadata file describing the security profile and desired integration of the snap. ● That format is shared by everyone in the snap community, regardless of their choice of store, authentication systems, licensing or host Linux distribution. ● Decisions taken now by a Technical Oversight Board that represents a range of communities and companies. ● Easy packaging system, Package it once and be in control of the version delivery and the software stack
  • 18. Automatically confines applications kernel os appapp writable areawritable area Snaps are confined and isolated app writable area app writable area
  • 19. Legacy Ubuntu Core Kernel Kernel Confined applications packages as a snap with dependencies Minimal OS packaged as snap Clearly defined Kernel and device packaged as snap OS packageApplication B Shared library Device driverApplicatio n A Legend: Modular and simple architecture
  • 20. Transactional updates Ubuntu Core apps and Ubuntu Core itself can be upgraded atomically and rolled back if needed. Delta change is applied when updating from different versions. Snaps can be easily uninstalled (by deleting the snap package) A bulletproof approach that is perfect for deployments where predictability and reliability are paramount. It’s called “transactional” or “image-based” systems management
  • 21. Transactional updates: Apps, OS and kernel Original data Writable area Original snap Upgrade Modified data during upgrade Writable area Updated snap Original data Writable area Original data is kept on device Original snap Original data Writable area Original snap Rollback on failure
  • 22. All Snap Architecture In a snappy system, all software beyond the bootloader is distributed as a snap in this same format. ● The OS snap contains the core operating system. ● The kernel snap contains the kernel and hardware-specific drivers. ● The gadget snap is device specific and is used to configure a particular model of device. Ubuntu Core Kernel 4.4 Confined applications packages as a snap with dependencies Minimal OS packaged as snap Clearly defined Kernel and device packaged as snap
  • 23. snapcraft.io Developers from multiple Linux distributions and companies collaborate on the “snap” universal Linux package format, enabling a single binary package to work perfectly and securely on any Linux desktop, server, cloud or device.
  • 24. Snapcraft lets developers assemble their snap from existing projects, leveraging different technologies. Developer tools: Snapcraft Project A Project B Project C ...
  • 25. Snapcraft pull ● Snapcraft supports several technologies through the current plugins available. ● Snapcraft is extensible and new plugins to leverage existing technologies can be developed. ● Java, Python, ROS, Go, Maven, QML, NodeJS, make, kernel are just a few examples of the languages and technologies that can be used. ● We can reuse deb packages from ubuntu Developer tools: Snapcraft plugins
  • 27. build.snapcraft.io Create an update Auto build and publish Auto update and rollback
  • 28. An app store for new software revenue
  • 29. A store to manage your devices and updates Provides identity and update mechanisms for ● Devices ● Software ● Users
  • 30. $600 drone (hardware) Security. Updates. Monetization. Long Term Support. Secure revenue generating devices
  • 32. Build your IoT device with Ubuntu & Canonical i.MX6 Samsung ARTIK Qualcomm DragonBoard Intel NUC Intel Joule Raspberry Pi 2/3 Find out more at: https://developer.ubuntu.com/
  • 33. Dell Edge Gateway 基于 Ubuntu 的 Dell IOT 智能网关,适合工 业与自动化用途 ● 快速成长的 ISV 生态系统 ● 同一个硬件提供不同领域的应用场景 ● NEXIONA - 建筑物管理 ● Technosec+DeOl - 智能工厂 ● AZLOGICA - 农业 ● Azeti - 设备维运
  • 34. SnapRoute SnapRoute 是 2016/06 创立的网路新 创,产品叫做 Flex Switch,提供一个微 服务架构的新型 Switch 控制方案 ● 透过 Canonical’s MAAS (‘Metal as a Service’),轻易从无到有将 Ubuntu 部属到 Switch 硬件上 ● 透过 Snap 分发 FlexSwitch 到 Ubuntu 操作平台。 ● 支援 Facebook Wedge 100 等白 牌 Switch
  • 35. Screenly - Digital signage meets IoT & AI 第一个基于 Raspberry Pi 的数字标牌方案。 从 Debian 转移到 Ubuntu Core 操作系统作 為商用方案。 ● 超过十万基于 Raspberry Pi 的数字标 牌屏幕 ● 超低成本,可以高度自订的 IoT 方 ● 对用户与 Screenly 都是容易维运的方 案