一、什麼是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由哪些特性呢?
在 上面這些主要的features中,能利用來開發程序的包已經安裝在Scratchbox環境中了,Scratchbox同時也集成了Debian包管 理,因此,你可以在Scratchbox裡面為不同的目標發布軟件包(類似於windows的 .msi文件,Fedora的 .rpm文件)。通過使用標准的Debian包管理工具,你可以通過internet直接安裝你需要的一些開發包。
Internet Tablet產品也使用了類似的包管理,這就意味著使用Scratchbox編譯的包可以直接安裝到實際的設備中。
Scratchbox 組件:
在開始安裝Scratchbox之前,我們先了解一些Scratchbox中使用的一些術語,並且從現在開始,我們把Scratchbox簡稱為sbox.
二、SBS安裝
Tizen開發環境SBS的安裝需要以下條件:
1、安裝依賴包
- $ sudo apt-get update
- $ 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
首先需要從官網下載並安裝
- $ git clone git://112.106.1.251/tools/sbs
- $ cd sbs
- $ ./install-sbs
安裝完成之後,需要對目標環境初始化,假如我們的目標平台是 i386 ,則執行:
- ~/sbs-install/bin/sbs -A i386 -c
該過程需要一定時間。