Share E-Book

Embedded Linux Development using Yocto Projects (Otavio Salvador)(Z-Library)

Author

Linux
Language English

No Description

Format EPUB
Size 2.7 MB
6
Views

AI Guide

AI Reading Assistant

Whole-book reading guide from stratified index samples; jump to passages in the text

Full assistant
AI guide
【One-Line Pitch】 A hands-on guide to building custom embedded Linux distributions with the Yocto Project and Poky, taking you from first image build to recipe, layer, and packaging mastery. Best for embedded engineers and Linux developers who need to ship reproducible, board-specific firmware rather than tinker with one-off builds. 【Book Arc】 - **Opening (~0%–9%)**: Frames what the Yocto Project is, its Linux Foundation governance, and its alliance with OpenEmbedded; introduces BitBake as the task scheduler and Poky as the polished, stable subset that became the reference build system. - **Early (~9%–28%)**: Gets you building — host setup (Fedora package lists), `local.conf` and the `MACHINE` variable, QEMU machines, Toaster as a friendly BitBake front end, and the recipe dependency model (`DEPENDS`, `PROVIDES`, `PREFERRED_PROVIDER`, `PREFERRED_VERSION`). - **Early–Middle (~28%–38%)**: Walks the BitBake task pipeline — `do_fetch` (including Git `SRCREV`/`branch` handling), `do_unpack`, `do_patch`, `do_configure`/`do_compile`/`do_install`, `do_package` — and shows how `do_rootfs` assembles a bootable root filesystem. - **Middle (~38%–47%)**: Opens the build directory: `downloads`, `sstate-cache`, and `tmp`, plus the architecture-organized `work` tree (`<arch>/<recipe>/<version>`) and its `sources`, `image`, `packages`, `packages-split`, and `temp` subdirectories as debugging surfaces. - **Late (~47% onward)**: Moves into packaging support, BitBake metadata grammar, external BSP layers, and creating custom layers and machine definitions — the excerpts do not cover the closing chapters in detail. 【Key Takeaways】 - **Yocto is infrastructure, not a distro** (Opening): it supplies templates, tools, and methods so you can build your own Linux for any architecture; OpenEmbedded-Core is the shared core it aggregates. - **BitBake is the engine you must understand** (Early): it parses mixed Python/shell metadata, resolves dependencies, and schedules tasks — knowing this model explains most build failures. - **Dependency resolution is explicit and overridable** (Early): `DEPENDS`/`PROVIDES` build the graph, `virtual/` namespaces handle swappable providers like the kernel, and `PREFERRED_PROVIDER`/`PREFERRED_VERSION`/`DEFAULT_PREFERENCE` let you pin choices. - **The task pipeline is the mental model for recipes** (Early–Middle): fetch → unpack → patch → configure → compile → install → package → rootfs; inherited classes like `autotools` supply standard implementations. - **`local.conf` is powerful but temporary** (Early): it can override nearly everything, yet it is untracked by SCM — treat it as scratch, not as your product definition. - **The build tree is a diagnostic tool** (Middle): `work/<arch>/<recipe>/<version>` holds sources, installed files, split packages, and task logs; `rm_work` trades debuggability for disk space. - **Rootfs assembly is a filtering problem** (Middle): `IMAGE_INSTALL` plus `IMAGE_FEATURES` define what goes in, `PACKAGE_EXCLUDE` removes explicit entries, and runtime dependencies can pull excluded packages back in. - **Layers are the extension mechanism** (Late): extra BSPs and custom machines arrive through layers, which is how you support hardware beyond the reference set. 【Reading Tips】 - Deep-read the BitBake task and dependency chapters; skim the host-installation command lists and treat them as reference. - Build the first QEMU image early and keep the terminal open — the book rewards doing over reading, and `runqemu` gives fast feedback. - When a build breaks, go straight to `tmp/work/.../temp` logs and the `sysroot`; this is the single most transferable debugging habit. - Skim Toaster if you prefer the command line, but note it as a lower-barrier entry point for teammates. - Treat `local.conf` comments as living documentation; read them once, then keep your real configuration in layers. 【Coverage Limits】 This guide is based on stratified excerpts covering roughly the first half of the book (through the build directory and early packaging discussion); later chapters on metadata grammar, external layers, and custom layer/machine creation are only referenced, not detailed.

Passage locations

Excerpt 1
h embedded systems has been his bread and butter ever since. Yocto has had a great impact on Radek's work: he managed to convince his team and managers to sw...
View in text
Excerpt 2
chines are made available by a layer called meta-yocto-bsp . Besides these machines, OpenEmbedded-Core also provides support for the following: qemuarm : Thi...
View in text
Excerpt 3
ame> parameter as follows: SRC_URI = "git://myserver/myrepo.git;branch=mybranch" . In cases when the hash used points to a tag that is not available on a bra...
View in text
Excerpt 4
y useful when checking for misbehavior or building failures. Its contents are stored in sub-directories following this pattern: <arch>/<recipe name>/<softwar...
View in text

Recommended for You

Loading recommended books...
Failed to load, please try again later

Tip the Site

Scan the WeChat Pay or Alipay code to tip. No login required.

WeChat Pay
Alipay
Back to List