歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Tizen開發環境之SBS (Scratchbox Build System)搭建

Tizen開發環境之SBS (Scratchbox Build System)搭建

日期:2017/2/28 15:54:24   编辑:Linux教程

一、什麼是SBS(Scratchbox Build System)

SBS 是基於Scratchbox2 的一個Tizen開發構建系統。使用SBS,你可以在一個輕量級的命令行界面快速建立Tizen平台開發所需的一切。您可以下載源代碼,並使用SBS構建它。 SBS還支持交叉調試環境和創建設備映像, SBS支持ARM和x86架構。

Scratchbox是構建、配置Linux軟件和整個Linux發行版的編譯環境。Scratchbox的基本思路是為開發者提供的開發環境看起來像目標環境一樣。如用來在x86平台編譯運行在arm平台上的Linux系統等。

在 Scratchbox裡面, 有個非常特殊的東西:sandbox(沙盒), 就是這個東西提供一些必要的工具,同時把你的開發同外面真實的Linux 系統隔離開來。Scratchbox的另外一個用處是:交叉編譯,你可以在Scratchbox裡面編譯出能直接運行在target設備上的二進制文件。

Scratchbox 這個名字來源於: “Linux from scratch” + “chroot jail”, 投入監獄(一個盒子內)。這可以告訴我們一些信息:當我們工作於Scratchbox裡面時,你所運行的程序是在一個改變了根目錄的環境下運行的。在 Linux系統中,改變一個進程所能看見的路徑是可以做到的。Scratchbox正是利用了這一點,在啟動時,就把它的根目錄切換到其他目錄了,而不再 指向它的真實根目錄了。這也是隔離技術所使用的部分伎倆。正因為此,這個新的環境就叫做沙盒了,你在這個隔離的盒子裡玩些危險的東西也不會對真實的環境造 成危害。隔離技術還使用了另外一個技術:轉移(通過使用LD_PRELOAD, 由LD_PRELOAD指定的共享庫優於其他共享庫加載)

Scratchbox由哪些特性呢?

  • 它是sandbox的具體實現軟件包,sandbox的主要目的就是為了隔離
  • 含有容易使用的交叉編譯工具
  • 支持多個開發者使用同一個開發環境
  • 支持為每個開發人員單獨配置
  • 能運行原本運行在硬件上的目標程序,通過一個機制:sbrsh實現
  • 能過在host上運行非本地的二進制代碼,通過使用Qemu

在 上面這些主要的features中,能利用來開發程序的包已經安裝在Scratchbox環境中了,Scratchbox同時也集成了Debian包管 理,因此,你可以在Scratchbox裡面為不同的目標發布軟件包(類似於windows的 .msi文件,Fedora的 .rpm文件)。通過使用標准的Debian包管理工具,你可以通過internet直接安裝你需要的一些開發包。

Internet Tablet產品也使用了類似的包管理,這就意味著使用Scratchbox編譯的包可以直接安裝到實際的設備中。

Scratchbox 組件:

在開始安裝Scratchbox之前,我們先了解一些Scratchbox中使用的一些術語,並且從現在開始,我們把Scratchbox簡稱為sbox.

  • core package:核心包,這個包中含有實現sbox的核心工具
  • libs package:庫文件包,這個包含有core包運行所需要的庫文件
  • devkit:開發工具包,含所有sbox所需要的附加工具,我們主要關心4個devkits. 後面會再介紹。
  • toolchain:工具鏈,像編譯器,連接器等等。
  • target:目標,這裡指我們當前使用的工具鏈和配置。一個目標使用特定的工具鏈,並且具有一個文件系統。你可以有不同的目標,甚至於這些目標使用相同的工具鏈。這就很方便於測試不同的目標。注意:sbox目標並不能等同於實際的物理設備。
  • rootstrap: rootstrap是目標根文件系統,用於滿足基本的開發。Rootstraps通常特定開發目標所需要的基本文件,不過有時候它的作用僅僅是引導。一般情況下,對嵌入式Linux開發環境,這個rootstrap一般包含在所提供的SDK中,如Tizen的SDK。

二、SBS安裝

Tizen開發環境SBS的安裝需要以下條件:

  • Ubuntu (Debian) Linux system (10.04 or higher) 32-bit
  • git-core
  • Tizen SDK

1、安裝依賴包

  1. $ sudo apt-get update
  2. $ sudo apt-get install dpkg-dev pkg-config uuid-dev cpp gcc gcc-multilib libarchive-dev liblzo2-devzlib1g-dev libxml2-dev automake autoconf realpath

2、安裝SBS

首先需要從官網下載並安裝

  1. $ git clone git://112.106.1.251/tools/sbs
  2. $ cd sbs
  3. $ ./install-sbs

安裝完成之後,需要對目標環境初始化,假如我們的目標平台是 i386 ,則執行:

  1. ~/sbs-install/bin/sbs -A i386 -c

該過程需要一定時間。

Copyright © Linux教程網 All Rights Reserved