[Android] ソースビルド環境を収録したUbuntuライブCDを作成する!

| トラックバック(0) |

ubuntu_android.PNG

Android のソースコードビルド環境を収録した Ubuntu ライブ CD を作成する方法について説明します。

この方法をマスターすると、クリーンな OS をインストール後、いきなり Android のソースコード取得&ビルドできるため、

インストール時にネットワーク環境を用意できない場合や、複数の PC に同じ環境を構築することができるため、大変便利です。

(しかも、OS インストール前のアーカイブイメージのため、持ち運べるほどサイズが小さい。)

 

事前準備

1. 作成したい Ubuntu の iso イメージを入手する

以下のサイトから作成したい Ubuntu のイメージをダウンロードします。

ここでは、「ubuntu-10.10-desktop-amd64.iso」をダウンロードしました。

 

2. ダウンロードした iso イメージをインストールし、Ubuntu を起動する

ここでは、VMware 上にインストール・起動しました。

 

Ubuntu Customization Kit (UCK)のダウンロード

以下のサイトから UCK のインストーラをダウンロードし、インストーラ実行します。

 

Ubuntu Customization Kit (UCK)の起動・カスタマイズイメージ作成

インストール後、UCK を起動するには、[Applications] > [System Tools] > [Ubuntu Customization Kit] をクリックします。

すると、対話式の画面が表示されますので、以下の様に進めてください。

※以下では、[Close] ボタンだけの画面の説明は省略しています

 

1. 「Please choose language packs to install」

インストールする言語パックを選択してください(複数可)。

ここでは、英語(en)、日本語(ja)の2言語をチェックしました。

 

2. 「Please choose languages will be available at boot of live CD」

ブート時に利用できる言語を選択してください(複数可)。

ここでは、英語(en)、日本語(ja)の2言語をチェックしました。

 

3. 「Please choose which language will be selected by default at boot of live CD」

ブート時に使用するデフォルト言語を選択してください。

ここでは、「ja」を選択しました。

 

4. 「Please choose desktop environments which will be present on customized CD」

カスタマイズCDで使用するデスクトップ環境を選択してください。

ここでは、「gnome」を選択しました。

 

5. 「Please choose an ISO image to be used as the basis for your live CD」

カスタマイズのベースとなるライブCDを選択してください。

ここでは、「ubuntu-10.10-desktop-amd64.iso」を選択しました。

 

6. 「Please enter the name for your CD」

カスタマイズしたライブCDの名前を入力してください。

ここでは、「Ubuntu10.10(64bit)」と入力しました。

 

7. 「Do you want to customize the CD manually during building」

カスタマイズCD構築中に手動でパッケージを編集するか選択してください。

ここでは、「yes」を選択しました。

 

8. 「Do you want to delete all windows-related files from the CD?」

Windows に関連するファイルをCDから削除するか選択してください。

ここでは、「no」を選択しました。

 

この後、パッケージの再構築が開始されます(少し時間がかかります)。

 

9. 「Please choose customization action」

パッケージの編集方法を選択してください。

ここでは、「Run console application」を選択しました。

 

ここから、任意のパッケージの追加や削除を行います。

作成したい環境に応じて適宜読み替えてください。

 

9-1. 「ia32-libs」用のリポジトリを追加

「ubuntu-10.10-desktop-amd64.iso」の初期状態では、「ia32-libs」の取得先リポジトリが不足していたのですが、

リポジトリがわからなかったため、起動OSの「/etc/apt/source.list」を開き、

カスタマイズ環境側の「/etc/apt/source.list」に、内容をコピーしました。

※リポジトリが通っている、または明示的に追加すべきリポジトリがわかっていれば、こんなことしなくてもよいです^^;

 

9-2. 「sun-java5-jdk」「sun-java6-jdk」用のリポジトリ追加

# add-apt-repository "deb http://archive.canonical.com/ lucid partner"
# add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse"
# add-apt-repository "deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse"

 

