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

1、什麼是SBS(Scratchbox Build System)

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

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

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

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

Scratchbox由哪些特性呢?架構

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

在 上面這些主要的features中,能利用來開發程序的包已經安裝在Scratchbox環境中了,Scratchbox同時也集成了Debian包管 理,所以,你能夠在Scratchbox裏面爲不一樣的目標發佈軟件包(相似於windows的 .msi文件,Fedora的 .rpm文件)。經過使用標準的Debian包管理工具,你能夠經過internet直接安裝你須要的一些開發包。dom

Internet Tablet產品也使用了相似的包管理,這就意味着使用Scratchbox編譯的包能夠直接安裝到實際的設備中。ide

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。

2、SBS安裝
測試

Tizen開發環境SBS的安裝須要如下條件:

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

 安裝git:

  1. $ sudo apt-get install git-core
  2. $ git config --global user.name "your name"
    $ git config --global user.email your_email@domain.com

 安裝sdk:http://itviewer.blog.51cto.com/3775200/761456

 安裝SBS:

一、安裝依賴包

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

二、安裝SBS

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

   
   
   
   
  1. cd sbs 
  2. ./install-sbs 
git clone git://review.tizen.org/tools/sbs

安裝完成以後,須要對目標環境初始化,假如咱們的目標平臺是 i386 ,則執行:

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

目標平臺是ARM:

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

該過程須要必定時間。

原文安裝及使用見:https://source.tizen.org/platform/development-sbs/installing-sbs

相關文章
相關標籤/搜索