Why you should use the Yocto Project

39

description

Why you should use the Yocto Project instead of a desktop Linux.

Transcript of Why you should use the Yocto Project

Page 1: Why you should use the Yocto Project
Page 2: Why you should use the Yocto Project

Ross Burton, a senior engineer on the Yocto Project

Been working on Yocto for nearly a year, but also worked on the precursor to Yocto, Poky, before working on moblin, me

Page 3: Why you should use the Yocto Project

Why you should usethe Yocto Project

(instead of a desktop Linux)for your product

Page 4: Why you should use the Yocto Project

I'm talking about why you should use the Yocto Project (instead of a desktop Linux) for your pproduct

They say when you can't summarise your talk in three words, why not use thirty, so I added a subtitle

Page 5: Why you should use the Yocto Project

or,How I Learned To Stop Worrying

And Love Building Distros

Page 6: Why you should use the Yocto Project

How I learned to stop worrying and love building distros.

Because every conference should have a Dr Strangelove reference.

Although this is less funny now that BAE systems have just appeared on the support mailing list.

Page 7: Why you should use the Yocto Project

“It's not an embedded Linux distribution— it creates a custom one for you”

Page 8: Why you should use the Yocto Project

What is the Yocto Project?

YP is not a Linux distribution in the traditional sense, it helps you build a tailored Linux distribution for your embedded L

But what do we mean by embedded? Embedded means different things to different people.

Page 9: Why you should use the Yocto Project

Not a “PC”

Page 10: Why you should use the Yocto Project

Basically, "not general purpose desktop computing".

There are many examples where the YP is a good fit

Page 11: Why you should use the Yocto Project

Home Media

Page 12: Why you should use the Yocto Project

Home media: Televisions, digital video recorders, set-top boxes, wireless speakers, internet radios.

Our set-top box division is rebasing their SDK to YP right now, after maintaining their own linux distro.

Page 13: Why you should use the Yocto Project

Digital Signage

Page 14: Why you should use the Yocto Project

Digital signage, such as the schedule displays you can see in the hallway, airport departure panels, so on.

I certainy hope that next year instead of mac minis we're using minnow boards.

Page 15: Why you should use the Yocto Project

TelecomsData Centre

Page 16: Why you should use the Yocto Project

Telecoms and data centres, where you'll have clusters of xeons running core networking, or other specialised application

These are basically incredible powerful appliances, not general purpose machines. they need every bit of power squeez

Page 17: Why you should use the Yocto Project

Intel® Xeon Phi™(ding dong ding dong!)

Page 18: Why you should use the Yocto Project

Xeon Phi, aka MIC or Knights Corner.

Can't get much more embedded than a PCI Express board with 64 x86 cores on. These are for massive number crunchin

The processor was once upon a time a Pentium but is substantially extended, and the system is totally unlike anything e

Page 19: Why you should use the Yocto Project

Misc and Other

Page 20: Why you should use the Yocto Project

The fun thing about YP is you can't predict where people use it.

This is the Vernier LabQuest, a flexible science probe for education.

webOS, the platform on the palm phone and tablets, is built using YP.

If you update the firmware in your Intel SSD, that tool is built with Yocto

Concordia, our software defined radio platform, runs on YP.

PAUSE.

Now we know what sort of products the YP is aimed at, why should you use it?

Page 21: Why you should use the Yocto Project

So many choices!

Page 22: Why you should use the Yocto Project

When picking a platform what's the difference between Yocto and Android, Linaro, Tizen, Buildroot, Baserock, or hacking

Page 23: Why you should use the Yocto Project

Easy to hack on at first,but you’ll regret it later

Page 24: Why you should use the Yocto Project

When your processor is x86, it's easy to prototype with a desktop distribution and chop pieces off

Building new packages and rebuilding the pieces that need changes

By the time the prototype is working well, you've invested enough effort that starting again to remove the hacks is off-p

But you may end up with a fragile system, or the need to do something invasive such as rebuild the entire product with

Page 25: Why you should use the Yocto Project

