Introduction to the Yocto Project / Openembedded-Core

Introduction to the Yocto Project / Openembedded-Core

Embedded Recipes Conference - 2017 Introduction to the Yocto Project / OpenEmbedded-core Mylène Josserand Bootlin [email protected] embedded Linux and kernel engineering - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 1/1 Mylène Josserand I Embedded Linux engineer at Bootlin since 2016 I Embedded Linux expertise I Development, consulting and training around the Yocto Project I One of the authors of Bootlin’ Yocto Project / OpenEmbedded training materials. I Kernel contributor: audio driver, touchscreen, RTC and more to come! embedded Linux and kernel engineering - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 2/1 I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: I Understand why we should use a build system - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! Introduction I In this talk, we will: I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I When you see a X, it means it is a good practice! Introduction I In this talk, we will: I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 Introduction I In this talk, we will: I Understand why we should use a build system I How the Yocto Project / OpenEmbedded core are structured I How we can use it I How we can update it to fit our needs I Give some good practices to start using the Yocto Project correctly I Allows to customize many things: it is easy to do things the wrong way I When you see a X, it means it is a good practice! - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 3/1 I In the Embedded world, we have many constraints I Nice to reduce the system to a minimal one + add our custom application I A build system will automate the creation of the system in a reproducible way I Integration means packaging applications to create a final image Why use a build system? - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1 I Nice to reduce the system to a minimal one + add our custom application I A build system will automate the creation of the system in a reproducible way I Integration means packaging applications to create a final image Why use a build system? I In the Embedded world, we have many constraints - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1 I A build system will automate the creation of the system in a reproducible way I Integration means packaging applications to create a final image Why use a build system? I In the Embedded world, we have many constraints I Nice to reduce the system to a minimal one + add our custom application - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1 I Integration means packaging applications to create a final image Why use a build system? I In the Embedded world, we have many constraints I Nice to reduce the system to a minimal one + add our custom application I A build system will automate the creation of the system in a reproducible way - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1 Why use a build system? I In the Embedded world, we have many constraints I Nice to reduce the system to a minimal one + add our custom application I A build system will automate the creation of the system in a reproducible way I Integration means packaging applications to create a final image - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 4/1 L N Easy to create and extend N Hard to customize and optimize (boot time, size) N Hard to rebuild from source N Native-compilation Not available for all architectures N L Not as easy as a binary distribution L Nearly full flexibility L Built from source: customization and optimization are easy L Fully reproducible Cross-compilation L N Full flexibility N Dependency hell Lack of reproducibility I Binary distribution (Debian, Ubuntu, Fedora, etc): I Build systems (Buildroot, the Yocto Project, etc): System integration: several possibilities I Building everything manually: - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 5/1 L N Easy to create and extend N Hard to customize and optimize (boot time, size) N Hard to rebuild from source N Native-compilation Not available for all architectures N L Not as easy as a binary distribution L Nearly full flexibility L Built from source: customization and optimization are easy L Fully reproducible Cross-compilation N N Dependency hell Lack of reproducibility I Binary distribution (Debian, Ubuntu, Fedora, etc): I Build systems (Buildroot, the Yocto Project, etc): System integration: several possibilities I BuildingL everything manually: Full flexibility - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 5/1 L N Easy to create and extend N Hard to customize and optimize (boot time, size) N Hard to rebuild from source N Native-compilation Not available for all architectures N L Not as easy as a binary distribution L Nearly full flexibility L Built from source: customization and optimization are easy L Fully reproducible Cross-compilation N Lack of reproducibility I Binary distribution (Debian, Ubuntu, Fedora, etc): I Build systems (Buildroot, the Yocto Project, etc): System integration: several possibilities I BuildingL everything manually: N Full flexibility Dependency hell - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 5/1 L N Easy to create and extend N Hard to customize and optimize (boot time, size) N Hard to rebuild from source N Native-compilation Not available for all architectures N L Not as easy as a binary distribution L Nearly full flexibility L Built from source: customization and optimization are easy L Fully reproducible Cross-compilation I Binary distribution (Debian, Ubuntu, Fedora, etc): I Build systems (Buildroot, the Yocto Project, etc): System integration: several possibilities I BuildingL everything manually: N Full flexibility N Dependency hell Lack of reproducibility - Kernel, drivers and embedded Linux - Development, consulting, training and support - https://bootlin.com 5/1 N L Not

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    173 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us