kvmでfirefox-build-env(Mozilla build用VM)を使用する

これは https://kusanagi.lv7777.org/2017/01/05/kvm%E3%81%A7firefox-build-envmozilla-build%E7%94%A8vm%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B/ のクロスポストです。

 

以下のurlはmdnのfirefox-build-envについての記事。現在、筆者がtranslationしている。

https://developer.mozilla.org/ja/docs/Mozilla/Developer_Guide/Using_the_VM

が、上記の記事にはkvmによるMozilla buildの方法が書いていない。

といっても難しいことはなく、普通のova(vmware拡張子)をkvmにインポートするようにすればできる。
<ol>
<li>ovaのダウンロード</li>
<li>ovaを解答</li>
<li>vmのインポート</li>
<li>vmの起動とビルド</li>
<li>ビルドしたfirefoxの起動</li>
</ol>
まずvmのダウンロードだが上記記事(MDN)の中からダウンロードできる。黄緑のボタンで大きく書かれているためUXがいい。

このvmがかなり重い。通常の環境だと2時間ぐらいかかるかもしれない。なにせmozilla-centralとubuntuが入っているので。

次のovaの解答というステップだが、`tar  -vxf ダウンロードしてきたova`で解凍できる。

ovaはvmware専用形式(アプライアンス)だがそれの中身はvmをvmware用のメタ情報と一緒に圧縮したもの。

さて、解凍が終わればvmdkという拡張子が出てくるはず。こいつをqemu-convertでqcow2に変換する。

変換し終わったらvirt-managerを使って新規追加(星とディスプレイのアイコン)からインポートを選んで仮想マシンとして認識させる。cpu設定などはお好みで。

この辺は一般的なkvmのノウハウだが、intel-vtdを有効にしておかないとエラーが出るはず。(大抵の環境では有効になってると思うが)

また、ネットワーク関係でエラーが出た場合edit > connection details > visual networksタブ の下のスタートボタンを押せば外部(ネットワーク)にvmが繋がった状態になるはず。

次にvmの起動とビルドだが、起動させたら自動ログインが有効なため、すでにログインしてる状態になってるはず。

sublimetext2を起動させればmozilla-centralのソースを編集できる状態になっている。つまりもうfirefoxのソースをいじったりbuildすることができる。

sublimetext2の上のtoolsからbuildを選べばすぐにbuildを開始する。

“`
ビルドの処理が開始するので、お茶や美味しい食事でもして休憩しましょう。
“`

自分の場合は30分かからなかった気がする。VMがビルド用に最適化処理をかけてくれている。もちろんデバッグ用ビルドをするときも簡単に変更できる。

ビルド終わったら起動させる。tools > runを押せばfirefoxが起動できるはず。

 

割と楽にできるのでfirefox-build-envを使うのがおすすめです