天天看點

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的各自的隔離層中,進而使工作區幹淨,并可供使用者添加自己的配方。

繼續閱讀