Why you should use the Yocto Project


Published on

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

Published in: Technology

Why you should use the Yocto Project

  1. 1. Ross Burton, a senior engineer on the Yocto ProjectBeen working on Yocto for nearly a year, but also worked on the precursor to Yocto, Poky, before wor
  2. 2. Why you should usethe Yocto Project(instead of a desktop Linux)for your product
  3. 3. Im talking about why you should use the Yocto Project (instead of a desktop Linux) for your pproducThey say when you cant summarise your talk in three words, why not use thirty, so I added a subtit
  4. 4. or,How I Learned To Stop WorryingAnd Love Building Distros
  5. 5. 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.
  6. 6. “Its not an embedded Linux distribution— it creates a custom one for you”
  7. 7. What is the Yocto Project?YP is not a Linux distribution in the traditional sense, it helps you build a tailored Linux distribution fBut what do we mean by embedded? Embedded means different things to different people.
  8. 8. Not a “PC”
  9. 9. Basically, "not general purpose desktop computing".There are many examples where the YP is a good fit
  10. 10. Home Media
  11. 11. 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 distr
  12. 12. Digital Signage
  13. 13. Digital signage, such as the schedule displays you can see in the hallway, airport departure panels,I certainy hope that next year instead of mac minis were using minnow boards.
  14. 14. TelecomsData Centre
  15. 15. Telecoms and data centres, where youll have clusters of xeons running core networking, or other spThese are basically incredible powerful appliances, not general purpose machines. they need every
  16. 16. Intel® Xeon Phi™(ding dong ding dong!)
  17. 17. Xeon Phi, aka MIC or Knights Corner.Cant get much more embedded than a PCI Express board with 64 x86 cores on. These are for massThe processor was once upon a time a Pentium but is substantially extended, and the system is tota
  18. 18. Misc and Other
  19. 19. The fun thing about YP is you cant 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 YoctoConcordia, 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?
  20. 20. So many choices!
  21. 21. When picking a platform whats the difference between Yocto and Android, Linaro, Tizen, Buildroot, B
  22. 22. Easy to hack on at first,but you’ll regret it later
  23. 23. When your processor is x86, its easy to prototype with a desktop distribution and chop pieces offBuilding new packages and rebuilding the pieces that need changesBy the time the prototype is working well, youve invested enough effort that starting again to remoBut you may end up with a fragile system, or the need to do something invasive such as rebuild the
  24. 24. Designed to gothe distance
  25. 25. Yocto is proven technology and designed for long term useThe build tool and package metadata (BitBake and OpenEmbedded) have been around for ten yearsBuilds on standard hardware (use your laptop to try it out) without any special requirements (eg noCommercial support from major OSVs and specialized consultanciesFinally no restrictions in its use, the build system is GPL/MIT, no terms to agree to.Speaking of licensing
  26. 26. Licensing Hell
  27. 27. Its easy to accidently break OSS licensing terms, so YP tries to help.Around $100k per violationAll recipes need a license statement, and checksums to validate. if a new upstream release changes"No GPLv3" button when building that can will disable v3 features or whole packages if the v3 botheGenerate release archives for license compliance, full source and patches. Easy to split open/closed
  28. 28. Won’t fall apart over time
  29. 29. Yocto wont surprise you late in product developmentReproducable builds for the entire system. minimal host dependencies and ability to blow away builSix monthly release cycle with maintained release branches (about to release the first point releaseOpen planning process for future releases, no development in private repos or not-quite open source
  30. 30. Exactly how you want it
  31. 31. Numerous functional layers, with more packages (network daemons, multimedia support, selinux). tEntirely override existing packaging in your own layers, or just tweak behavior by appending packagGenerate a machine configuration for your exact target, so you can compile everything with optimameta-intel has BSPs for key Intel platforms with targetted hardware support, such as NUC, FRI2, Xeo
  32. 32. Developer friendly
  33. 33. YP is developer friendlyGenerate standalone toolchain with headers and libraries so app developers dont actually need to bDevelopment images with compilers/headers, debug images with full symbols and sourceEclipse 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 webhobDocumentation is never finished but weve a paid documentation writerOur 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
  34. 34. Malleable
  35. 35. YP is incredibly flexible.Easily swap or change components, such as systemd for sysvinit, uclibc for eglibc, use Wayland, X11choice 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 als
  36. 36. Q&A
  37. 37. Thanks!
  38. 38. Creditsbomb.pngPublic Domain, apparently. Fair use, if not, right?http://commons.wikimedia.org/wiki/File:Dr._Strangelove_-_Riding_the_Bomb.pngapple.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 materiallabquest.jpgwww.venier.com, press materialminifigs.jpg