Toasting the real world What makes Toaster work Beln Barros Pena - - - PowerPoint PPT Presentation

toasting the real world
SMART_READER_LITE
LIVE PREVIEW

Toasting the real world What makes Toaster work Beln Barros Pena - - - PowerPoint PPT Presentation

Toasting the real world What makes Toaster work Beln Barros Pena - ELC 2016 Yocto Project | The Linux Foundation 2 interaction design Yocto Project | The Linux Foundation 3 photo by garretkeogh Like industrial design, the discipline


slide-1
SLIDE 1

Toasting the real world

Belén Barros Pena - ELC 2016

What makes Toaster work

slide-2
SLIDE 2 Yocto Project | The Linux Foundation 2
slide-3
SLIDE 3 Yocto Project | The Linux Foundation 3

interaction design

slide-4
SLIDE 4 Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007)

“Like industrial design, the discipline would start from the needs and desires of the people who use a product or service”

4
slide-5
SLIDE 5 Yocto Project | The Linux Foundation 5

building software that makes sense to the people who use it

slide-6
SLIDE 6 Yocto Project | The Linux Foundation 6
slide-7
SLIDE 7 Yocto Project | The Linux Foundation 7

building a standard image for the Raspberry Pi takes ...

slide-8
SLIDE 8 Yocto Project | The Linux Foundation 8

... 10 steps

slide-9
SLIDE 9 Yocto Project | The Linux Foundation 9

10!!

slide-10
SLIDE 10 Yocto Project | The Linux Foundation 10

1. Find meta-raspberrypi 2. Clone meta-raspberrypi 3. Figure out if meta-raspberrypi requires any other layers 4. Clone the other layers 5. Add all the layers to bblayers.conf 6. Figure out the machine name for your Raspberry Pi 7. Set it as the MACHINE in local.conf 8. Source the build environment script 9. Find an image to build

  • 10. Tell BitBake to build the image
slide-11
SLIDE 11 Yocto Project | The Linux Foundation 11
slide-12
SLIDE 12 Yocto Project | The Linux Foundation 12
slide-13
SLIDE 13 Yocto Project | The Linux Foundation 13

https://youtu.be/vyqpUgKctG8 This video shows how the simplest, somehow meaningful task you can carry out with OpenEmbedded looks like when you do it with Toaster.

slide-14
SLIDE 14 Yocto Project | The Linux Foundation 14

Yocto Project 2.1 "Krogoth" 2.0 "Jethro" 1.8 "Fido" 1.7 "Dizzy" OpenEmbedded krogoth jethro fido dizzy BitBake 1.30 1.28 1.26 1.24 poky 15.0 14.0 13.0 12.0

slide-15
SLIDE 15 Yocto Project | The Linux Foundation 15
  • penembedded-core

meta-openembedded meta-oe

slide-16
SLIDE 16 Yocto Project | The Linux Foundation 16
slide-17
SLIDE 17 Yocto Project | The Linux Foundation

OpenEmbedded madness pie chart

17

Alien concepts

slide-18
SLIDE 18 Yocto Project | The Linux Foundation 18
slide-19
SLIDE 19 Yocto Project | The Linux Foundation

OpenEmbedded madness pie chart

19

Alien concepts Invisibility problem

slide-20
SLIDE 20 Yocto Project | The Linux Foundation 20

easy-to-remember machine names (!)

slide-21
SLIDE 21 Yocto Project | The Linux Foundation 21

Paul Eggleton

slide-22
SLIDE 22 Yocto Project | The Linux Foundation 22
slide-23
SLIDE 23 Yocto Project | The Linux Foundation 23
slide-24
SLIDE 24 Yocto Project | The Linux Foundation 24
slide-25
SLIDE 25 Yocto Project | The Linux Foundation 25

213 layers 307 machines 8255 recipes 217 images

slide-26
SLIDE 26 Yocto Project | The Linux Foundation 26
slide-27
SLIDE 27 Yocto Project | The Linux Foundation 27
slide-28
SLIDE 28 Yocto Project | The Linux Foundation 28
slide-29
SLIDE 29 Yocto Project | The Linux Foundation 29
slide-30
SLIDE 30 Yocto Project | The Linux Foundation 30
slide-31
SLIDE 31 Yocto Project | The Linux Foundation 31

https://youtu.be/paPzZOnD8fI This video shows a couple of OpenEmbedded layers missing from the Layer Index, and how they don't appear in Toaster either.

slide-32
SLIDE 32 Yocto Project | The Linux Foundation 32

If you maintain an open source layer ...

  • 1. Submit it to the Layer Index
