Android Tutorial

7.11.2011

0. Preface

Last time, we mentioned
about the setting environment using Beagleboard Rev.B5 as a mainboard.

As well, we will write
how to set the environment of Rev. C2 because we have confirmed.

Members as follows:

  Brilliant Service Co., Ltd    http://www.brilliantservice.co.jp/
         Technical Div.
Ryota Kajitani, Yuma Yagi, Yutaka Kawahara, Yosuke Fujii

         IT Company X
                  Mr.S
Note.
**Beagleboard Rev.C2 is used as a mainboard.
       ** Using environment ubuntu8.10





1. Pre-condition
1.1 Setting of Android development environment.

-Linux environment
     Please refer to the following links:

    Note.
    uboot-mkimage should be installed.
    **ubuntu8.10 can be installed via synaptic manager.
  **For ubuntu8.04, via apt-get install uboot-mkimage.


1.2 Setting of using tools

-Installing GNU C & C++ Compilers

Using release is arm-2007q3-51. It can be installed via following link:
         http://www.codesourcery.com/sgpp/lite/arm/portal/subscription3057

Note.
For installing, TAR uncompress, using installer and other method are available for the users.
       When uncompress TAR, set the path where it will be installed yourself.
          (Write $PATH in ~/.bashrc file)




2. Get Android sources for Beagleboard
  2.1  Initializing repo
First, prepare for downloading basic Android source.
     Enter command in terminal window.

$ mkdir mydroid
$ cd mydoroid
~mydroid$ repo init -u git://android.git.kernel.org/platform/manifest.git
For above step, set for downloading the latest Android source into
mydroid.


2.2 Prepare for getting source
   When Android works on Beagleboard, you need to delete unnecessary
subproject from

Android repository and to download the project which is not included
in standard project.

Please use the setting file for Beagleboard Rev. C2 that we made.

A big difference from the setting file used for Rev. B5 is from
where omap kernel is obtained.

First, make local_manifest.xml in local_manifest.xml to get the sources except omap kernel.
    (*Please change the file name from local_manifest_rev_c2.xml to local_manifest.xml)
local_manifest.xml should be as per below

<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <remove-project name="kernel/common"/>
  <project path="external/alsa-lib" name="platform/external/alsa-lib"/>
  <project path="external/alsa-utils" name="platform/external/alsa-utils"/>
  <project path="hardware/alsa_sound" name="platform/hardware/alsa_sound"/>
</manifest>


2.3 Get source
  When 2.1 and 2.2 are done, preparation for downloading is finished.
Enter the command in terminal window.

~mydroid$ repo sync

When above command is executed, it will start to get source.
    If it may fail, try same command again.


2.4 Get OMAP kernel source
   omap kernel using for Beagleboard Rev. C2
will be obtained by using "git clone" command

$ cd mydroid
~mydroid$ git clone git://labs.embinux.org/repo/kernel.git

  Then, source will be switched to Android-2.6.29 branch.
~mydroid$ cd kernel
~mydroid/kernel$ git checkout -b kernel_android_2.6.29 origin/android-2.6.29

  Confirm if the branch is switched.

~mydroid/kernel$ git branch
   android-2.6.27
 * kernel_android_2.6.29

If kernel_android_2.6.29 has "*" , it is OK.
    Note.
git branch is a command to display the list of branch.
         If a branch has "*", it means that currently working.




3. Prepare for patch
3.1 Construction of Linux kernel environment
       As well as Rev. B5, on Beagleboard Rev. C2, we have succeeded to sound by using ALSA.


3.2.1 Add Build definition for Sound device.
      Please refer to the following URL, Ch. 3.2.1.


3.2.2 Making of kernel configuration
       We have made a kernel configuration file
which was added Android, ADB, ALSA and FrameBuffer functions enabled for Beagleboard Rev. C2.
       omap3_beagle_android_defconfig
should be saved in mydroid/kernel/arch/arm/configs.
(*Please note that the file name should be change from omap3_beagle_android_defconfig_rev_c2 to omap3_beagle_android_defconfig)


3.3 Construction of Android environment
   3.3.1 ALSA sound driver
Please refer to the following URL, Ch. 3.3.1.


3.3.2 Battery patch
Please refer to the following URL, Ch. 3.3.2.

3.3.3 USB EHCI file patch
To avoid build error, apply a patch to usb-ehci.c.
   diff file  usb-ehci.patch
Get a patch file from above link, and enter a command in terminal window

~mydroid$ cd kernel/arch/arm/mach-omap2
~mydroid/kernel/arch/arm/mach-omap2$patch < usb-ehci.patch

Source file after patch
    mydroid/kernel/arch/arm/mach-omap2/ usb-ehci.c



4. Build
   Please refer to the following URL, Ch. 4.



5. Making SD card for boot
Please refer to the following URL, Ch. 5.



6. ADB(debugger)
Please refer to the following URL, Ch. 6.




That's all.

Brilliant Service Co., Ltd
       Technical Div. Yosuke Fujii.
                   &
Technical translator. Shinjiro Ninomiya

No comments:

Post a Comment