9-3. リポジトリの更新

# apt-get update

 

9-4. Android Source ビルドに必要なパッケージの追加

# apt-get install git-core gnupg flex bison gperf build-essential zip curl 
zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev 
ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev

※ブログに掲載する都合上、改行していますが、実際には一行です

 

9-5. 「sun-java5-jdk」「sun-java6-jdk」の追加

# apt-get install sun-java5-jdk
# apt-get install sun-java6-jdk

 

9-6. 「repo」の追加

# cd /usr/local/bin
# curl http://android.git.kernel.org/repo > repo
# chmod a+x repo

ここでは、repo を、パスの通る適当な場所(/usr/local/bin)に配置しました。

 

9-7. その他、必要なパッケージの追加

以上で、Android ソースコードビルドに必要なパッケージが揃いましたが、

emacs(エディタ) など、その他必要と思われるパッケージを追加しておくと便利です。

 

9-8. 「Continute building」を選択して「OK」をクリックし、ビルドの構築を再開させる

 

10. 「Building was successful!」と表示されたら完了

作成したファイルは、「tmp/remaster-new-files/livecd.iso」に作成されます。

 

今回の例では、Windows 関連のファイルや不要なパッケージを削除しなかったため、

カスタマイズしたイメージは CDサイズ(700MB)を超えてしまいましたが、

作成された iso イメージをベースに何度でも再構築できるため、気に入るまで繰り返し作業してみてください。

 

付録

9.1、9.2 で追加した後の(カスタマイズ環境側)「/etc/apt/source.list」の内容は、以下のとおりです。

# deb cdrom:[Ubuntu 10.10 _Maverick Meerkat_ - Release amd64 (20101007)]/ maverick main restricted
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.

deb http://us.archive.ubuntu.com/ubuntu/ maverick main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick main restricted

## Major bug fix updates produced after the final release of the
## distribution.
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates main restricted
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates main restricted

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team. Also, please note that software in universe WILL NOT receive any
## review or updates from the Ubuntu security team.
deb http://us.archive.ubuntu.com/ubuntu/ maverick universe
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick universe
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates universe

## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb http://us.archive.ubuntu.com/ubuntu/ maverick multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick multiverse
deb http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-updates multiverse

## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb http://us.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse
# deb-src http://us.archive.ubuntu.com/ubuntu/ maverick-backports main restricted universe multiverse

## Uncomment the following two lines to add software from Canonical's
## 'partner' repository.
## This software is not part of Ubuntu, but is offered by Canonical and the
## respective vendors as a service to Ubuntu users.
# deb http://archive.canonical.com/ubuntu maverick partner
# deb-src http://archive.canonical.com/ubuntu maverick partner

## This software is not part of Ubuntu, but is offered by third-party
## developers who want to ship their latest software.
deb http://extras.ubuntu.com/ubuntu maverick main
deb-src http://extras.ubuntu.com/ubuntu maverick main

deb http://security.ubuntu.com/ubuntu maverick-security main restricted
deb-src http://security.ubuntu.com/ubuntu maverick-security main restricted
deb http://security.ubuntu.com/ubuntu maverick-security universe
deb-src http://security.ubuntu.com/ubuntu maverick-security universe
deb http://security.ubuntu.com/ubuntu maverick-security multiverse
deb-src http://security.ubuntu.com/ubuntu maverick-security multiverse
deb http://archive.canonical.com/ lucid partner
deb-src http://archive.canonical.com/ lucid partner
deb http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty multiverse
deb http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse
deb-src http://us.archive.ubuntu.com/ubuntu/ jaunty-updates multiverse

 

あわせて読みたい


※追記

  • 2010/11/22: 9-6 で chmod が漏れていたのを修正

関連記事

トラックバック(0)

トラックバックURL: http://mt.adakoda.com/mt-tb.cgi/505

2016年8月

  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31