why you should use the yocto project
DESCRIPTION
Why you should use the Yocto Project instead of a desktop Linux.TRANSCRIPT
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
Why you should usethe Yocto Project
(instead of a desktop Linux)for your product
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
or,How I Learned To Stop Worrying
And Love Building Distros
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.
“It's not an embedded Linux distribution— it creates a custom one for you”
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.
Not a “PC”
Basically, "not general purpose desktop computing".
There are many examples where the YP is a good fit
Home Media
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.
Digital Signage
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.
TelecomsData Centre
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
Intel® Xeon Phi™(ding dong ding dong!)
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
Misc and Other
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?
So many choices!
When picking a platform what's the difference between Yocto and Android, Linaro, Tizen, Buildroot, Baserock, or hacking
Easy to hack on at first,but you’ll regret it later
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
Designed to gothe distance
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
Licensing Hell
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
Won’t fall apart over time
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.
Exactly how you want it
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
Developer friendly
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
Malleable
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
Q&A
Thanks!
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