2009.11.27
ChromeOSをインストールしてみました
先週あたりに現在開発中のGoogleのOSである、”Chrome OS”が”Chromium OS”というプロジェクト名でオープンソース化され、ソースコードが入手可能になったので、早速試してみることにしました。
今回の目次
- ChromeOSって何?
- ビルド環境の準備
- ビルド
- 使ってみる
ChromeOSって何?
Googleが開発中のオープンソースのOSです。Linuxカーネルの上に、独自のウィンドウシステムを備えています。webの閲覧とwebアプリの実行に特化したOSということで、非常に軽量なOSとなっています。
詳しいアーキテクチャについては本家のサイトを参照してください。
http://www.chromium.org/chromium-os/chromiumos-design-docs/software-architecture
ビルド環境の準備
上記のサイトに詳しい説明がありますので、それに沿って進めていきます。
http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites
ビルド用のOSを準備
UbuntuやopenSUSEやFedoraでの準備が紹介されていますが、公式での解説はUbuntu8.04以上(最新の9.10推奨)で進められているので、Ubuntu9.10を用意することにします。
Windows上でVMwarePlayerを用いて構築しました。
■VMwarePlayer
http://www.vmware.com/jp/products/player/
■Ubuntu
http://www.ubuntulinux.jp/products/JA-Localized/download
必要なパッケージのインストール
ChromeOSのビルドに必要なパッケージをまとめて一気に入れてしまいます。
$ 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
基本的にはSSHで接続してターミナルで操作したいのと、最終的にできあがったイメージをSCPで落とす必要があるので、SSHも入れておきます。
$ sudo apt-get install ssh
ついでにiptablesも開放しておきます。一時的にしか使わないので、とりあえずINPUTとOUTPUTを全開放
$ sudo iptables -P INPUT ACCEPT
$ sudo iptables -P OUTPUT ACCEPT
ソースコードの入手
gitから落としてくる方法もありますが、結構時間がかかるので、tarで入手します。
ちなみに作業は全てユーザのホームディレクトリで進めていきます。
$ cd ~
$ wget http://build.chromium.org/buildbot/archives/chromiumos-0.4.22.8.tar.gz
ローカルリポジトリの作成
$ tar zxvf chromiumos-0.4.22.8.tar.gz
$ ln -s chromiumos-0.4.22.8 ./chromiumos
$ cd ~/chromiumos/src/scripts
$ ./make_local_repo.sh
結構時間がかかります。お茶でも飲みながらのんびり待ってください。
Chromeのバイナリを入手
ビルド時にChromeのバイナリが必要となります。
こちらもgitのリポジトリから入手する方法もありますが、面倒なのでバイナリをゲットしておきます。
$ cd ~/chromiumos/src/
$ mkdir -p build/x86/local_assets
$ cd build/x86/local_assets
$ wget http://build.chromium.org/buildbot/archives/chromium-chromiumos-r32516.zip
$ mv chromium-chromiumos-r32516.zip chrome-chromeos.zip
ビルド環境の構築
以下のスクリプトを走らせます
$ cd ~/chromiumos/src/scripts
$ ./make_chroot.sh
これで環境構築は完了です。いよいよビルドに入っていきます。
ビルド
chroot環境に入る
ビルドはchroot環境下でしか実行できないらしいです。以下のスクリプトを実行。
$ ./enter_chroot.sh
ローカルユーザアカウントを有効にする
ChromeOSはGoogleアカウントがOSのログインアカウントになります。ネットに繋がらない状況だとログインができなくなるので、この処理を入れておきます。
※ほぼChromeしか動かないOSを、ネットの環境がない状況で使用する意味があるかどうかは不明ですが。
$ cd ../platform/pam_google && ./enable_localaccount.sh USERNAME
共有ユーザのパスワードも設定しておきます
$ ./set_shared_user_password.sh
※この2つの処理は飛ばしてしまっても問題ありません。
ビルド
スクリプトを走らせるとあとは自動でやってくれます。
$ ./build_platform_packages.sh
$ ./build_kernel.sh
$ ./build_image.sh
かなり時間がかかります。
C2D E7400搭載のPCで、VMのコア割り当ては1つでしたが、軽く30分はかかりました。
マシンスペックが低いと悲しいぐらいの時間がかかりそうです。4コアCPUのPCを使って、
VMにできる限りのコアを割り当ててあげると早いかもしれません。
イメージファイルの確認
以下のフォルダにできています。
$ ~/chromiumos/src/build/images/SUBDIR
イメージを変換
USBメモリに入れるためのスクリプトと、VMware用イメージの変換スクリプトがあるので、使ってみます。
今回はVM用のものを走らせてみます。
VM用にはqemuが必要なので、まずインストール
$ apt-get install qemu
イメージをVM用に変換します。
$ cd ~/chromiumos/src/script
$ ./image_to_vmware.sh –from=~/chromiumos/src/build/images/SUBDIR
これでSUBDIR内にvm用のイメージができていますので、取り出して使ってください。
使ってみる
起動
10秒ちょいで起動しました。速い。

ログインするといきなりChromeが立ち上がります。

デスクトップ代わりのようなイメージでしょうか。Googleのサービスだけでなく、hotmailなども用意されています。

JS用のコンソールもあります

タスクマネージャらしきものも

全てがブラウザ上で動作しているところがなんとなく新しい感覚です。
現時点では日本語入力もできませんが、使い方次第では面白いことになるのではないでしょうか。
今後の開発に期待です。
Trackback URL
Comment & Trackback
Comment feed
Comment