Description

Book Synopsis

Rudolf J. Streif has more than twenty years of experience in software engineering as a developer and as a manager leading cross-functional engineering teams with more than one hundred members. He previously served as the Linux Foundation's Director of Embedded Solutions, coordinating the Foundation's efforts for Linux in embedded. Rudolf developed the Linux Foundation's training course on the Yocto Project, which he delivered multiple times to companies and in a crash course variant during Linux Foundation events. He lives in El Cajon, California.



Table of Contents

Foreword xv

Preface xvii

Acknowledgments xxi

About the Author xxiii

Chapter 1: Linux for Embedded Systems 1

1.1 Why Linux for Embedded Systems? 1

1.2 Embedded Linux Landscape 3

1.3 A Custom Linux Distribution–Why Is It Hard? 8

1.4 A Word about Open Source Licensing 9

1.5 Organizations, Relevant Bodies, and Standards 11

1.6 Summary 13

1.7 References 14

Chapter 2: The Yocto Project 15

2.1 Jumpstarting Your First Yocto Project Build 15

2.2 The Yocto Project Family 26

2.3 A Little Bit of History 28

2.4 Yocto Project Terms 31

2.5 Summary 33

2.6 References 34

Chapter 3: OpenEmbedded Build System 35

3.1 Building Open Source Software Packages 35

3.2 OpenEmbedded Workflow 39

3.3 OpenEmbedded Build System Architecture 45

3.4 Summary 56

3.5 References 57

Chapter 4: BitBake Build Engine 59

4.1 Obtaining and Installing BitBake 59

4.2 Running BitBake 61

4.3 BitBake Metadata 70

4.4 Metadata Syntax 71

4.5 Source Download 86

4.6 HelloWorld–BitBake Style 95

4.7 Dependency Handling 99

4.8 Version Selection 102

4.9 Variants 103

4.10 Default Metadata 103

4.11 Summary 107

4.12 References 108

Chapter 5: Troubleshooting 109

5.1 Logging 110

5.2 Task Execution 116

5.3 Analyzing Metadata 119

5.4 Development Shell 120

5.5 Dependency Graphs 121

5.6 Debugging Layers 122

5.7 Summary 124

Chapter 6: Linux System Architecture 127

6.1 Linux or GNU/Linux? 127

6.2 Anatomy of a Linux System 128

6.3 Bootloader 129

6.4 Kernel 134

6.5 User Space 141

6.6 Summary 143

6.7 References 144

Chapter 7: Building a Custom Linux Distribution 145

7.1 Core Images–Linux Distribution Blueprints 146

7.2 Building Images from Scratch 160

7.3 Image Options 161

7.4 Distribution Configuration 169

7.5 External Layers 181

7.6 Hob 181

7.7 Summary 184

Chapter 8: Software Package Recipes 185

8.1 Recipe Layout and Conventions 185

8.2 Writing a New Recipe 196

8.3 Recipe Examples 212

8.4 Devtool 218

8.5 Summary 224

8.6 References 224

Chapter 9: Kernel Recipes 225

9.1 Kernel Configuration 226

9.2 Kernel Patches 231

9.3 Kernel Recipes 233

9.4 Out-of-Tree Modules 251

9.5 Device Tree 257

9.6 Summary 258

9.7 References 259

Chapter 10: Board Support Packages 261

10.1 Yocto Project BSP Philosophy 261

10.2 Building with a BSP 265

10.3 Inside a Yocto Project BSP 277

10.4 Creating a Yocto Project BSP 282

10.5 Tuning 289

10.6 Creating Bootable Media Images 290

10.7 Summary 299

10.8 References 299

Chapter 11: Application Development 301

11.1 Inside a Yocto Project ADT 302

11.2 Setting Up a Yocto Project ADT 304

11.3 Building Applications 315

11.4 Eclipse Integration 317

11.5 Application Development Using an Emulated Target 331

11.6 Summary 333

11.7 References 334

Chapter 12: Licensing and Compliance 335

12.1 Managing Licenses 335

12.2 Managing Source Code 341

12.3 Summary 343

12.4 References 344

Chapter 13: Advanced Topics 345

13.1 Toaster 345

13.2 Build History 358

13.3 Source Mirrors 366

13.4 Autobuilder 368

13.5 Summary 374

13.6 References 375

Appendix A: Open Source Licenses 377

A.1 MIT License (MIT) 377

A.2 GNU General Public License (GPL) Version 2 378

A.3 GNU General Public License (GPL) Version 3 384

A.4 Apache License Version 2.0 397

Appendix B: Metadata Reference 403

Index 429

Embedded Linux Systems with the Yocto Project

Product form

£33.29

Includes FREE delivery

RRP £36.99 – you save £3.70 (10%)

Order before 4pm today for delivery by Sat 20 Dec 2025.

A Hardback by Rudolf Streif

