2010/04/14

chromium 的建立與執行...under ubuntu -1

我在摸索階段,是完全根據 Chromium OS上的說明來玩的,有些措詞會讓人看不懂。若你的目的是,下載 source code, 自己編譯, 進行「測試」,的話,那麼希望我的文章可以減少您摸索的時間。

一、開發環境的建立

我是直接把我的電腦安裝成 Ubuntu 64, 請見我的前一篇文章。我不想去解決 x86-32 環境是否可以 build, 反正改變自己的系統比較簡單些。

安裝套件:
$ sudo apt-get install bison fakeroot flex g++ g++-multilib gperf \
libapache2-mod-php5 libasound2-dev libbz2-dev libcairo2-dev \
libdbus-glib-1-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev \
libglib2.0-dev libgtk2.0-dev libjpeg62-dev libnspr4-dev libnss3-dev \
libpam0g-dev libsqlite3-dev libxslt1-dev libxss-dev \
mesa-common-dev msttcorefonts patch perl pkg-config python \
python2.5-dev rpm subversion apache2 wdiff lighttpd php5-cgi sun-java6-fonts \
msttcorefonts ttf-dejavu-core ttf-kochi-gothic ttf-kochi-mincho \
  lib32asound2-dev lib32bz2-dev git-core

甚至我還安裝了 virtualbox, qemu 等套件

二、取得原始碼

取得原始碼的話,我是遵照這一篇裡面的安裝 depot_tools來做,把 gclient 放在自己的家目錄中。

有了 gclient, 可以透過 gclient config http://src.chromium.org/svn/trunk/src 來設定 gclient 的環境,不過,請確定你要放 source code 的目錄位置再做此動作。以文件中的方式先放別的地方,再用 link 的方式也是可行。底下講的都是指這個放 source code 的目錄而言。

接下來就是抓 source code, 命令很簡單,就是 $ gclient sync

當然要抓很久很久....建議你去休息看個書,明天再來看。不過,沒理解錯的話(還需要確認),browser 的部份是採用 binary 的這種已編譯好的,若還需要另行編譯 browser 的話,需要參考編譯 Chromium OS裡面的 Option 說明。

三、建立開發系統

在編譯前,我建議一定要有一個認知再去讀原始文件,那就是建立 chromium os 的整個動作,它是建立一個新檔案系統,然後是用 chroot 進去執行的,所以,文件中有 "Inside", "Outside" 分別指的就是在 chroot 裡面,還是外面。換言之,Outside 就是一般你開機後的環境,也就是開發環境。而 Inside 是要透過 ./enter_chroot.sh 之後的環境。這一點尤其在看Running Tests一文時特別要注意。

有了上面的理解之後,當然要先來建立 chroot 的環境,請執行
$ ./make_chroot

建好環境後可以透過下面的方式進入,注意 chroot 環境不必常常重建,以後想要用,也只需要直接執行下面的步驟:
$ ./enter_chroot.sh

四、設定開發對象

接下來是設定環境,首先是設定要給什麼樣的平台使用,這邊只有兩種選擇,一個是 x86-genenric, 一個是 arm-generic,這只是開發環境,因此這兩類也就夠了。我是選 x86-generic
cd ~/trunk/src/scripts
./setup_board --board=x86-generic
echo x86-generic > ~/trunk/src/scripts/.default_board


五、建立測試帳號

ChromiumOS 開機後會需要以 google 帳號登入,或是 ssh 登入,此時請透過底下的方式建立此測試帳號:
./enable_localaccount.sh TEST_ACCOUNT
./set_shared_user_password.sh


六、編譯

就不多說了,直接用下面的命令建立套件及產生影像檔
./build_packages --board=x86-generic
./build_image --board=x86-generic


七、轉換成 virtualbox 或 vmware 虛擬機器環境的影像檔:

./image_to_virtualbox.sh --from=../build/images/x86-generic/0.7..... 這命令會產生一個 os.vdi 在 ../build/images/x86-generic 目錄下

1 意見:

MichellSommerville0202 提到...

IT IS A VERY NICE SUGGESTION, THANK YOU LOTS! ........................................