崩壊現実-全てはvirtualに収束する-

この日記について|本棚|ブックマーク|Wiki|ついったー部日記
Twitter用人工無脳http://twitter.com/ha_ma寄付
crochet(凍結中)http://d.hatena.ne.jp/showyou/20000101
twitter bot アンケートhttp://d.hatena.ne.jp/showyou/20091225/1261712029

2009-11-20

Chromium osコンパイルしてみる

http://journal.mycom.co.jp/news/2009/11/20/011/index.html

http://sites.google.com/a/chromium.org/dev/chromium-os/building-chromium-os

なんかchromiumosプロジェクトが公開されたので、せっかくなのでbuildだけしてみる


先に結論だけ書いとくと楽勝でした。GoといいGoogle関連のOSSドキュメント読みやすいです。


環境Ubuntu 9.10(x86)です。当然ですが自己責任で。


  • 2009/11/21 11:02 このエントリの後ろに追記しました
  • 2009/11/21 13:11 記述ミスがあったので修正しました(thx vine_user!)
コンパイルに必要なライブラリを揃える

$ wget http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh

$ sudo sh install-build-deps.sh

depot_toolsを取ってくる

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

パスも設定しておく。.bashrcあたりに書いておけば起動するたびに打ち込む必要はなくなりますね。

$ export PATH=`pwd`/depot_tools:"$PATH"

chromium osソースを取ってくる

$ sudo apt-get install git-core

$ mkdir chromiumos

$ cd chromiumos

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

$ gclient sync

時間長いです。っていうかgclientってなんだ?

ローカルリポジトリを作る

$ cd chromiumos.git/src/scripts

$ ./make_local_repo.sh

なんかわらわらとdebファイルコピーされます

ビルド環境を作る

$ ./make_chroot.sh

またなんかわらわらと(ry

chromiumを取ってくる

手順どおりに読むとchromiumビルドになるんだけど、いちいちやりたくないのでその次に書いてるchromiumバイナリを取っておく。

$ cd ~/chromeos/chromiumos.git/src

$ mkdir -p build/x86/local_assets

$ wget http://build.chromium.org/buildbot/archives/chromium-chromiumos-r32516/chrome-linux.zip

$ mv chrome-linux.zip build/x86/local_assets/chrome-chromeos.zip

ビルド環境に入る

$ cd scripts

$ ./enter_chroot.sh

共有ユーザパスワードを設定する

(chroot)$./set_shared_user_password.sh

ビルドする

(chroot)$ ./build_platform_packages.sh

(chroot)$ ./build_kernel.sh

(chroot)$ ./build_image.sh

~/chromiumos/src/build/imagesの下にバージョンっぽい数字の付いたディレクトリができます(うちの場合999.999.32409.024640-a1って書いてる)

入ってるかどうかテスト

$ cd ~/chromeos/chromiumos.git/src/build/images/SUBDIR

$ sudo mount -o loop rootfs.image rootfs

$ sudo chroot rootfs

ビルドしたシステムに入れる

$ df

$ dpkg -l

サンプルには上のとおり書いてるけどdfやったらエラーっぽいものが返ってきた。dpkg -lは普通に入ってるパッケージ返してくるんだけど・・謎だ。

出来上がったイメージディスクに入れる

入れたいんだけど空いてるディスクがないのでvmware用のimageにした。

まずroot環境ビルド前までに戻す

$ exit

(chroot) $ exit

$

次にvmware向けに転送する。qemu-imgが必要なので先にqemuを入れておく

$ sudo apt-get install qemu

転送する

$ ./image_to_vmware.sh --from=~/chromeos/chromiumos.git/src/build/images/(バージョン)

src/build/(バージョン)にide.vmdkが出力されます。

実際に動かしてみる

この辺はvmware playerがあるならそっちを使えばいいと思うけど、ちょうど手元にVirtualBox OSEがあったのでそれを使って立ち上げてみた。


成功!でもまさかログインgmailアカウント使うとは思わなかった・・

f:id:showyou:20091120121217p:image

11/21 11:02追記

http://d.hatena.ne.jp/r_kurain/20091121/1258768687 より。

cd ../platform/pam_google && ./enable_localaccount.sh USERNAME

この行は本来非推奨なのだけれど、USERNAMEで chromium osログインできるようにするため処理。

これをしておかないと、chromium osgmailアカウントログインするため、ネットワークにつながらないときにログインできない。後述する、EeePCなどの実機に入れるところで必要になる

ということなので、$ ./enter_chroot.shの直後に上のコマンドを実行したほうがいいみたいです。私は面倒だったしそんなに使い込まないと思ったので入れてませんでしたが。ログインしないとワイヤレスの設定もできそうもないし、無いと困りそうですね。

vine_uservine_user 2009/11/21 12:57 この記事を参考に、Chromium OSを試すことができました。情報どうもありがとうございます。

ところで、「chromiumを取ってくる」のところなんですが、
$ cd ~/chromeos/chromiumos.git/src
$ mkdir build
$ mkdir x86
$ mkdir local_assets
とありますが、これではsrcの中に並列にbuildとx86とlocal_assetsが出来てしまいます。
$ cd ~/chromeos/chromiumos.git/src
$ mkdir -p build/x86/local_assets
ではないでしょうか?

また、「ビルド環境に入る」のところも、カレントディレクトリが「~/chromeos/chromiumos.git/src」なので、$ cd src ではなく、$ cd script の誤りかと…。

せっかくの非常にわかりやすい記事ですので、修正していただけると嬉しいです。

vine_uservine_user 2009/11/21 13:00 $ cd scripts ですね。すみません。

showyoushowyou 2009/11/21 13:15 コメントありがとうございます。
ご指摘のとおり、「chromiumを取ってくる」と「ビルド環境に入る」が記述おかしかったです。早速修正しました。
#mkdir -p せずにmkdir->cdしてたとはとても言えないなぁ

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

筆者:Showyou http://www3.to/showyou