【发布时间】:2019-08-05 13:15:36
【问题描述】:
这里有一组相关的问题,因为我怀疑我问错了问题。相关问题可能有助于某人辨别我的基本误解是什么。
我已经解决了:
- 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 的过程甚至希望提前指定最终架构
我习惯的是一个 build-sysroot,它的跨工具链在某种 pseudo/proot/chroot 下运行,我的源代码安装在其中。
我意识到 Yocto/bitbake 在后台执行此操作,所有的配方缓存看起来都很棒,git clone checkout 看起来很强大,devtool 工作流程看起来很棒,但是当我尝试标准化这个环境的生成时,一切都失败了,或使其交叉编译。
(我希望从包含一些本地 conf 文件的目标目录中获取环境文件以专门构建,然后使用 bitbake 进行构建)
我错过了什么? - 感谢您阅读本文 ;-)
【问题讨论】:
-
我从未尝试过 ext-sdk,但我通常做的是直接使用 Yocto 层和食谱,使用
poky、meta-openembedded以及制造商层,即meta-intel。然后我添加一个用于发行版细节的个人层和另一个用于 BSP 修改的层。如果我想支持多台机器,我添加相应的vendor层+个人BSP层。我(詹金斯工作)只为开发人员生成标准 SDK,他们通常只在一台特定的机器上工作。不知道这是否有帮助。
标签: sdk yocto extensible