Hi Rupesh,
I went through the build process again:) Overall, I was able create a
working system; however, it wasn't perfect.
I was able to build the 2.6.25 kernel with no problems. I haven't
tried the 2.6.27 branch yet; however, I think I will have some time
tomorrow to try it out. I was also able to build Android (haven't
tried cupcake yet) with your patches; however, ALSA fails (See error
below). As a result, I had to remove that option from my
BoardConfig.mk. Note, I did apply the Alsa_sound.patch.
As I built the system, I took some notes. Below is list of changes
that you may want to integrate in your build instructions:
1. If one wants to cut-and-paste the patch commands, either the patch
files need to be re-named to match the text, or the text modified to
reflect the patch file names (i.e qwerty.kl.patch should be
Qwerty.patch)
2. May want to add
$ make
in the Compile Build
3. In the Alsa_sound section, you ask the user to apply the patches,
but give the incorrect Root Dir. I think you it may flow better if re-
work it a little:
1 - $ cd ~
2 - Clone alsa-lib from
$ git clone git://android.git.kernel.org/platform/external/alsa-lib.git
3 - Clone ALSA based libaudio
$ git clone git://android.git.kernel.org/platform/hardware/alsa_sound.git
4 - Apply following patches to build
Root DIR : alsa_sound
Media:alsa_sound.patch
$ patch -p1 < Alsa_sound.patch
5- Change directory to the root "Android_build"
$ cd Android_build
6 - Add ALSA audio support to the board config file
and comment our generic audio support.
$ vim Android_build/build/target/board/generic/
BoardConfig.mk
add BOARD_USES_ALSA_AUDIO := true
#BOARD_USES_GENERIC_AUDIO := true
7 - Copy ALSA support supporting code from steps 3
and 4 above
$cp -a ~/alsa-lib external
$cp -a ~/alsa_sound hardware
4. I think the instructions in the Ownership section are incorrect.
The following seem to work for me.
1. Do the following as either root or use sudo
$ cd ~/Android_rfs
$ chown -R root.root *
$ chmod -R 777 system/user/keychars
If I compile Andorid with ALSA support, I get the following error:
target arm C++: libaudio <= hardware/alsa_sound/AudioHardwareStub.cpp
hardware/alsa_sound/AudioHardwareStub.cpp: In member function 'virtual
android::AudioStreamOut* android::AudioHardwareStub::openOutputStream
(int, int, uint32_t, android::status_t*)':
hardware/alsa_sound/AudioHardwareStub.cpp:52: error: cannot allocate
an object of abstract type 'android::AudioStreamOutStub'
hardware/alsa_sound/AudioHardwareStub.h:30: note: because the
following virtual functions are pure within
'android::AudioStreamOutStub':
hardware/libhardware/include/hardware/AudioHardwareInterface.h:88:
note: virtual android::status_t android::AudioStreamOut::standby()
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/
libaudio_intermediates/AudioHardwareStub.o] Error 1
jayw@Rubicon:~/Android/beagleboard/mydroid$
I haven't tried to dig through the code to understand the problem, but
I thought this was fixed a while back. Do you have a fix?
Cheers,
Jay