这里有一组相关的问题,因为我怀疑我问了错误的问题。相关问题可能会帮助某人辨别我的基本误解是什么。
我已经完成了:
- https://www.yoctoproject.org/docs/2.6/ref-manual/ref-manual.html
- https://www.yoctoproject.org/docs/2.6/dev-manual/dev-manual.html
- https://www.yoctoproject.org/docs/2.6/sdk-manual/sdk-manual.html
我正在寻找一个可以使用bitbake的单个构建环境,并为不同的目标体系结构构建产品。
毕竟这似乎是yocto/oe圣杯。
似乎功能最强的X86_64环境来自:
git clone git://git.yoctoproject.org/poky
它比SDK更有能力,但是我该如何跨越这个平台的环境?
是否有与此git clone
'D环境一样功能功能的SDK?这意味着它有一个工作的bitbake,我可以跨构建不同目标的可启动图像?
问题:
为什么SDK不能构建SDK?(例如http://downloads.yoctoproject.org/releases/yocto/yocto-2.6/buildtools/)
- 为什么SDK甚至不包括BitBake?(Ext SDK确实可以,但不喜欢将其添加到路径中)。
- 为什么具有正确采购的Env(和BitBake添加到路径上)的可扩展SDK似乎更喜欢符合发行版的构建工具而不是SDK中的工具?(直接使用bitmake而不是DevTool)
为什么SDK显然是为特定机器或体系结构而构建的,并且显然无法跨越不同的体系结构?构建SDK的过程甚至希望预先指定的最终体系结构
我曾经从事的是一个构建式缝线,在某种形式的伪/proot/chroot下运行的横链链,并安装在其中。
我意识到Yocto/bitbake在引擎盖下做到了这一点,所有食谱缓存似乎很棒,Git克隆结帐似乎很强大,DevTool的工作流程似乎很棒,但是当我试图标准化这种环境时,一切都掉了下来,或使其交叉编译。
(我希望我能从包含某些本地conf文件的目标目录中获取环境文件以专门为构建,然后使用bitbake进行构建)
)我错过了什么? - 感谢您阅读; - )
sdk是一个通用词,在yocto的背景下,可以错过解释,因此您的问题是合法的。
yocto是构建完全自定义图像的绝妙工具,可以根据源在线获取的所有级别(引导加载程序,内核,应用程序)进行调整。您可以使用Yocto生成的SDK如文档中引用:
标准SDK提供了跨开发工具链和库 根据特定图像的内容量身定制。
根据我在Yocto的少量经验,您使用元图来创建和自定义环境。设置环境后,您可以生成一个SDK,以轻松地跨越针对目标机器的程序。对于只专注于项目的稳定部分的开发人员来说,Yocto工具太强大,沉重和复杂。另一侧的SDK非常适合使用,但是您不能使用它更改工具链中的任何内容,只能使用它。例如,如果需要在运行时液体中应用错误或补丁程序,则需要再生SDK并将此新版本提供给开发人员。
用简短的解释:
它比SDK更有能力,但是我该如何交叉构建 另一个平台的环境?
您需要自定义Yocto Meta层以从平台更改为另一个平台。
是否有一个与此Git Clone'D环境一样功能功能的SDK? 这意味着它有一个工作的bitbake,我可以跨构建可启动图像 对于不同的目标?
不,我不认为
为什么SDK不能构建SDK?
因为那不是SDK的理念,因此SDK是用于跨越程序的特定图像的生成工具链,而不再是。
为什么SDK甚至不包括BitBake?
bitbake是解析yocto食谱的工具(元层),因此,无需在SDK中使用此工具
为什么SDK显然是为特定机器或 建筑,显然无法跨越不同的 体系结构?建立SDK的过程甚至希望决赛 架构要预先指定
我认为我已经回答了这个问题,但是,关于您问题的第二部分。可能会有点敏捷,并同时启动BSP和应用程序。每周,您都会发布一个带有BSP新更改的新SDK。工具链对于开发人员来说总是最新的(这是我承认的非常理想的愿景)
从https://www.yoctoproject.org/docs/2.6.1/ref-manual/ref-manual.html#cross-development-tovelopment-toovelment-toolchain
SDK和ESDK似乎是可重新定位工具链的示例。
开发人员在Bitbake外使用的可重新定位工具链 开发将在目标设备上运行的应用程序。
这句话尤其使游戏消失了:
您还可以找到有关使用可重新定位工具链的更多信息 在Yocto项目应用程序开发和可扩展的中 软件开发套件(ESDK)手册。
所以我猜构建SDK和ESDK的Git-Clone-Poky Checkout是:
在构建目标体系结构的图像时,仅在Bitbake内和内部使用的工具链
毫无疑问我对:
工具链概念适用于Yocto项目
应该:
请参阅Yocto中的"跨开发工具链生成"部分 项目概述和概念手册https://www.yoctoproject.org/docs/2.6.1/overview-manual/overview-manual.html#cross-deevelopment-tevelopment-tookement-tookement-tookement-tookement-tookerment-tookerment-tookement-tookerment-tooke
当然,第一个图像清楚地表明,SDK用于构建应用程序,而不是图像。我想构建图像(当然可能包含应用程序)。
,所以我可能希望为其他应用程序构建者制作SDK,并将其应用程序纳入我的来源并为他们做最终的构建。