NetWalkerのためにFirefoxを最適化ビルドしてみる
NetWalkerのFirefoxが3.6.28ととても古いバージョンなのでアップデートしてみました。
とはいえCPUがARMv7なのでx86のようにパッケージがそこらへんに落ちているわけではないので自分でビルドします。
ビルドは時間もかかるしNANDにも負荷がかかるのであまりやりたくないです・・・
最初クロスコンパイルをしようとしたのですが環境構築で躓いてもう実機でやることにしました。
大体8時間ほどかかるので寝る前にやっておきました。
まず、ビルド環境を整えます。
# sudo apt-get build-dep firefox # sudo apt-get install mercurial libasound2-dev libcurl4-openssl-dev libnotify-dev libxt-dev libiw-dev mesa-common-dev autoconf2.13 yasm curl
そしてMozilla FTPからソースファイルを落とします。
ftp.mozilla.org
今回は5chで動作確認が取れているFirefox 6.0.2をビルドします。
最初FirefoxESR 10で試したのですがstrdをプロセッサがサポートしてないとかエラー吐いたのでとりあえず動作優先でやってみます。
ここからはシェルメインの作業になります。
# tar xvjf firefox-6.0.2.source.tar.bz2 ←まず展開 # cd mozilla-release # echo '. $topsrcdir/browser/config/mozconfig' > mozconfig # echo 'mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir-ff-release' >> mozconfig # gedit mozconfig ←mozconfigを編集
mozconfigを編集してARM向けに最適化していきます。
. $topsrcdir/browser/config/mozconfig mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../obj-@CONFIG_GUESS@ mk_add_options AUTOCONF=autoconf2.13 ac_add_options --disable-crashrepoter mk_add_options MOZ_CO_PROJECT=firefox ac_add_options --enable-application=browser ac_add_options --enable-optimize=-O2 <s>ac_add_options --enable-static --disable-libxul</s>
最適化オプションで-O2を指定することでより強力に最適化します。
またライブラリ等を一つのファイルにまとめることで動作をより高速化します。
そしてmozconfigを保存していよいよビルドです。
# ./configure # make
もしmozconfigに不備があれば./configureの時点でストップしmakeができないので要注意
ビルドが終了したらあとは起動
# cd dist/bin # ./firefox
実行ファイルはdist/bin/firefoxなのでデスクトップ上でランチャー等を作ってアイコンから実行できるようにするといいかもしれないです。
Chromium 16とかビルドできたらいいんだけどなぁ
詳しい人教えて!!