nmtysh.log

Tech系のネタや日々の独り言などを書いています。

Chromium OS のビルド(備忘録)

Chromium OS のビルドに挑戦したので、その備忘録。というかメモ。

環境:
OS: Ubuntu 11.04 x86_64
CPU: Intel® Core™ 2 Duo E8400 3GHz
MEM: 4GByte
ビルドするユーザー: builduser
USBメモリー: 2GByte 以上? 4GByte 以上 (4GByte のものを使用)
2011/08/18 追記: 2GByte のモデルでは容量が微妙に足りませんでした。

手順:
1. git や depot_tools をダウンロードするために subversion をインストール。

~ $ sudo apt-get install git-core subversion curl


2. depot_tools をダウンロード。

~ $ svn co http://src.chromium.org/svn/trunk/tools/depot_tools


3. PATH に追加。

~ $ export PATH=${PATH}:~/depot_tools


4. ソースのダウンロード。結構時間がかかります。私の環境では40分ほど。

~ $ mkdir chromeos/
~ $ cd chromeos/
~/chromeos $ repo init -u http://git.chromium.org/chromiumos/manifest.git -m minilayout.xml
~/chromeos $ repo sync


5. chroot 環境に入る。ここでも10~20分ほど。

~/chromeos $ cros_sdk
~/chromeos $ cros_sdk --enter


6. biuld する環境の設定。

(cr) ~/trunk/src/scripts $ ./setup_board --board=x86-generic --default


7. ローカルユーザー(chronos)のパスワードを設定する。

(cr) ~/trunk/src/scripts $ ./set_shared_user_password.sh


8. ビルド。40分ぐらいかかった。

(cr) ~/trunk/src/scripts $ ./build_packages --oldchromebinary


9. イメージの作成。15分ぐらい。

(cr) ~/trunk/src/scripts $ ./build_image


10.a USB メモリーに書きこむ。

(cr) ~/trunk/src/scripts $ ./image_to_usb.sh --to=/dev/sdc


10.b 仮想マシン用のイメージを作成。

(cr) ~/trunk/src/scripts $ ./image_to_vm.sh --format=virtualbox

仮想マシン用の環境も作れるが、私の環境では VirtualBox 向けの作成に失敗した。
VBoxManage コマンドが存在しない旨のエラーが発生する。
なので chroot の外から手動で実行。ユーザー名は適宜置き換え。

~/chromeos $ VBoxManage convertdd \
./home/builduser/trunk/src/build/images/x86-generic/latest/vm_temp_image.bin \
./home/builduser/trunk/src/build/images/x86-generic/latest/os.vdi

スクリプトがエラーにより途中で止まるためゴミが残る。(chroot)/tmp など、これは手動で削除。

11. chroot 環境の削除。

~/chromeos $ cros_sdk --delete

間違っても  $ rm  とかで削除してはいけない。


HDD の空き容量は 30 GByte 以上を確保したほうが安心。
再ビルド時に古いビルドの削除は行われないので、手動で削除する必要がある。

ビルドした Chromium OS の初回起動時にはインターネットへの接続が必要。
2回目以降はオフラインでもゲストモードでログインできる模様。

IdeaPad U150 の無線LANには対応していなかった。

USB メモリーにインストールする場合は高速タイプのものがおすすめ。
それなりにアクセスが発生するので、遅いタイプだと時々固まる。


参考:
Chromium OS Developer Guide - The Chromium Projects
Install the depot_tools - The Chromium Projects
ChromeOSをビルドしてみた - zephiransasのチラシの裏