2011年12月4日日曜日

Android メモ

solaさんところを参考に自分用にチューニング

★Javaとかの下準備
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos

 $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
 $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid-updates partner"
 $ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy main multiverse"
 $ sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu hardy-updates main multiverse"
 $ sudo apt-get update
 $ sudo apt-get install sun-java6-jdk
 $ sudo apt-get install sun-java5-jdk

※ちなみにlucidやhandyはubuntuのバージョン毎のコードネーム


★repoの下準備
 $ mkdir ~/bin
 $ vim .bashrc

最終行に以下を追記
  export PATH=$PATH:~/bin

 $ git clone git://android.git.linaro.org/tools/repo.git -b linaro-stable
 $ mv repo/repo ~/bin/
 $ rm -rf repo

 $ export ANDROID=/home/welder/android/ti_android_devkit/work
 $ mkdir -p $ANDROID


★repoでソースを持ってくる
 $ cd $ANDROID
 $ repo init -u git://gitorious.org/rowboat/manifest.git -m TI-Android-GingerBread-2.3.4-DevKit-2.1.xml
 $ repo sync
※異常終了することも多いのでちゃんと全部持ってこれるまで繰り返す。

★kernel/Android をビルド
 $ cd $ANDROID
 $ make TARGET_PRODUCT=beagleboard OMAPES=5.x -j8


★bootimage
※kernels 2.6.36 以上だと console=ttyO2にしないと詳細ログが表示されない。

$ mkdir image
$ cd image
$ vim boot.script
mmc init
fatload mmc 1 80200000 uImage
setenv bootargs 'console=ttyO2,115200n8 mpurate=1000 androidboot.console=ttyO2 buddy=none mem=512M vram=16M omapfb.vram=0:8M,1:4M,2:4M omapfb.mode=dvi:800x480MR-16@60 omapdss.def_disp=dvi root=/dev/mmcblk0p2 rw rootfstype=ext3 rootdelay=1 init=/init'
bootm 0x80200000

$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "BeagleBoard" -d boot.script boot.scr


★SDカードへコピーする下準備
 $ cd $ANDROID/out/target/product/beagleboard/
 $ mkdir android_rootfs
 $ cp -a root/* ./android_rootfs/
 $ cp -a system/* ./android_rootfs/system/

 ★rootfs の中身を SD へコピー。
 ※kernel(uImage)は、$ANDROID/kernel/arch/arm/boot/uImage に出来ている。

 $sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs android_rootfs.tar.bz2

 $sudo tar xjvf android_rootfs.tar.bz2 -C/media/rootfs


↑とりあえずここまでが基本。
USBキーボード&マウスを繋げば起動するはず。
ちなみにOMAPのバグの関係で速度の違うUSB機器を繋ぐ場合は、
USBハブ経由で繋がないとNG.
また我が家の環境では Logicool C270を繋ぐとハブ全体が認識しなくなる(原因不明)


↓以降は各自のチューニング項目

 ★menuconfig
 $ cd $ANDROID
 $ cd kernel
 $ make ARCH=arm CROSS_COMPILE=../prebuilt/linux-x86/toolchain/arm-eabi-4.4.3/bin/arm-eabi- menuconfig

Multimedia Support ->
 Video capture adapters ->
  V4L USB Device ->
   USB Video Class(UVC)
に<*>を入れる

Device Driver ->
 USB Support ->
  USB Serial Converter Supoirt ->
   USB CP210x
   USB FTDI
に[*]を入れる

いまのところなぜか接続するカメラによってはHUB自体が認識できなくなる。
UVCと認識してるカメラもうまく動かない・・・

HUBカーネルが2.6.37だとダメっぽいね。

0 件のコメント:

コメントを投稿