天天看点

yocto 定制可扩展SDK

定制可扩展SDK

    • 1.安装其他项目到可扩展SDK
    • 2.将更新应用到已安装的可拓展SDK
    • 3.创建具有其他组件的衍生SDK

1.安装其他项目到可扩展SDK

原生的可扩展SDK通常仅带有少量工具和库。最小的SDK开始时几乎是空的,并且是按需填充的。有时,你必须将额外的项目明确地安装到SDK中。如果需要这些额外的项目,则可以先使用devtool search命令搜索这些项目。 例如,假设需要链接到libGL,但不确定哪个配方提供libGL。可以使用以下命令来查找:

$ devtool search libGL mesa
           

只要知道OpenGL API的开源实现的recie(即本示例中的mesa),就可以直接安装它:

$ devtool sdk-install mesa
           

默认情况下,devtool sdk-install命令假定该项目可从你的SDK提供程序以预构建的形式获得。如果该项目不可用,并且可以从源代码构建该项目,可以添加“-s”选项,如下所示:

$ devtool sdk-install -s mesa
           

需要知道的是,从源代码构建项目要比安装预构建器件花费的时间更长。另外,如果要添加到SDK的项目不存在配方,则必须使用devtool add命令添加该项目。

2.将更新应用到已安装的可拓展SDK

如果使用的是偶尔更新的已安装的可扩展SDK(例如第三方SDK),则需要手动将更新pull down到已安装的SDK中。

使用如下命令,更新已安装的SDK:

$ devtool sdk-update
           

上述命令假定你的SDK提供程序已通过SDK_UPDATE_URL变量为你设置了默认更新URL,如Providing Updates to the Extensible SDK After Installation部分所述。如果SDK提供程序未设置该默认URL,则需要在命令中自行指定,如下所示:

$ devtool sdk-update path_to_update_directory 
注意:
URL需要专门指向已发布的SDK,而不是要下载和安装的SDK安装程序。 
           

3.创建具有其他组件的衍生SDK

首先,需要生成一个包含自定义库的SDK。如下是一个很好的例子,如果你是厂商,客户使用你的SDK来构建自己特定于平台的软件,而这些客户需要具有自定义库的SDK。在这种情况下,可以按照以下步骤,基于当前安装的SDK生成衍生SDK:

  1. 安装一个可拓展SDK,并以此为基础生成你的衍生SDK。
  2. SDK环境配置脚本。
  3. 使用devtool add命令添加所需的额外库或其他组件。
  4. 运行devtool build-sdk命令。

上述步骤将recipes添加到工作区,并构造一个新的SDK安装程序,其中包含这些配方和生成的二进制组件。recipes进入已构建的派生SDK的各自的隔离层中,从而使工作区干净,并可供用户添加自己的配方。

继续阅读