Chromium OS をビルドする
Chromium OS のビルド方法はいろいろなサイトで詳解されているが、Chromium Projectに書かれている Getting and building を参考にビルドしてみた。
Getting and building に書かれている Prerequisites, Get the source, Build Chromium OS の順番でやればよい。
目次 |
Prerequisites
まずは Chromium prerequisites に、Chromium OS をビルドするためのソフトが書かれているようなので見てみる。
Chromium OS をビルドするにはいろいろとソフトが必要になるようだが、Automated Setup(Ubuntu 用)を使ってビルドに必要なソフトをインストールする。(Ubuntu, openSUSE, Fedora などディストリビューションごとに、ビルドに必要なソフトをインストールする方法も詳解されている。)
ここでは、Ubuntu 9.10 (i386) を用意してビルドに必要なソフトをインストールする。
wget http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh sudo sh install-build-deps.sh
途中、なんか聞いてくるので y を入力。
Gold is a new linker that links Chrome 5x faster than ld. Don't use it if you need to link other apps (e.g. valgrind, wine) REPLACE SYSTEM LINKER ld with gold and back up ld? (y/N)
大量にパッケージがインストールされる。
Get the Source
Getting the Chromium OS Source Code
二通り方法があり、tarball を使うか、Chromium depot tools を使うか、どちらでもよい。
手軽に tarball の方法でやることに。
Chromium OS source tarball をダウンロードして chromiumos という名前のディレクトリに解凍しろということなので、次のようにシンボリックリンクを作る。
cd ~ wget http://build.chromium.org/buildbot/archives/chromiumos-0.4.22.8.tar.gz tar xzf chromiumos-0.4.22.8.tar.gz ln -s chromiumos-0.4.22.8 chromiumos
Building Chromium OS
Chromium OS をビルドするには、ローカルリポジトリを作り、chroot されたビルド環境内で Chromium OS をビルドするようになる。
ローカルリポジトリを作る
cd ~/chromiumos/src/scripts ./make_local_repo.sh
結構時間がかかる。
chroot: cannot run command `reprepro': No such file or directory となってしまう場合、パッケージマネジメントの競合が原因のようなので、次のコマンドを実行すると回避できる。[1] sudo rm -rf ~/chromiumos/repo ./make_local_repo.sh |
なお、Ubuntu 9.10 (Karmic) 以外の場合は、ローカルリポジトリの作成方法が違うようで、その方法も書かれている。
chroot 環境の作成
Chromium OS は chroot 環境でのみビルドできるので、chroot するためのビルド環境を構築する。といってもスクリプトを実行するだけ。
./make_chroot.sh
Chromium OS をビルドする
Chromium(ブラウザ)をビルドすることもできるようだが、Chromium(ブラウザ)のバイナリがあるようなので、ビルドせずにバイナリをダウンロードする。
mkdir -p ~/chromiumos/src/build/x86/local_assets wget -O ~/chromiumos/src/build/x86/local_assets/chrome-chromeos.zip http://build.chromium.org/buildbot/archives/chromium-chromiumos-r32516.zip
ビルド環境に chroot する。(シェルのプロンプトが変わる。)
./enter_chroot.sh
次の二つをすると、Chromium OS をカスタマイズをしやすくなる。
USB ブートさせて使う場合(仮想環境ではなく実機で使う場合)などは、次の二つの設定をしておかないとネットワークにつながらないため、Chromium OS にログインすらできなくなる。
cd ../platform/pam_google && ./enable_localaccount.sh Administrator |
cd ~/trunk/src/scripts ./set_shared_user_password.sh |
ビルドする。
./build_platform_packages.sh ./build_kernel.sh
一瞬止まったかのようになるが、ビルドが始まる。結構時間がかかる。
ディスクイメージをビルドする。
./build_image.sh
ディスクイメージは ~/chromeos/src/build/images/999.999.33109.075017-a1 にできる。 (999.999.33109.075017-a1 の部分はバージョンかも?)
chroot 環境からぬける。
exit
USB メモリにコピーする
USB メモリは 4GB 以上ないと容量不足となりコピーできない。
Chromium OS のディスクイメージ名や、USBメモリのデバイス名は適宜指定する。
./image_to_usb.sh --from=~/chromiumos/src/build/images/999.999.33109.075017-a1 --to=/dev/sdb
VMware 用ディスクイメージを作成する
VMware 用デォスクイメージを作るには qemu-img コマンドを使うので、qemu をインストール後にディスクイメージの作成をする。
sudo apt-get install qemu ./image_to_vmware.sh --from=~/chromiumos/src/build/images/999.999.33109.075017-a1
しばらくすると ~/chromiumos/src/build/images/999.999.33109.075017-a1/ に VMware 用ディスクイメージ ide.vmdk ができる。
後片付け(chroot 環境の削除)
rm -rf で削除しないようにとの事。
./make_chroot.sh --delete
後片付け後は、./make_chroot.sh のところから再開できる。 |
ダウンロード
今回ビルドした Chromium OS
- Chromium OS ソースコード
- chromiumos-0.4.22.8.tar.gz
- Chromium バイナリ
- chromium-chromiumos-r32516.zip
- ローカルユーザーアカウント名
- Administrator
- 共有ユーザーパスワード
- なし
- VMware ディスクイメージ
- ChromiumOS_999.999.33109.075017.vmdk.zip(312.6MB)
- 解凍すると 729MB になります。
- VMware Player や VirtualBox 用の仮想ディスクイメージです。
- USB メモリ用ディスクイメージ
- ChromiumOS_999.999.33109.075017.dd.zip(392MB)
- 解凍すると 3936MB になります。
- USB メモリを DDforWindows でイメージ化したもの。
- ここに書いてあるのと同じ要領で USB メモリに書き込むと、USB ブートする Chromium OS が完成します。
参考ページ
- Getting and Building a Chromium-Based OS
- Chromium osをコンパイルしてみる - 崩壊現実-全てはvirtualに収束する-
- chrome OSが公開されたので buildしてみる - kurainの壺