Debian lennyにてGingerbreadビルド環境を作成してビルドするの手順

lenny 505 amd64 netinstから最小構成でインストール。
めんどくさいのでミニマイズはしない。
dropbearでsshを可能にして、あとはリモートから作業。

Pythonの追加

gb64build:~# apt-get install python
The following extra packages will be installed:
  file libdb4.5 libmagic1 libsqlite3-0 mime-support python-minimal python2.5
  python2.5-minimal

gitの追加

gb64build:~# apt-get install git-core
The following extra packages will be installed:
  ca-certificates less libcurl3-gnutls libdigest-sha1-perl libedit2
  liberror-perl libexpat1 libidn11 libkeyutils1 libkrb53 libldap-2.4-2
  libx11-6 libx11-data libxau6 libxcb-xlib0 libxcb1 libxdmcp6 libxext6
  libxmuu1 openssh-blacklist openssh-blacklist-extra openssh-client openssl
  patch perl perl-modules rsync x11-common xauth

一般的ビルド環境に必要なパッケージを追加

gb64build:~# apt-get install flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl valgrind unzip zlib1g-dev
The following extra packages will be installed:
  binutils bzip2 cpp cpp-4.3 defoma dpkg-dev esound-clients esound-common
  fontconfig fontconfig-config g++ g++-4.3 gcc gcc-4.3 gdb hicolor-icon-theme
  liba52-0.7.4 libaa1 libaa1-dev libartsc0 libartsc0-dev libasound2
  libasound2-dev libatk1.0-0 libatk1.0-data libaudio-dev libaudio2
  libaudiofile-dev libaudiofile0 libc6-dev libcaca-dev libcaca0 libcairo2
  libcucul-dev libcucul0 libcups2 libcurl3 libdatrie0 libdirectfb-1.0-0
  libdirectfb-dev libdirectfb-extra libdrm2 libesd0 libfontconfig1 libfontenc1
  libfreetype6 libfreetype6-dev libgl1-mesa-dev libgl1-mesa-glx libglib2.0-0
  libglib2.0-data libglib2.0-dev libglu1-mesa libglu1-mesa-dev
  libglu1-xorg-dev libgmp3c2 libgomp1 libgpm2 libgtk2.0-0 libgtk2.0-bin
  libgtk2.0-common libice-dev libice6 libjpeg62 libjpeg62-dev libmpeg3-1
  libmpeg3-dev libmpfr1ldbl libncurses5-dev libpango1.0-0 libpango1.0-common
  libpcre3 libpixman-1-0 libpng12-0 libpng12-dev libpthread-stubs0
  libpthread-stubs0-dev libsdl1.2-dev libsdl1.2debian libsdl1.2debian-alsa
  libslang2-dev libsm-dev libsm6 libssh2-1 libstdc++6-4.3-dev libsvga1
  libsvga1-dev libsysfs-dev libsysfs2 libthai-data libthai0 libtiff4
  libtimedate-perl libts-0.0-0 libwxbase2.6-0 libwxbase2.6-dev libwxgtk2.6-0
  libx11-dev libx86-1 libxau-dev libxcb-render-util0 libxcb-render0
  libxcb-xlib0-dev libxcb1-dev libxcomposite1 libxcursor1 libxdamage1
  libxdmcp-dev libxext-dev libxfixes3 libxfont1 libxft2 libxi6 libxinerama1
  libxrandr2 libxrender1 libxt-dev libxt6 libxxf86vm1 linux-libc-dev m4 make
  mesa-common-dev pkg-config svgalibg1 ttf-dejavu ttf-dejavu-core
  ttf-dejavu-extra ucf wx2.6-headers x-ttcidfont-conf x11proto-core-dev
  x11proto-input-dev x11proto-kb-dev x11proto-xext-dev xfonts-encodings
  xfonts-utils xtrans-dev

jdk6の導入

gb64build:~# vi /etc/apt/sources.list
non-free追記
gb64build:~# apt-get update
gb64build:~# apt-get install sun-java6-jdk
The following extra packages will be installed:
  avahi-daemon bind9-host dbus dbus-x11 gsfonts gsfonts-x11 java-common
  libavahi-common-data libavahi-common3 libavahi-core5 libbind9-50 libcap2
  libdaemon0 libdbus-1-3 libdns58 libisc50 libisccc50 libisccfg50 libltdl3
  liblwres50 libnss-mdns libxml2 libxtst6 odbcinst1debian1 sgml-base
  sun-java6-bin sun-java6-jre unixodbc xml-core

froyo x86のビルドはJDK5でないとできなかった。
パッケージ名をsun-java5-jdkにしてやれば、あとは同じ。

64bit環境でのビルドに追加で必要なものを追加

gb64build:~# apt-get install gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs lib32readline5-dev lib32z-dev
The following NEW packages will be installed:
  g++-4.3-multilib g++-multilib gcc-4.3-multilib gcc-multilib ia32-libs
  lib32asound2 lib32gcc1 lib32gomp1 lib32ncurses5 lib32ncurses5-dev
  lib32readline5 lib32readline5-dev lib32stdc++6 lib32z1 lib32z1-dev
  libc6-dev-i386 libc6-i386 lsb-release

gitを新しいものにする

gb64build:~# vi /etc/apt/sources.list
追記
deb http://www.jp.backports.org lenny-backports main contrib non-free
deb-src http://www.jp.backports.org lenny-backports main contrib non-free
gb64build:~# apt-get update
gb64build:~# apt-get install debian-backports-keyring
gb64build:~# apt-get -t lenny-backports install git-core git

repoの取得

gb64build:~# mkdir ~/bin
gb64build:~# curl http://android.git.kernel.org/repo > ~/bin/repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 17412  100 17412    0     0   1782      0  0:00:09  0:00:09 --:--:--  4325
gb64build:~# chmod a+x ~/bin/repo

リポジトリの初期化と取得

gb64build:~# mkdir ~/mydroid 
gb64build:~# cd ~/mydroid/
gb64build:~/mydroid# ~/bin/repo init -u git://android.git.kernel.org/platform/manifest.git
remote: Counting objects: 1163, done.
remote: Compressing objects: 100% (536/536), done.
remote: Total 1163 (delta 739), reused 982 (delta 605)
Receiving objects: 100% (1163/1163), 324.15 KiB | 374 KiB/s, done.
Resolving deltas: 100% (739/739), done.
gb64build:~/mydroid# ~/bin/repo sync

ビルド

makeするだけ。
ビルドオプションなどの指定はご自由に。
組み込みの人は、kernelは別に取得してビルドする必要はあるよん。
焼きこみとか、インストールイメージの作成とかは、環境によって違うのだから、自分で調べれ!
そこまで面倒はみられないぞっと。