2 in stock


    View other formats and editions of Embedded Linux Systems with the Yocto Project by Rudolf Streif

    Publisher: Pearson Education (US)
    Publication Date: 10/05/2016
    ISBN13: 9780133443240, 978-0133443240
    ISBN10: 0133443248

    Description

    Book Synopsis

    Rudolf J. Streif has more than twenty years of experience in software engineering as a developer and as a manager leading cross-functional engineering teams with more than one hundred members. He previously served as the Linux Foundation's Director of Embedded Solutions, coordinating the Foundation's efforts for Linux in embedded. Rudolf developed the Linux Foundation's training course on the Yocto Project, which he delivered multiple times to companies and in a crash course variant during Linux Foundation events. He lives in El Cajon, California.



    Table of Contents

    Foreword xv

    Preface xvii

    Acknowledgments xxi

    About the Author xxiii

    Chapter 1: Linux for Embedded Systems 1

    1.1 Why Linux for Embedded Systems? 1

    1.2 Embedded Linux Landscape 3

    1.3 A Custom Linux Distribution–Why Is It Hard? 8

    1.4 A Word about Open Source Licensing 9

    1.5 Organizations, Relevant Bodies, and Standards 11

    1.6 Summary 13

    1.7 References 14

    Chapter 2: The Yocto Project 15

    2.1 Jumpstarting Your First Yocto Project Build 15

    2.2 The Yocto Project Family 26

    2.3 A Little Bit of History 28

    2.4 Yocto Project Terms 31

    2.5 Summary 33

    2.6 References 34

    Chapter 3: OpenEmbedded Build System 35

    3.1 Building Open Source Software Packages 35

    3.2 OpenEmbedded Workflow 39

    3.3 OpenEmbedded Build System Architecture 45

    3.4 Summary 56

    3.5 References 57

    Chapter 4: BitBake Build Engine 59

    4.1 Obtaining and Installing BitBake 59

    4.2 Running BitBake 61

    4.3 BitBake Metadata 70

    4.4 Metadata Syntax 71

    4.5 Source Download 86

    4.6 HelloWorld–BitBake Style 95

    4.7 Dependency Handling 99

    4.8 Version Selection 102

    4.9 Variants 103

    4.10 Default Metadata 103

    4.11 Summary 107

    4.12 References 108

    Chapter 5: Troubleshooting 109

    5.1 Logging 110

    5.2 Task Execution 116

    5.3 Analyzing Metadata 119

    5.4 Development Shell 120

    5.5 Dependency Graphs 121

    5.6 Debugging Layers 122

    5.7 Summary 124

    Chapter 6: Linux System Architecture 127

    6.1 Linux or GNU/Linux? 127

    6.2 Anatomy of a Linux System 128

    6.3 Bootloader 129

    6.4 Kernel 134

    6.5 User Space 141

    6.6 Summary 143

    6.7 References 144

    Chapter 7: Building a Custom Linux Distribution 145

    7.1 Core Images–Linux Distribution Blueprints 146

    7.2 Building Images from Scratch 160

    7.3 Image Options 161

    7.4 Distribution Configuration 169

    7.5 External Layers 181

    7.6 Hob 181

    7.7 Summary 184

    Chapter 8: Software Package Recipes 185

    8.1 Recipe Layout and Conventions 185

    8.2 Writing a New Recipe 196

    8.3 Recipe Examples 212

    8.4 Devtool 218

    8.5 Summary 224

    8.6 References 224

    Chapter 9: Kernel Recipes 225

    9.1 Kernel Configuration 226

    9.2 Kernel Patches 231

    9.3 Kernel Recipes 233

    9.4 Out-of-Tree Modules 251

    9.5 Device Tree 257

    9.6 Summary 258

    9.7 References 259

    Chapter 10: Board Support Packages 261

    10.1 Yocto Project BSP Philosophy 261

    10.2 Building with a BSP 265

    10.3 Inside a Yocto Project BSP 277

    10.4 Creating a Yocto Project BSP 282

    10.5 Tuning 289

    10.6 Creating Bootable Media Images 290

    10.7 Summary 299

    10.8 References 299

    Chapter 11: Application Development 301

    11.1 Inside a Yocto Project ADT 302

    11.2 Setting Up a Yocto Project ADT 304

    11.3 Building Applications 315

    11.4 Eclipse Integration 317

    11.5 Application Development Using an Emulated Target 331

    11.6 Summary 333

    11.7 References 334

    Chapter 12: Licensing and Compliance 335

    12.1 Managing Licenses 335

    12.2 Managing Source Code 341

    12.3 Summary 343

    12.4 References 344

    Chapter 13: Advanced Topics 345

    13.1 Toaster 345

    13.2 Build History 358

    13.3 Source Mirrors 366

    13.4 Autobuilder 368

    13.5 Summary 374

    13.6 References 375

    Appendix A: Open Source Licenses 377

    A.1 MIT License (MIT) 377

    A.2 GNU General Public License (GPL) Version 2 378

    A.3 GNU General Public License (GPL) Version 3 384

    A.4 Apache License Version 2.0 397

    Appendix B: Metadata Reference 403

    Index 429

    Recently viewed products

    © 2025 Book Curl

      • American Express
      • Apple Pay
      • Diners Club
      • Discover
      • Google Pay
      • Maestro
      • Mastercard
      • PayPal
      • Shop Pay
      • Union Pay
      • Visa

      Login

      Forgot your password?

      Don't have an account yet?
      Create account