Designed to gothe distance

Page 26: Why you should use the Yocto Project

Yocto is proven technology and designed for long term use

The build tool and package metadata (BitBake and OpenEmbedded) have been around for ten years with major deploym

Builds on standard hardware (use your laptop to try it out) without any special requirements (eg no VM or root permissio

Commercial support from major OSVs and specialized consultancies

Finally no restrictions in it's use, the build system is GPL/MIT, no terms to agree to.

Speaking of licensing

Page 27: Why you should use the Yocto Project

Licensing Hell

Page 28: Why you should use the Yocto Project

It's easy to accidently break OSS licensing terms, so YP tries to help.

Around $100k per violation

All recipes need a license statement, and checksums to validate. if a new upstream release changes their license statem

"No GPLv3" button when building that can will disable v3 features or whole packages if the v3 bothers you.

Generate release archives for license compliance, full source and patches. Easy to split open/closed components and p

Page 29: Why you should use the Yocto Project

Won’t fall apart over time

Page 30: Why you should use the Yocto Project

Yocto won't surprise you late in product development

Reproducable builds for the entire system. minimal host dependencies and ability to blow away build tree results in sam

Six monthly release cycle with maintained release branches (about to release the first point release of 1.3, and 1.2 is st

Open planning process for future releases, no development in private repos or not-quite open source model.

Page 31: Why you should use the Yocto Project

Exactly how you want it

Page 32: Why you should use the Yocto Project

Numerous functional layers, with more packages (network daemons, multimedia support, selinux). these are all optiona

Entirely override existing packaging in your own layers, or just tweak behavior by appending packaging fragments.

Generate a machine configuration for your exact target, so you can compile everything with optimal compiler flags, tun

meta-intel has BSPs for key Intel platforms with targetted hardware support, such as NUC, FRI2, Xeon and IVB/SNB platf

Page 33: Why you should use the Yocto Project

Developer friendly

Page 34: Why you should use the Yocto Project

YP is developer friendly

Generate standalone toolchain with headers and libraries so app developers don't actually need to build the whole distr

Development images with compilers/headers, debug images with full symbols and source

Eclipse based SDK for anyone who has an irrational fear of emacs and xterm.

Bogdan just spoke about hob, the graphical interface to bitbake. also starting work on webhob

Documentation is never finished but we've a paid documentation writer

Our autobuild setup is open source and documented, so anyone else can do the same.

Fast to build. Highly parallel builds. my consumer i7 does a build in under an hour, pre-built objects can be shared on th

Page 35: Why you should use the Yocto Project

Malleable

Page 36: Why you should use the Yocto Project

YP is incredibly flexible.

Easily swap or change components, such as systemd for sysvinit, uclibc for eglibc, use Wayland, X11 or DirectFB.

choice of packaging system, and no need to keep it on the image.

Easily shrinks down to a fastboot few meg filesystem for tiny single-application systems, but can also build a full deskto

Page 37: Why you should use the Yocto Project

Q&A

Page 38: Why you should use the Yocto Project

Thanks!

Page 39: Why you should use the Yocto Project

Credits

bomb.pngPublic Domain, apparently. Fair use, if not, right?http://commons.wikimedia.org/wiki/File:Dr._Strangelove_-_Riding_the_Bomb.png

apple.jpgCreative Commons 2.0 BY (C) Steve Jurvetsonhttp://www.flickr.com/photos/44124348109@N01/7515248418/

tv.jpgCreative Commons 2.0 BY (C) Sarah Reidhttp://www.flickr.com/photos/sarahreido/3245498261/

advert.jpgCreative Commons 2.0 BY-NC-SA (C) Justin Brownhttp://www.flickr.com/photos/40708728@N04/8496770124/

data.jpgCreative Commons 2.0 BY-SA (C) Leonardo Rizzihttp://www.flickr.com/photos/29479498@N05/4381851322/

xeon-phi.jpg(C) Intel, press material

labquest.jpgwww.venier.com, press material

minifigs.jpgCreative Commons 2.0 BY (C) peter dutton