slide-33
SLIDE 33 Yocto Project | The Linux Foundation 33
slide-34
SLIDE 34 Yocto Project | The Linux Foundation 34

OpenEmbedded master jethro fido Yocto Project master 2.0 1.8 Layers 213 73 91

slide-35
SLIDE 35 Yocto Project | The Linux Foundation 35

https://youtu.be/xCPLsRmJmDo This video shows an example of a layer that doesn't exist for all OpenEmbedded stable branches.

slide-36
SLIDE 36 Yocto Project | The Linux Foundation 36

do not mix layers from different branches

slide-37
SLIDE 37 Yocto Project | The Linux Foundation 37
slide-38
SLIDE 38 Yocto Project | The Linux Foundation 38

https://youtu.be/h35PI-UgkSc This video shows how you set the BitBake version and the metadata branch in Toaster, and how Toaster enforces the "do not mix layers from different branches" rule.

slide-39
SLIDE 39 Yocto Project | The Linux Foundation 39

If you maintain an open source layer ...

  • 1. Submit it to the Layer Index
  • 2. Create branches for all

OpenEmbedded stable branches

slide-40
SLIDE 40 Yocto Project | The Linux Foundation 40

https://youtu.be/vl14GXiI4oc This video shows how to import layers with Toaster, and how you can use the import layer feature to bypass the "do not mix layers from different branches" rule.

slide-41
SLIDE 41 Yocto Project | The Linux Foundation 41

https://youtu.be/Xu0GvAA2wtQ This video shows that Toaster will not have any information about imported layers until you build them.

slide-42
SLIDE 42 Yocto Project | The Linux Foundation 42

https://youtu.be/eWoZ3BTf84U This video shows how Toaster knows about layer dependencies.

slide-43
SLIDE 43 Yocto Project | The Linux Foundation 43

https://youtu.be/q-Z05Sqz0LY This video shows how you enter layer dependencies in the Layer Index.

slide-44
SLIDE 44 Yocto Project | The Linux Foundation 44
slide-45
SLIDE 45 Yocto Project | The Linux Foundation 45

https://youtu.be/EiVmPBKHNpg This video shows what happens in Toaster when you try to build a layer that has incomplete dependencies.

slide-46
SLIDE 46 Yocto Project | The Linux Foundation 46

If you maintain an open source layer ...

  • 1. Submit it to the Layer Index
  • 2. Create branches for all

OpenEmbedded stable branches

  • 3. Make sure the layer dependencies

are correct

slide-47
SLIDE 47 Yocto Project | The Linux Foundation 47

how hard or how easy it is to build with OpenEmbedded is up to you

slide-48
SLIDE 48 Yocto Project | The Linux Foundation 48
slide-49
SLIDE 49 Yocto Project | The Linux Foundation 49

1. Figure out which recipe builds the gdb package 2. Find out about the IMAGE_INSTALL variable 3. Learn about the correct appending syntax 4. Know that the correct place to append to IMAGE_INSTALL is the local.conf file 5. Build his image

slide-50
SLIDE 50 Yocto Project | The Linux Foundation 50
slide-51
SLIDE 51 Yocto Project | The Linux Foundation 51

https://youtu.be/0OVP51W2ab4 This video shows how you add a package to an image in Toaster 2.0 by appending to IMAGE_INSTALL.

slide-52
SLIDE 52 Yocto Project | The Linux Foundation 52

https://youtu.be/2lmHPDIvocM This video shows how you add a package to an image in Toaster 2.1 and how you can download the image recipe file.

slide-53
SLIDE 53 Yocto Project | The Linux Foundation 53
slide-54
SLIDE 54 Yocto Project | The Linux Foundation 54

Where next?

  • 1. Enhance the build information
slide-55
SLIDE 55 Yocto Project | The Linux Foundation 55

https://youtu.be/ZwporQ2dO5w This video shows the build information feature in Toaster.

slide-56
SLIDE 56 Yocto Project | The Linux Foundation 56

Where next?

  • 1. Enhance the build information
  • 2. Improve Toaster team work capabilities
  • 3. Stop developing Toaster
slide-57
SLIDE 57 Yocto Project | The Linux Foundation 57

belen.barros.pena@intel.com belen on #yocto & #oe @belenpena

slide-58
SLIDE 58

thank you

and Paul Eggleton, Michael Wood, Brian Avery, the OpenBMC folks and all Toaster contributors

slide-59
SLIDE 59 Yocto Project | The Linux Foundation 59 Slide 4: Bill Mogridge Presentation by Garret Keogh under CC BY-NC-SA 2.0 Slide 11 and 49: Flour by Malakhi Helel under CC BY-ND 2.0 Slide 25: Superman! by Evonne under CC BY 2.0

Credits