Building Android for Pandaboard - 準備編 なのに長すぎ...
本家omappedia版、Linaro版、sola版があるようだ。
solaさんがすでにビルド可能なアーカイブをまとめているのだけど、改変点とかわかりにくいので、自分でやってみることに。
Linaroのは、めんどくさいことをバッサリやってくれるツールが入っていて、見通し悪そう。
というわけで、本家版で進める。
pandroid
http://code.google.com/p/pandroid/
http://git.omapzoom.org/
http://www.omappedia.com/wiki/Release_Notes
2011年4月の L27.12.1-P2が最新のよう。
April 2011: L27.INC1.12.1-P2_OMAP4_Gingerbread_ES2_Release_Notes
PandaBoard L27.12.1-P2 Release Notes
http://www.omappedia.com/wiki/PandaBoard_L27.12.1-P2_Release_Notes
これに従ってフルビルドしてみる。
ビルド環境は先日構築したUbuntu11.04のものをそのまま使う。
作業ディレクトリを作成
kinneko@BuildSV:~$ mkdir panda kinneko@BuildSV:~$ cd panda/ kinneko@BuildSV:~/panda$ mkdir -p L27.12.1-P2/mydroid L27.12.1-P2/build_tools L27.12.1-P2/wlan L27.12.1-P2/wlan_firmware
ドキュメントでは、こんな風に続くけど、存在しないディレクトリにはcdできないんだけどな...
cd L27.12.1-P2/mydroid export MYDROID=`pwd` cd $YOUR_PATH/L27.12.1-P2/build_tools/arm-2010q1
とりあえずここはパス。
toolchainのダウンロード
作成したL27.12.1-P2/build_tools/にtoolchainをダウンロードする。
codesourceryの提供しているものを使用する。
バージョンは、arm-2010q1-202。
アーカイブで79Mと結構でかい。
落としたら展開する。
kinneko@BuildSV:~/panda$ cd L27.12.1-P2/build_tools/ kinneko@BuildSV:~/panda/L27.12.1-P2/build_tools$ wget http://www.codesourcery.com/sgpp/lite/arm/portal/package6488/public/arm-none-linux-gnueabi/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 kinneko@BuildSV:~/panda/L27.12.1-P2/build_tools$ tar jxvf arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 kinneko@BuildSV:~/panda/L27.12.1-P2/build_tools$ cd .. kinneko@BuildSV:~/panda/L27.12.1-P2$
ここでも、ドキュメントではPATHの指定したりしてるけど、後で行うので放置する。
cd arm-2010q1/ export PATH=$PATH:$YOUR_PATH/L27.12.1-P2/build_tools/arm-2010q1/bin
ソースコードの取得
repoのインストールと、ソースコードの取得を行う。
kinneko@BuildSV:~/panda/L27.12.1-P2$ cd mydroid/ kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ wget http://android.git.kernel.org/repo kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ chmod +x repo kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ ./repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b 27.x -m RLS27.12.1-P2_Gingerbread.xml
manifestは、gitで配布なのね。
おっと、kernel.orgがhackされてダウンしているので、repoのオンライン更新が取りに行けず先に進めない。
他のリポジトリから、.repo以下をコピーして切り抜ける。
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ ./repo init -u git://git.omapzoom.org/platform/omapmanifest.git -b 27.x -m RLS27.12.1-P2_Gingerbread.xml remote: Counting objects: 1229, done. remote: Compressing objects: 100% (690/690), done. remote: Total 1213 (delta 505), reused 1184 (delta 480) Receiving objects: 100% (1213/1213), 856.51 KiB | 325 KiB/s, done. Resolving deltas: 100% (505/505), done. From git://git.omapzoom.org/platform/omapmanifest * [new branch] 25.14M.x -> origin/25.14M.x * [new branch] 25.inc2.x -> origin/25.inc2.x * [new branch] 25.inc3.x -> origin/25.inc3.x * [new branch] 25.x -> origin/25.x * [new branch] 25E.x -> origin/25E.x * [new branch] 27.x -> origin/27.x 3baccb4..7b6a40b android-1.6_r1 -> origin/android-1.6_r1 + 840e351...bc7567a cupcake -> origin/cupcake (forced update) afd2eb5..b8f29ed donut -> origin/donut f1c5b55..63d29c2 eclair -> origin/eclair 186b4bd..40045c1 froyo -> origin/froyo f212935..ee5fb5a gingerbread -> origin/gingerbread dc01e28..b56ceb3 master -> origin/master bcf4005..4f6aebf release-1.0 -> origin/release-1.0 * [new tag] RLS25.INC2.7P2rc0 -> RLS25.INC2.7P2rc0 * [new tag] RLS25.INC3.4P5DB407rc0 -> RLS25.INC3.4P5DB407rc0 From git://git.omapzoom.org/platform/omapmanifest * [new tag] L27.10.2-P1_Froyo -> L27.10.2-P1_Froyo * [new tag] RLS-12.2 -> RLS-12.2 * [new tag] RLS-25.2 -> RLS-25.2 * [new tag] RLS-25.3 -> RLS-25.3 * [new tag] RLS25.10 -> RLS25.10 * [new tag] RLS25.11rc3 -> RLS25.11rc3 * [new tag] RLS25.11rc4 -> RLS25.11rc4 * [new tag] RLS25.11rc5 -> RLS25.11rc5 * [new tag] RLS25.11rc7 -> RLS25.11rc7 * [new tag] RLS25.11rc8 -> RLS25.11rc8 * [new tag] RLS25.12 -> RLS25.12 * [new tag] RLS25.12rc1 -> RLS25.12rc1 * [new tag] RLS25.12rc2 -> RLS25.12rc2 * [new tag] RLS25.12rc3 -> RLS25.12rc3 * [new tag] RLS25.12rc5 -> RLS25.12rc5 * [new tag] RLS25.12rc6 -> RLS25.12rc6 * [new tag] RLS25.12rc7 -> RLS25.12rc7 * [new tag] RLS25.13 -> RLS25.13 * [new tag] RLS25.13rc0 -> RLS25.13rc0 * [new tag] RLS25.13rc1 -> RLS25.13rc1 * [new tag] RLS25.13rc2 -> RLS25.13rc2 * [new tag] RLS25.14 -> RLS25.14 * [new tag] RLS25.14M.1_RC0 -> RLS25.14M.1_RC0 * [new tag] RLS25.14M.2_RC1 -> RLS25.14M.2_RC1 * [new tag] RLS25.14M.3_RC1 -> RLS25.14M.3_RC1 * [new tag] RLS25.14rc0 -> RLS25.14rc0 * [new tag] RLS25.14rc1 -> RLS25.14rc1 * [new tag] RLS25.14rc2 -> RLS25.14rc2 * [new tag] RLS25.14rc3 -> RLS25.14rc3 * [new tag] RLS25.14rc4 -> RLS25.14rc4 * [new tag] RLS25.14rc5 -> RLS25.14rc5 * [new tag] RLS25.14rc6 -> RLS25.14rc6 * [new tag] RLS25.14rc7 -> RLS25.14rc7 * [new tag] RLS25.14rc8 -> RLS25.14rc8 * [new tag] RLS25.14rc9 -> RLS25.14rc9 * [new tag] RLS25.5 -> RLS25.5 * [new tag] RLS25.5rc2 -> RLS25.5rc2 * [new tag] RLS25.5rc3 -> RLS25.5rc3 * [new tag] RLS25.6 -> RLS25.6 * [new tag] RLS25.6rc0 -> RLS25.6rc0 * [new tag] RLS25.6rc2 -> RLS25.6rc2 * [new tag] RLS25.6rc3 -> RLS25.6rc3 * [new tag] RLS25.6rc4 -> RLS25.6rc4 * [new tag] RLS25.6rc7 -> RLS25.6rc7 * [new tag] RLS25.6rc8 -> RLS25.6rc8 * [new tag] RLS25.7 -> RLS25.7 * [new tag] RLS25.7rc0 -> RLS25.7rc0 * [new tag] RLS25.7rc1 -> RLS25.7rc1 * [new tag] RLS25.7rc2 -> RLS25.7rc2 * [new tag] RLS25.7rc3 -> RLS25.7rc3 * [new tag] RLS25.8 -> RLS25.8 * [new tag] RLS25.8rc0 -> RLS25.8rc0 * [new tag] RLS25.8rc0b -> RLS25.8rc0b * [new tag] RLS25.8rc1 -> RLS25.8rc1 * [new tag] RLS25.8rc1b -> RLS25.8rc1b * [new tag] RLS25.8rc1c -> RLS25.8rc1c * [new tag] RLS25.8rc3 -> RLS25.8rc3 * [new tag] RLS25.9 -> RLS25.9 * [new tag] RLS25.9rc1 -> RLS25.9rc1 * [new tag] RLS25.9rc2 -> RLS25.9rc2 * [new tag] RLS25.9rc3 -> RLS25.9rc3 * [new tag] RLS25.9rc4 -> RLS25.9rc4 * [new tag] RLS25.INC2.2rc1 -> RLS25.INC2.2rc1 * [new tag] RLS25.INC2.2rc2 -> RLS25.INC2.2rc2 * [new tag] RLS25.INC2.3 -> RLS25.INC2.3 * [new tag] RLS25.INC2.3rc1 -> RLS25.INC2.3rc1 * [new tag] RLS25.INC2.5 -> RLS25.INC2.5 * [new tag] RLS25.INC2.5rc0 -> RLS25.INC2.5rc0 * [new tag] RLS25.INC2.5rc2 -> RLS25.INC2.5rc2 * [new tag] RLS25.INC2.6 -> RLS25.INC2.6 * [new tag] RLS25.INC2.6rc0 -> RLS25.INC2.6rc0 * [new tag] RLS25.INC2.7RC0 -> RLS25.INC2.7RC0 * [new tag] RLS25.INC2.7rc0 -> RLS25.INC2.7rc0 * [new tag] RLS25.INC3.2rc0 -> RLS25.INC3.2rc0 * [new tag] RLS25.INC3.3rc0 -> RLS25.INC3.3rc0 * [new tag] RLS25.INC3.3rc1 -> RLS25.INC3.3rc1 * [new tag] RLS25.INC3.4DB178rc0 -> RLS25.INC3.4DB178rc0 * [new tag] RLS25.INC3.4P1DB203rc0 -> RLS25.INC3.4P1DB203rc0 * [new tag] RLS25.INC3.4P2DB218rc0 -> RLS25.INC3.4P2DB218rc0 * [new tag] RLS25.INC3.4P3DB237rc0 -> RLS25.INC3.4P3DB237rc0 * [new tag] RLS25.INC3.4P4DB250rc0 -> RLS25.INC3.4P4DB250rc0 * [new tag] RLS25E.16 -> RLS25E.16 * [new tag] RLS25E.16rc0 -> RLS25E.16rc0 * [new tag] RLS25E.17 -> RLS25E.17 * [new tag] RLS25E.17rc0 -> RLS25E.17rc0 * [new tag] RLS25E.18_RC00 -> RLS25E.18_RC00 * [new tag] RLS27-GB-ENG-1_Gingerbread -> RLS27-GB-ENG-1_Gingerbread * [new tag] RLS27.1 -> RLS27.1 * [new tag] RLS27.10.1-P1_Froyo -> RLS27.10.1-P1_Froyo * [new tag] RLS27.10.1_Froyo -> RLS27.10.1_Froyo * [new tag] RLS27.10.2_Froyo -> RLS27.10.2_Froyo * [new tag] RLS27.11.1_Gingerbread -> RLS27.11.1_Gingerbread * [new tag] RLS27.12.1-P1_Gingerbread -> RLS27.12.1-P1_Gingerbread * [new tag] RLS27.12.1_Gingerbread -> RLS27.12.1_Gingerbread * [new tag] RLS27.1rc0 -> RLS27.1rc0 * [new tag] RLS27.2 -> RLS27.2 * [new tag] RLS27.2rc0 -> RLS27.2rc0 * [new tag] RLS27.3 -> RLS27.3 * [new tag] RLS27.3p2 -> RLS27.3p2 * [new tag] RLS27.3rc0 -> RLS27.3rc0 * [new tag] RLS27.3rc1 -> RLS27.3rc1 * [new tag] RLS27.4rc0 -> RLS27.4rc0 * [new tag] RLS27.5.1_Froyo_RC0 -> RLS27.5.1_Froyo_RC0 * [new tag] RLS27.5.2_Froyo -> RLS27.5.2_Froyo * [new tag] RLS27.5.3_Froyo -> RLS27.5.3_Froyo * [new tag] RLS27.5rc0 -> RLS27.5rc0 * [new tag] RLS27.6.1_Froyo -> RLS27.6.1_Froyo * [new tag] RLS27.6.2_Froyo -> RLS27.6.2_Froyo * [new tag] RLS27.7.0_Froyo -> RLS27.7.0_Froyo * [new tag] RLS27.7.1_Froyo -> RLS27.7.1_Froyo * [new tag] RLS27.7.2_Froyo -> RLS27.7.2_Froyo * [new tag] RLS27.8.0_Froyo -> RLS27.8.0_Froyo * [new tag] RLS27.8.2_Froyo -> RLS27.8.2_Froyo * [new tag] RLS27.9.0_Froyo -> RLS27.9.0_Froyo * [new tag] RLS27.9.0_Froyo_RC0 -> RLS27.9.0_Froyo_RC0 * [new tag] RLS27.9.1_Froyo -> RLS27.9.1_Froyo * [new tag] Test -> Test .repo/manifests/: manifest switched android-2.3.4_r1...27.x .repo/manifests/: discarding 89 commits removed from upstream Your Name [kinneko]: Your Email [kinneko@gmail.com]: Your identity is: kinneko <kinneko@gmail.com> is this correct [y/n]? y Testing colorized output (for 'repo diff', 'repo status'): black red green yellow blue magenta cyan white bold dim ul reverse Enable color display in this user account (y/n)? y repo initialized in /home/kinneko/panda/L27.12.1-P2/mydroid
リポジトリを取得する。初回なので、とりあえずきれいなログを取るので-jで並列化しない。
とはいっても、すでに他のリポジトリをコピーしてるので、アレだが。
ってか、長すぎてポストできずに、途中で切れてしまうよ... orz
httpの限界かな...
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ ./repo sync remote: Counting objects: 225, done. remote: Compressing objects: 100% (68/68), done. remote: Total 115 (delta 74), reused 86 (delta 47) Receiving objects: 100% (115/115), 41.33 KiB, done. Resolving deltas: 100% (74/74), completed with 36 local objects. From git://git.omapzoom.org/platform/bionic * [new branch] cdma-import -> omap-mirror/cdma-import * [new branch] cupcake -> omap-mirror/cupcake (大量に略)
できたディレクトリは、こんな感じ。
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ ls Makefile bootable dalvik external libcore prebuilt system README.kernel build development frameworks ndk repo bionic cts device hardware packages sdk
PandaBoard用のディレクトリを最新に変更する
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ cd device/ti/pandaboard/ kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/device/ti/pandaboard$ git fetch http://review.omapzoom.org/p/device/ti/pandaboard refs/changes/12/13612/1 && git cherry-pick FETCH_HEAD From http://review.omapzoom.org/p/device/ti/pandaboard * branch refs/changes/12/13612/1 -> FETCH_HEAD [detached HEAD 90a92dd] panda: Device Directory for PandaBoard Author: Omar Barron <o-barron@ti.com> 13 files changed, 9669 insertions(+), 9291 deletions(-) create mode 100644 apns.xml mode change 100644 => 100755 boot/u-boot.bin rewrite boot/zImage (68%) mode change 100644 => 100755 create mode 100644 env.txt create mode 100644 full_pandaboard.mk create mode 100644 media_profiles.xml create mode 100644 vold.fstab kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/device/ti/pandaboard$ cd ../../..
キーボードとマウス対応を追加する
frameworks/baseのリポジトリにrowboatを加えて、そこからcherry-pickでパッチを取得。
[detached HEAD 6a29312] Gingerbread mouse cursor patch
[detached HEAD 5e5aa89] Fix Mouse cursor build failure
の2つ。
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ cd frameworks/base kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/frameworks/base$ git remote add rowboat git://gitorious.org/rowboat/frameworks-base.git kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/frameworks/base$ git fetch rowboat remote: Counting objects: 11011, done. remote: Compressing objects: 100% (2918/2918), done. remote: Total 8169 (delta 5141), reused 7320 (delta 4479) Receiving objects: 100% (8169/8169), 12.84 MiB | 150 KiB/s, done. Resolving deltas: 100% (5141/5141), completed with 743 local objects. From git://gitorious.org/rowboat/frameworks-base * [new branch] master -> rowboat/master * [new branch] rowboat-eclair -> rowboat/rowboat-eclair * [new branch] rowboat-eclair-dsp -> rowboat/rowboat-eclair-dsp * [new branch] rowboat-froyo -> rowboat/rowboat-froyo * [new branch] rowboat-froyo-dsp -> rowboat/rowboat-froyo-dsp * [new branch] rowboat-gingerbread -> rowboat/rowboat-gingerbread * [new branch] rowboat-gingerbread-dsp -> rowboat/rowboat-gingerbread-dsp * [new branch] rowboat-gingerbread-ti81xx-mc-dsp -> rowboat/rowboat-gingerbread-ti81xx-mc-dsp kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/frameworks/base$ git cherry-pick 17128d44ab04c5b7cb2911e8b1c9f837aa9b36a5 [detached HEAD 6a29312] Gingerbread mouse cursor patch Author: Amit Pundir <amitpundir@ti.com> 9 files changed, 399 insertions(+), 9 deletions(-) kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/frameworks/base$ git cherry-pick 174cb50436065dc092114d69fb40d5a7712e3ca0 [detached HEAD 5e5aa89] Fix Mouse cursor build failure Author: Syed Mohammed Khasim <khasim@beagleboard.org> 1 files changed, 2 insertions(+), 0 deletions(-) kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/frameworks/base$ cd ../..
オーディオ対応を追加する
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ cd hardware/ti/omap3/ kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ git fetch http://review.omapzoom.org/p/platform/hardware/ti/omap3 refs/changes/76/13276/5 remote: Counting objects: 329, done remote: Finding sources: 100% (6/6) Unpacking objects: 100% (6/6), done. From http://review.omapzoom.org/p/platform/hardware/ti/omap3 * branch refs/changes/76/13276/5 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ git cherry-pick FETCH_HEAD [detached HEAD 38509f7] add panda support using new alsa_panda source file Author: Chris Kelly <c-kelly@ti.com> 2 files changed, 762 insertions(+), 2 deletions(-) create mode 100644 modules/alsa/alsa_panda.cpp kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ cd ../../../
ALSA関連に手パッチ。
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ vi panda.patch diff --git a/modules/alsa/Android.mk b/modules/alsa/Android.mk index 31d4890..b2c1e6b 100644 --- a/modules/alsa/Android.mk +++ b/modules/alsa/Android.mk @@ -39,6 +39,7 @@ ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true) endif ifeq ($(strip $(TARGET_BOARD_PLATFORM)), omap4) ifeq ($(strip $(TARGET_BOOTLOADER_BOARD_NAME)), pandaboard) + LOCAL_CFLAGS += -DOMAP4_PANDA LOCAL_SRC_FILES:= alsa_panda.cpp else LOCAL_SRC_FILES:= alsa_omap4.cpp diff --git a/modules/alsa/alsa_omap4.h b/modules/alsa/alsa_omap4.h index cde2a3e..40bb63f 100644 --- a/modules/alsa/alsa_omap4.h +++ b/modules/alsa/alsa_omap4.h @@ -26,12 +26,18 @@ #endif // alsa devices +#ifdef OMAP4_PANDA +#define MM_DEFAULT_DEVICE "plughw:0,4" +#define MM_LP_DEVICE "hw:0,4" +#define HDMI_DEVICE "plughw:0,6" +#else #define MM_DEFAULT_DEVICE "plughw:0,0" #define BLUETOOTH_SCO_DEVICE "plughw:0,0" #define FM_TRANSMIT_DEVICE "plughw:0,0" #define FM_CAPTURE_DEVICE "plughw:0,1" #define MM_LP_DEVICE "hw:0,6" #define HDMI_DEVICE "plughw:0,7" +#endif // omap4 outputs/inputs #define OMAP4_OUT_SCO (\ ||< テストして、適用する。 >|| kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ git apply --check panda.patch kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ git apply panda.patch
なんにも反応ないので、確認しておく。
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ git diff diff --git a/modules/alsa/Android.mk b/modules/alsa/Android.mk index 31d4890..b2c1e6b 100644 --- a/modules/alsa/Android.mk +++ b/modules/alsa/Android.mk @@ -39,6 +39,7 @@ ifeq ($(strip $(BOARD_USES_ALSA_AUDIO)),true) endif ifeq ($(strip $(TARGET_BOARD_PLATFORM)), omap4) ifeq ($(strip $(TARGET_BOOTLOADER_BOARD_NAME)), pandaboard) + LOCAL_CFLAGS += -DOMAP4_PANDA LOCAL_SRC_FILES:= alsa_panda.cpp else LOCAL_SRC_FILES:= alsa_omap4.cpp diff --git a/modules/alsa/alsa_omap4.h b/modules/alsa/alsa_omap4.h index cde2a3e..40bb63f 100644 --- a/modules/alsa/alsa_omap4.h +++ b/modules/alsa/alsa_omap4.h @@ -26,12 +26,18 @@ #endif // alsa devices +#ifdef OMAP4_PANDA +#define MM_DEFAULT_DEVICE "plughw:0,4" +#define MM_LP_DEVICE "hw:0,4" +#define HDMI_DEVICE "plughw:0,6" +#else #define MM_DEFAULT_DEVICE "plughw:0,0" #define BLUETOOTH_SCO_DEVICE "plughw:0,0" #define FM_TRANSMIT_DEVICE "plughw:0,0" #define FM_CAPTURE_DEVICE "plughw:0,1" #define MM_LP_DEVICE "hw:0,6" #define HDMI_DEVICE "plughw:0,7" +#endif // omap4 outputs/inputs #define OMAP4_OUT_SCO (\
問題なく当たっている。
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/hardware/ti/omap3$ cd ../../..
無線LAN対応を追加する
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ cd .. kinneko@BuildSV:~/panda/L27.12.1-P2$ git clone git://git.omapzoom.org/platform/hardware/ti/wlan.git Cloning into wlan... remote: Counting objects: 4873, done. remote: Compressing objects: 100% (1618/1618), done. remote: Total 4873 (delta 3107), reused 4858 (delta 3101) Receiving objects: 100% (4873/4873), 5.15 MiB | 96 KiB/s, done. Resolving deltas: 100% (3107/3107), done. kinneko@BuildSV:~/panda/L27.12.1-P2$ cd wlan kinneko@BuildSV:~/panda/L27.12.1-P2/wlan$ git reset --hard 456971003aaa94a6b863b7a368aac8415ff32f8c HEAD is now at 4569710 WLAN - wl1283: remove iniactivity timer for releasing host kinneko@BuildSV:~/panda/L27.12.1-P2/wlan$ cd ../mydroid/
Google appsのクラッシュ対応パッチを追加する
これは一行なので手パッチで。
--- a/frameworks/base/libs/ui/InputReader.cpp +++ b/frameworks/base/libs/ui/InputReader.cpp @@ -426,7 +426,7 @@ { // acquire state lock AutoMutex _l(mStateLock); - int32_t touchScreenConfig = InputConfiguration::TOUCHSCREEN_NOTOUCH; + int32_t touchScreenConfig = InputConfiguration::TOUCHSCREEN_FINGER; int32_t keyboardConfig = InputConfiguration::KEYBOARD_NOKEYS; int32_t navigationConfig = InputConfiguration::NAVIGATION_NONAV; { // acquire device registry reader lock
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ vi frameworks/base/libs/ui/InputReader.cpp
確認。
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ cd frameworks/base/libs/ui kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/frameworks/base/libs/ui$ git diff diff --git a/libs/ui/InputReader.cpp b/libs/ui/InputReader.cpp index df0174a..30844c4 100644 --- a/libs/ui/InputReader.cpp +++ b/libs/ui/InputReader.cpp @@ -426,7 +426,7 @@ void InputReader::updateInputConfiguration() { { // acquire state lock AutoMutex _l(mStateLock); - int32_t touchScreenConfig = InputConfiguration::TOUCHSCREEN_NOTOUCH; + int32_t touchScreenConfig = InputConfiguration::TOUCHSCREEN_FINGER; int32_t keyboardConfig = InputConfiguration::KEYBOARD_NOKEYS; int32_t navigationConfig = InputConfiguration::NAVIGATION_NONAV; { // acquire device registry reader lock kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid/frameworks/base/libs/ui$ cd ../../../..
kernelとパッチのダウンロード
kinneko@BuildSV:~/panda/L27.12.1-P2/mydroid$ cd .. kinneko@BuildSV:~/panda/L27.12.1-P2$ git clone git://git.omapzoom.org/kernel/omap.git kernel/android-2.6.35 Cloning into kernel/android-2.6.35... remote: Counting objects: 2234872, done. remote: Compressing objects: 100% (346220/346220), done. remote: Total 2234872 (delta 1869097), reused 2233228 (delta 1867757) Receiving objects: 100% (2234872/2234872), 463.66 MiB | 75 KiB/s, done. Resolving deltas: 100% (1869097/1869097), done. kinneko@BuildSV:~/panda/L27.12.1-P2$ cd kernel/android-2.6.35/ kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git checkout ec895072ad0b686d2c130e5d80a3076a03042033 Checking out files: 100% (26639/26639), done. Note: checking out 'ec895072ad0b686d2c130e5d80a3076a03042033'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at ec89507... DSS HDMI: HACK for security-violation on HDMI forced suspend-resume
Audio fixes patch
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/01/13001/2 remote: Counting objects: 36099, done remote: Finding sources: 100% (15/15) Unpacking objects: 100% (15/15), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/01/13001/2 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD 8c3dfb7] ASoC: omap4panda: Add initial support Author: Misael Lopez Cruz <misael.lopez@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 4 files changed, 636 insertions(+), 5 deletions(-) create mode 100644 sound/soc/omap/omap4panda.c kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/02/13002/2 From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/02/13002/2 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD 89507785] ASoC: twl6040: Add auxiliary output support Author: Misael Lopez Cruz <misael.lopez@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 11 insertions(+), 0 deletions(-)
configで名前とか登録しろって言われるけど、気にしない。
EHCI fixes patch
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/17/13617/1 remote: Counting objects: 36095, done remote: Finding sources: 100% (6/6) Unpacking objects: 100% (6/6), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/17/13617/1 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD 72122fc] arm: omap4: pandaboard: turn on PHY reference clock at init Author: Anand Gadiyar <gadiyar@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 11 insertions(+), 0 deletions(-)
DSS patch
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/22/13722/2 remote: Counting objects: 36099, done remote: Finding sources: 100% (9/9) Unpacking objects: 100% (9/9), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/22/13722/2 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD 6276951] OMAP4: DSS: support framebuffers with alpha channel Author: Parasuraman Ramalingam <x0151836@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 5 files changed, 24 insertions(+), 6 deletions(-)
WLAN patches
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/02/12002/2 remote: Counting objects: 36054, done remote: Finding sources: 100% (7/7) Unpacking objects: 100% (7/7), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/02/12002/2 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD f2e2b29] OMAP4:WLAN: Add WLAN PowerEnable GPIO for Panda Author: Srinivas <x0145110@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 2 files changed, 9 insertions(+), 1 deletions(-)
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/03/12003/1 remote: Counting objects: 36060, done remote: Finding sources: 100% (13/13) Unpacking objects: 100% (13/13), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/03/12003/1 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD 2633759] CONFIG_WIFI_CONTROL_FUNC for MACH_OMAP4_PANDA Author: srinivas <x0145110@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 2 insertions(+), 2 deletions(-)
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/64/14064/1 remote: Counting objects: 36091, done remote: Finding sources: 100% (6/6) Unpacking objects: 100% (6/6), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/64/14064/1 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD 65e78f4] arch/arm/mach-omap2/board-omap4panda.c:Bluetooth platform changes Author: Abhijit <x0112741@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 19 insertions(+), 3 deletions(-)
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/67/14067/1 remote: Counting objects: 36091, done remote: Finding sources: 100% (6/6) Unpacking objects: 100% (6/6), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/67/14067/1 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD bffc894] arch/arm/mach-omap2/hsmmc.c:Change the clock speed for WL127x Author: Abhijit <x0112741@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 9 insertions(+), 1 deletions(-)
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/68/14068/1 remote: Counting objects: 36091, done remote: Finding sources: 100% (6/6) Unpacking objects: 100% (6/6), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/68/14068/1 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD e559b20] arch/arm/mach-omap2/board-omap4panda.c: Disable power saving for Panda+WL1271 Author: Abhijit <x0112741@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 1 insertions(+), 1 deletions(-)
update panda_defconfig
kernelのデフォルト設定を追加。
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/29/13029/3 From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/29/13029/3 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD 5ea00ef] panda: Enable ALSA OMAP4 drivers Author: Misael Lopez Cruz <misael.lopez@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 46 insertions(+), 3 deletions(-)
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git fetch http://review.omapzoom.org/p/kernel/omap refs/changes/61/13861/1 remote: Counting objects: 36119, done remote: Finding sources: 100% (6/6) Unpacking objects: 100% (6/6), done. From http://review.omapzoom.org/p/kernel/omap * branch refs/changes/61/13861/1 -> FETCH_HEAD kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ git cherry-pick FETCH_HEAD [detached HEAD d62271f] Update Pandaboard configuration for latest commits. Author: X0153562 <X0153562@ti.com> Committer: kinneko <kinneko@BuildSV.(none)> Your name and email address were configured automatically based on your username and hostname. Please check that they are accurate. You can suppress this message by setting them explicitly: git config --global user.name "Your Name" git config --global user.email you@example.com After doing this, you may fix the identity used for this commit with: git commit --amend --reset-author 1 files changed, 43 insertions(+), 4 deletions(-)
kinneko@BuildSV:~/panda/L27.12.1-P2/kernel/android-2.6.35$ cd ../.. kinneko@BuildSV:~/panda/L27.12.1-P2$
U-Bootソースコードの取得
kinneko@BuildSV:~/panda/L27.12.1-P2$ git clone git://git.omapzoom.org/repo/u-boot.git u-boot Cloning into u-boot... remote: Counting objects: 140804, done. remote: Compressing objects: 100% (25113/25113), done. remote: Total 140804 (delta 114454), reused 140766 (delta 114424) Receiving objects: 100% (140804/140804), 42.51 MiB | 210 KiB/s, done. Resolving deltas: 100% (114454/114454), done. kinneko@BuildSV:~/panda/L27.12.1-P2$ cd u-boot kinneko@BuildSV:~/panda/L27.12.1-P2/u-boot$ git checkout 601ff71c8d46b5e90e13613974a16d10f2006bb3 Note: checking out '601ff71c8d46b5e90e13613974a16d10f2006bb3'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 601ff71... omap4: blaze: blink led on fastboot entry kinneko@BuildSV:~/panda/L27.12.1-P2/u-boot$ cd .. kinneko@BuildSV:~/panda/L27.12.1-P2$
これ、fastboot patch入っているのかな?
ちょっと期待。
u-boot patch
BootDelayを追加し、正しいbootargsを設定するパッチ。
これは、今回は適用しない。
http://www.omappedia.com/images/e/e4/Uboot-bootargs.patch.gz
X-loaderソースコードの取得
kinneko@BuildSV:~/panda/L27.12.1-P2$ git clone git://git.omapzoom.org/repo/x-loader.git x-loader Cloning into x-loader... remote: Counting objects: 1676, done. remote: Compressing objects: 100% (422/422), done. remote: Total 1676 (delta 1245), reused 1650 (delta 1231) Receiving objects: 100% (1676/1676), 466.85 KiB | 81 KiB/s, done. Resolving deltas: 100% (1245/1245), done. kinneko@BuildSV:~/panda/L27.12.1-P2$ cd x-loader kinneko@BuildSV:~/panda/L27.12.1-P2/x-loader$ git checkout c8855fa6b85bd44073bd1b25dbffa99f02cbeeed Note: checking out 'c8855fa6b85bd44073bd1b25dbffa99f02cbeeed'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at c8855fa... OMAP4460: Add identification for OMAP4460 kinneko@BuildSV:~/panda/L27.12.1-P2/x-loader$ cd .. kinneko@BuildSV:~/panda/L27.12.1-P2$
ビルド環境の設定
kinneko@BuildSV:~/panda/L27.12.1-P2$ mkdir mydroid/logs kinneko@BuildSV:~/panda/L27.12.1-P2$ export JAVA_HOME=/usr/lib/jvm/java-6-sun kinneko@BuildSV:~/panda/L27.12.1-P2$ export CROSS_COMPILE=arm-none-linux-gnueabi- kinneko@BuildSV:~/panda/L27.12.1-P2$ pwd /home/kinneko/panda/L27.12.1-P2 kinneko@BuildSV:~/panda/L27.12.1-P2$ export PATH=/home/kinneko/panda/L27.12.1-P2/build_tools/arm-2010q1/bin:$PATH
うー、長い長い。
でも、まだビルド試したわけじゃないのよ...