Hi
I want to learn more about android and porting it to a new device. I
have good understanding of linux rootfs, crosscompiling, kernel,
openembedded, and little bit on hardware. I have a beagleboard to
which i want to port android.
I know that many people have already ported android to this board. I
don't want to just compile and run on the board, I wanted to know
whats happening inside. So i started by looking here "http://
source.android.com/porting/index.html" and was able to build a rootfs
with alsa support, with the following settings in BoardConfig.mk
"TARGET_BOARD_PLATFORM := omap3
TARGET_CPU_ABI := armeabi
TARGET_ARCH_VARIANT := armv7-a
TARGET_NO_KERNEL := true
TARGET_NO_BOOTLOADER := true
BOARD_USES_ALSA_AUDIO := true
BUILD_WITH_ALSA_UTILS := true
USE_CAMERA_STUB := true"
and adding the following in source/.repo/local_manifest.xml
"<manifest>
<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>
"
I haven't yet tested this image yet. I hope it works with minimum
tweeks :).

Now coming to kernel porting, which has been very very confusing for
me :(. When I had a look at the git tree of android there are "kernel/
common.git and kernel/omap.git" branches. I am a little confused here,
is kernel/omap.git a omap kernel with android specific patches already
applied or just a mirror of omap kernel from somewhere?(if so from
where?).

Also i came to know about "git format-patch v2.6.*" command which
extracts the android patches applied to the standard v2.6.* kernel. So
i was thinking of extracting the complete set of patches applied to
the v2.6.32-rc8 using the below commands
$ git checkout -b android-2.6.32 origin/android-2.6.32  # now i am in
2.6.32
$ git format-patch v2.6.32-rc8
and then apply the android specific patches from these list to a
working 2.6.32 beagleboard kernel, but unfortunately there are about
1097 patches generated to filter :(. Is this the right way to do?

>From what i read,  the following is the minimal configuration required
to be enabled in kernel for starting up android
CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_LOW_MEMORY_KILLER=y
ANDROID_RAM_CONSOLE=y
CONFIG_ASHMEM=y
so I have to port only ashmem and android specific drivers to the
beagleboard-kernel, am i missing something?

Best Regards,
montamer

-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-porting

Reply via email to