what makes toaster work - elinux.org · yocto project | the linux foundation photo by garretkeogh...

59
Toasting the real world Belén Barros Pena - ELC 2016 What makes Toaster work

Upload: vuongkiet

Post on 25-Apr-2018

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Toasting the real world

Belén Barros Pena - ELC 2016

What makes Toaster work

Page 2: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation2

Page 3: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation3

interaction design

Page 4: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

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

Page 5: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation5

building software that makes sense to the people who use it

Page 6: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation6

Page 7: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation7

building a standard image for the

Raspberry Pi takes ...

Page 8: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation8

... 10 steps

Page 9: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation9

10!!

Page 10: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation10

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

Page 11: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation11

Page 12: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation12

Page 13: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation13

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.

Page 14: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation14

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

Page 15: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation15

openembedded-core

meta-openembedded

meta-oe

Page 16: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation16

Page 17: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation

OpenEmbedded madness pie chart

17

Alien concepts

Page 18: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation18

Page 19: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation

OpenEmbedded madness pie chart

19

Alien concepts

Invisibility problem

Page 20: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation20

easy-to-remember machine names (!)

Page 21: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation21

Paul Eggleton

Page 22: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation22

Page 23: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation23

Page 24: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation24

Page 25: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation25

213 layers

307 machines

8255 recipes

217 images

Page 26: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation26

Page 27: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation27

Page 28: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation28

Page 29: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation29

Page 30: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation30

Page 31: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation31

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.

Page 32: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation32

If you maintain an open source layer ...

1. Submit it to the Layer Index

Page 33: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation33

Page 34: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation34

OpenEmbedded

master

jethro

fido

Yocto Project

master

2.0

1.8

Layers

213

73

91

Page 35: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation35

https://youtu.be/xCPLsRmJmDo

This video shows an example of a layer that doesn't exist for all OpenEmbedded stable branches.

Page 36: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation36

do not mix layers from different branches

Page 37: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation37

Page 38: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation38

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.

Page 39: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation39

If you maintain an open source layer ...

1. Submit it to the Layer Index

2. Create branches for all OpenEmbedded stable branches

Page 40: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation40

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.

Page 41: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation41

https://youtu.be/Xu0GvAA2wtQ

This video shows that Toaster will not have any information about imported layers until you build them.

Page 42: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation42

https://youtu.be/eWoZ3BTf84U

This video shows how Toaster knows about layer dependencies.

Page 43: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation43

https://youtu.be/q-Z05Sqz0LY

This video shows how you enter layer dependencies in the Layer Index.

Page 44: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation44

Page 45: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation45

https://youtu.be/EiVmPBKHNpg

This video shows what happens in Toaster when you try to build a layer that has incomplete dependencies.

Page 46: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation46

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

Page 47: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation47

how hard or how easy it is to build with OpenEmbedded

is up to you

Page 48: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation48

Page 49: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation49

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

Page 50: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation50

Page 51: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation51

https://youtu.be/0OVP51W2ab4

This video shows how you add a package to an image in Toaster 2.0 by appending to IMAGE_INSTALL.

Page 52: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation52

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.

Page 53: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation53

Page 54: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation54

Where next?

1. Enhance the build information

Page 55: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation55

https://youtu.be/ZwporQ2dO5w

This video shows the build information feature in Toaster.

Page 56: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation56

Where next?

1. Enhance the build information

2. Improve Toaster team work capabilities

3. Stop developing Toaster

Page 57: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

Yocto Project | The Linux Foundation57

[email protected]

belen on #yocto & #oe

@belenpena

Page 58: What makes Toaster work - eLinux.org · Yocto Project | The Linux Foundation photo by garretkeogh Bill Moggridge, Designing Interactions (2007) “Like industrial design, the discipline

thank you

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

Toaster contributors