ChromeOSのビルドをコマンドラインで追ってみる〜Ubuntuでビルド環境構築からUSB,VMwareイメージ作成まで〜


ChromeOSをビルドするには公式のドキュメントをあっちゃこっちゃよみながら
読み落としがないように注意深く進める必要があるのですが
「とりあえずコマンドラインでどう打ってけばビルドできるの?」
っていうのは、ビルドの流れを把握したい人や、
どっかのVMイメージをダウンロードしてくるだけじゃ物足りない人たちにニーズがあるんじゃないかな
と期待して記事うp


ってことで、コマンドライン(+僕の相づち)でChromeOSのビルド方法をざっと追ってみましょい


実際にやってみたけど、時間にして1時間もあればできる(たぶん)
ネイティブな環境でね。OSはubuntu9.04。
9.10推奨とか書いてあったけど。8.04以降ならOK。
やってることは↓このドキュメントにかいてあること
http://www.chromium.org/chromium-os/building-chromium-os


ではよーいどん


まずソースコードをダウンロードするための環境を構築する。

$ sudo apt-get install subversion pkg-config python perl g++ g++-multilib \
bison flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libasound2-dev \
libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev

$ sudo apt-get install wdiff lighttpd php5-cgi sun-java6-fonts

ソースコードをダウンロードするためのツールをインストールする。

$ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
$ export PATH=`pwd`/depot_tools:"$PATH"
$ sudo apt-get install git-core

ディレクトリを作成してそこへソースコードをダウンロード

$ mkdir
$ cd
$ gclient config http://src.chromium.org/git/chromiumos.git
$ gclient sync

やっとスタートライン。ChromeOSのビルド環境を構築

$ ln -s /chromiumos.git ~/chromiumos
$ cd ~/chromiumos/src/scripts
$ ./make_local_repo.sh
$ ./make_chroot.sh

ビルドに必要なchromiumをDL
http://sites.google.com/a/chromium.org/dev/chromium-os/building-chromium-os/build-instructions
のDownload Chromium binaryからバイナリをダウンロード
いやソースビルドしてもいいんだけどね。
ほら時間がなくてさ。
~/chromiumos/src/build/x86/local_assets/chrome-chromeos.zip へコピー


ここでやっとビルド環境のルートができたのでchroot

$ ./enter_chroot.sh

ChromeOSのAdminユーザを作成しておく。

chroot$ ( cd ../platform/pam_google && ./enable_localaccount.sh USERNAME )
chroot$ ./set_shared_user_password.sh

はいプラットフォームとカーネルビルド

chroot$ ./build_platform_packages.sh
chroot$ ./build_kernel.sh
chroot$ ./build_image.sh
chroot$ exit

~/chromiumos/src/build/images/hogehoge
以下に
mbr.image と rootfs.image ができているはず


イメージが正常に作成されているかチェック

$ cd ~/chromiumos/src/build/images/SUBDIR
$ sudo mount -o loop rootfs.image rootfs
$ sudo chroot rootfs

rootfs$ df
rootfs$ dpkg -l
rootfs$ exit
$ sudo umount rootfs

USBメモリへ焼く

$ ./image_to_usb.sh --from=~/chromiumos/src/build/images/hogehoge --to=/dev/sdd

VMwareイメージを作る

$ ./image_to_vmware.sh --from=~/chromiumos/src/build/images/hogehoge \
--to=~/chromiumos/src/build/images/hogehoge/ide.vmdk

はいごーる!


vmイメージはvmdkしか作成されないから
vmplayerでインデックスとか作らないといけない。
やりかたは窓の杜の説明がわかりやすかった。
http://www.forest.impress.co.jp/docs/special/20091120_330552.html


あと、Ubuntuないとかビルド環境構築がめんどくさい人は
VMwareでChromeOSのビルド環境配布してくれてる人がいたから
これつかうといいかも。

Chrome OS build環境配布開始 http://www.noritsuna.com/archives/2009/11/chrome_os_build.html

ソースコード検索ツールとかも入れてくれてるみたいですばらしー

    • -

前エントリにも書いたけど
ついったーはじめました
http://twitter.com/ksksue
同じ趣向の方フォローしあいましょい