Rudolf Streif
Embedded Linux Systems with the Yocto Project
Rudolf Streif
Embedded Linux Systems with the Yocto Project
- Gebundenes Buch
- Merkliste
- Auf die Merkliste
- Bewerten Bewerten
- Teilen
- Produkt teilen
- Produkterinnerung
- Produkterinnerung
Leading embedded systems developer Rudolf Streif gives readers a solid grounding in the basics, then guides them through more advanced topics -- ranging from building board support packages to managing compliance. Students master the Yocto Project toolbox by working through the entire development lifecycle on a realistic project: a distributed home automation system consisting of multiple embedded devices with diverse functionality, all communicating via networking infrastructure.
Andere Kunden interessierten sich auch für
- Mark ReedLinux: The Ultimate Crash Course to Learn Linux, System Administration, Network Security, and Cloud Computing with Examples a22,99 €
- Alexandru VaduvaLearning Embedded Linux using the Yocto Project54,99 €
- Robert LoveLinux System Programming59,99 €
- Julia EvansYour Linux Toolbox27,99 €
- Alex GonzálezEmbedded Linux Development Using Yocto Project Cookbook54,99 €
- Joseph D. SloanHigh Performance Linux Clusters35,99 €
- Michael JangRHCSA/RHCE Red Hat Linux Certification Practice Exams with Virtual Machines30,99 €
-
-
-
Leading embedded systems developer Rudolf Streif gives readers a solid grounding in the basics, then guides them through more advanced topics -- ranging from building board support packages to managing compliance. Students master the Yocto Project toolbox by working through the entire development lifecycle on a realistic project: a distributed home automation system consisting of multiple embedded devices with diverse functionality, all communicating via networking infrastructure.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Hinweis: Dieser Artikel kann nur an eine deutsche Lieferadresse ausgeliefert werden.
Produktdetails
- Produktdetails
- Verlag: Pearson Education
- Seitenzahl: 480
- Erscheinungstermin: 2. Mai 2016
- Englisch
- Abmessung: 238mm x 179mm x 32mm
- Gewicht: 899g
- ISBN-13: 9780133443240
- ISBN-10: 0133443248
- Artikelnr.: 40075984
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
- Verlag: Pearson Education
- Seitenzahl: 480
- Erscheinungstermin: 2. Mai 2016
- Englisch
- Abmessung: 238mm x 179mm x 32mm
- Gewicht: 899g
- ISBN-13: 9780133443240
- ISBN-10: 0133443248
- Artikelnr.: 40075984
- Herstellerkennzeichnung
- Libri GmbH
- Europaallee 1
- 36244 Bad Hersfeld
- 06621 890
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.
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
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
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
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