Yocto是如何使用$D目录来构建文件系统的?
Yocto最终会将所有Recipe的${D}(部署目录)下的文件整合到根文件系统中,但这一过程并非简单收集所有内容,而是通过分阶段打包、依赖管理和定制化配置实现的。以下是核心机制的解析:
一、${D}目录的作用与文件收集原理
-  
${D}的定位
${D}是模拟目标系统根文件结构的临时目录(路径为${WORKDIR}/image/),每个Recipe的do_install任务会将编译生成的二进制文件、配置文件等安装到此目录49。例如:
bitbake
do_install() {
install -d ${D}/usr/bin
install -m 0755 ${S}/myapp ${D}/usr/bin
}
此操作将myapp安装到最终系统的/usr/bin目录。 -  
分阶段打包
- 主包(
${PN})与子包:通过FILES_${PN}变量定义主包包含的文件路径(如/usr/bin/*),而FILES_${PN}-dev 
 - 主包(
 
