bc9/bc9-android-sdk setup
[
Front page
] [
New
|
List of pages
|
Search
|
Recent changes
]
Start:
[[bc9]]
- Contents
#Contents
* Summary [#d59efb36]
>
This article shows how to set up an Android development e...
can be applicable to other versions of Android. The devel...
'''bc9-android-sdk?release20090801.vmx''' or build a deve...
with Linux environment in general. (Caution: the version ...
>
Some information listed here may similar to the informati...
an overview of the process. To seek farther detail inform...
* VMware [#w73ac41b]
>
The configuration of the VMware for bc9-android-sdk is sh...
- Version: VMware 6.5 compatible
- Disk Space: Virtual Disk 20G (the space is divided into...
- number of CPUs: 1
- Memory: 512 M
-- To increase the number of CPU and the size of memory, ...
virtual machine.
- Network: bridge network
- OS
-- Ubuntu 8.04.3 LTS (install 8.04.2 first, then update it)
-- The setting of Applications basically remains in defau...
--- symbolic link at '''/bin/sh changes form '''dash''' t...
sudo dpkg-reconfigure dash
--- Remove the games, such gnome-games and others.
sudo apt-get remove gnome-cards-data gnome-games gnome-g...
---ssh, htp, vim, lv, nautilus-open-terminal, adbe flash ...
--- vmware-tools have already been installed.
--- default resolution is set up for 1280x768.
--- By configuration of network, address is obtained by '...
--- user and password for the pre-build image are beat an...
* android (Android Open Source project) [#h2d982ca]
>
Please look at URL below for the information of '''repo''...
- http://source.android.com/download~
In this article, the branch used here is android-1.5r3.~
** Initialization [#q9c951d3]
>
Make a directory, which is called '''android-sdk-1.5r3, a...
$ cd ~/
$ mkdir android-sdk-1.5_r3
$ repo init -u git://android.git.kernel.org/platform/man...
** Adding information for extra source code [#k6a60e2f]
>
The original source code does not contain all requirement...
information for needed source code. After initializing ''...
'''local_manifest.xml''' allows downloading extra source ...
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel" name="kernel/common" revis...
<project path="external/alsa-lib" name="platform/...
<project path="hardware/alsa_sound" name="platform...
</manifest>
** Obtain source code [#h5641877]
>
After the configuration described above is completed, obt...
$ repo sync
** Modification of source files [#ke238926]
>
After '''repo sync''' is finished, modify obtained source...
- Add alsa
Change '''Android.mk''', which is located at '''android-s...
--- Android.mk.orig 2009-07-09 07:05:41.000000000 -0...
+++ Android.mk 2009-07-09 07:05:48.000000000 -0700
@@ -55,7 +55,7 @@
-fPIC -DPIC -D_POSIX_SOURCE \
-DALSA_CONFIG_DIR=\"/system/usr/share/alsa\" \
-DALSA_PLUGIN_DIR=\"/system/usr/lib/alsa-lib\" \
- -DALSA_DEVICE_DIRECTORY=\"/dev/snd/\"
+ -DALSA_DEVICE_DIRECTORY=\"/dev/\"
LOCAL_SRC_FILES := $(sort $(call all-c-files-under, src))
- Change the content of BoardConfig.mk
To use ALSA for audio hardware library, change the conten...
'''android-sdk-1.5r3/build/target/board/generic/BoardConf...
# config.mk
#
# Product-specific compile-time definitions.
#
# The generic product target doesn't have any hardware-s...
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_NO_RADIOIMAGE := true
HAVE_HTC_AUDIO_DRIVER := true
BOARD_USES_ALSA_AUDIO := true
#BOARD_USES_GENERIC_AUDIO := true ※ comment...
- Apply a patch on power management
$ cd android-sdk-1.5_r3
$ patch -p1 < ../dummy-battery.patch
Patch is available from [[here:http://labs.beatcraft.com/...
** Build [#t772bbd0]
>
The adjustment of source code is over. Now start building.~
$ cd android-sdk-1.5_r3
$ make
** OpenWnn [#kc3cbc93]
>
At the previous build, '''OpenWnn''' is not build. '''Op...
To prevent this happening, shift the branch of '''android...
$ cd android-sdk-1.5_r3/packages/inputmethods/OpenWnn
$ git checkout korg/cupcake-release
After shifting the branch, make software keyboard effecti...
$ vim android-sdk-1.5_r3/packages/inputmethods/OpenWnn/s...
At the line 843 ?Create the keyboard for landscape mode? ...
effective. After this modification is completed, add '''O...
$ cd abdroid-sdk-1.5_r3/build/
$ source envsetup.sh
$ cd abdroid-sdk-1.5_r3/packages/inputmethods/OpenWnn
$ mm
After executing these command lines, the lib files for Op...
'''android-sdk-1.5r3/out/target/product/generic/system/li...
** egg file [#xd9aedbb]
>
Change the name of the file from '''AudioPackage2.mk''' t...
$ cp AudioPackage2.mk Android.mk
$ cd android-sdk-1.5_r3/build/
$ source envsetup.sh
$ cd android-sdk-1.5_r3/frameworks/base/data/sounds
$ mm
The audio files are copied under the directory of '''andr...
* Creating rootfilesystem [#l5bd07ae]
>
As the build process of android has succeeded, place thes...
$ cd ~/
$ mkdir android-root
$ cp -a ~/android-sdk-1.5_r3/out/target/product/generic/...
$ cp -a ~/android-sdk-1.5_r3/out/target/product/generic/...
** Edit init.rc [#j433908f]
>
The extra code is added at '''android-root/init.rc''', an...
before '''on boot'''.
chmod 0666 /dev/bc9_leds
setprop alsa.mixer.playback.master Master
setprop alsa.mixer.capture.master Capture
setprop alsa.mixer.playback.earpiece Master
setprop alsa.mixer.capture.earpiece Capture
setprop alsa.mixer.playback.headset Master
setprop alsa.mixer.playback.speaker Master
chmod 0777 /dev/pcmC0D0c
chmod 0777 /dev/pcmC0D0p
chmod 0777 /dev/controlC0
chmod 0777 /dev/timer
chown root audio /dev/controlC
chown root audio /dev/pcmC0D0c
chown root audio /dev/pcmC0D0p
chown root audio /dev/timer
on boot
# basic network init
Also, put '''comment out''' (#) on the lines of code, whi...
** Modify default.prop [#o532128c]
>
The lines of code shown below are attached to the end of ...
net.eth0.dns1=208.66.222.222
net.dns1=208.67.222.222
** Create asound.state [#o243e27f]
>
Create '''asound.state''' and '''asound.conf''' in the di...
which is generated by alsamixer as OpenEmbedded is boote...
state.Gumstix {
control.1 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 4'
iface MIXER
name 'Tone Control - Bass'
value 0
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 2'
iface MIXER
name 'Tone Control - Treble'
value 0
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Headphone Playback Switch'
value true
}
control.4 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name De-emphasis
value false
}
control.5 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DC Filter'
value true
}
control.6 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Hi-pass Filter'
value true
}
control.7 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ADC Filter'
value true
}
control.8 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Playback Switch'
value true
}
control.9 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 63'
iface MIXER
name 'Master Playback Volume'
value.0 63
value.1 63
}
control.10 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 2
comment.item.0 Mic
comment.item.1 CD
comment.item.2 Video
comment.item.3 Aux
comment.item.4 Line
comment.item.5 Mix
comment.item.6 'Mix Mono'
comment.item.7 Phone
iface MIXER
name 'Capture Source'
value.0 Mic
value.1 Mic
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Capture Switch'
value true
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 15'
iface MIXER
name 'Capture Volume'
value.0 15
value.1 15
}
control.13 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Loudness (bass boost)'
value false
}
}
** Create asound.conf [#e688bb3e]
>
asound.conf is created from asound.state
>
ctl.AndroidPlayback {
type hw
card 0
}
ctl.AndroidRecord {
type hw
card 0
}
pcm.AndroidPlayback {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_normal {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Earpiece_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Bluetooth {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidRecord_Microphone {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
**Generate vold.conf [#z1c01e8a]
>
'''vold''' manages the mount of SD card. '''vold''' takes...
be created and placed at the directory shown below.
$ vi android-root/system/etc/vold.conf
This is how to write the configuration file.
## vold configuration file for bc9
volume_sdcard {
media_path /devices/platform/pxa2xx-mci.0/mmc_host...
media_type mmc
mount_point /sdcard
ums_path /devices/platform/usb_mass_storage/lun0
}
** Key assignment [#lfd21d4d]
>
bc9 does have three buttons. From the top, F1, F2, and F3...
MENU, and BACK buttons of Android, respectively.
>
'''qwerty.kl''' manages the key board of Android. Edit th...
This is how to change the file.
--- qwerty.kl-orig 2009-07-02 20:28:21.000000000 +0...
+++ qwerty.kl 2009-07-02 20:29:42.000000000 +0900
@@ -11,18 +11,18 @@ key 10 9
key 11 0
key 158 BACK WAKE_DROPPED
key 230 SOFT_RIGHT WAKE
-key 60 SOFT_RIGHT WAKE
+key 60 MENU WAKE
key 107 ENDCALL WAKE_DROPPED
key 62 ENDCALL WAKE_DROPPED
key 229 MENU WAKE_DROPPED
key 139 MENU WAKE_DROPPED
-key 59 MENU WAKE_DROPPED
+key 59 HOME WAKE
key 127 SEARCH WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED
key 228 POUND
key 227 STAR
key 231 CALL WAKE_DROPPED
-key 61 CALL WAKE_DROPPED
+key 61 BACK WAKE
key 232 DPAD_CENTER WAKE_DROPPED
key 108 DPAD_DOWN WAKE_DROPPED
key 103 DPAD_UP WAKE_DROPPED
* android-SDK [#k9317e7a]
>
Install Android 1.5 SDK, Release 3. For the details of in...
please visit at http://developer.android.com/sdk/android-...
After the installation is completed, ADB, emulator and ot...
*eclipse [#af385d9e]
>
Follow the instruction listed at [[Installing the Android...
* Linux kernel source [#m86ba4a0]
>
'''androi-2.6.29 kernel''' is used. Adding '''local_mani...
at the '''/home/beat/''', kernel is copied there. Then, t...
$ cd /home/beat/kernel_work/linux-android-2.6.29/
$ mv ../patch-kernel-2.6.29.4-bc9/patch-all.sh .
$ mv ../patch-kernel-2.6.29.4-bc9/*.patch .
$ ./patch-all.sh
After all 17 patches are installed, change the name of ke...
between before and after applying the patches.
$ mv linux-android-2.6.29 linux-android-2.6.29-bc9-r3
* cross toolchain [#hc8a4844]
>
The cross toolchain of '''gumstix-oe''' which is built wi...
At '''/home/beat/kernel_work/envsetup.sh''', make ARM cr...
kernel is completed.~
End:
[[bc9]]
- Contents
#Contents
* Summary [#d59efb36]
>
This article shows how to set up an Android development e...
can be applicable to other versions of Android. The devel...
'''bc9-android-sdk?release20090801.vmx''' or build a deve...
with Linux environment in general. (Caution: the version ...
>
Some information listed here may similar to the informati...
an overview of the process. To seek farther detail inform...
* VMware [#w73ac41b]
>
The configuration of the VMware for bc9-android-sdk is sh...
- Version: VMware 6.5 compatible
- Disk Space: Virtual Disk 20G (the space is divided into...
- number of CPUs: 1
- Memory: 512 M
-- To increase the number of CPU and the size of memory, ...
virtual machine.
- Network: bridge network
- OS
-- Ubuntu 8.04.3 LTS (install 8.04.2 first, then update it)
-- The setting of Applications basically remains in defau...
--- symbolic link at '''/bin/sh changes form '''dash''' t...
sudo dpkg-reconfigure dash
--- Remove the games, such gnome-games and others.
sudo apt-get remove gnome-cards-data gnome-games gnome-g...
---ssh, htp, vim, lv, nautilus-open-terminal, adbe flash ...
--- vmware-tools have already been installed.
--- default resolution is set up for 1280x768.
--- By configuration of network, address is obtained by '...
--- user and password for the pre-build image are beat an...
* android (Android Open Source project) [#h2d982ca]
>
Please look at URL below for the information of '''repo''...
- http://source.android.com/download~
In this article, the branch used here is android-1.5r3.~
** Initialization [#q9c951d3]
>
Make a directory, which is called '''android-sdk-1.5r3, a...
$ cd ~/
$ mkdir android-sdk-1.5_r3
$ repo init -u git://android.git.kernel.org/platform/man...
** Adding information for extra source code [#k6a60e2f]
>
The original source code does not contain all requirement...
information for needed source code. After initializing ''...
'''local_manifest.xml''' allows downloading extra source ...
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project path="kernel" name="kernel/common" revis...
<project path="external/alsa-lib" name="platform/...
<project path="hardware/alsa_sound" name="platform...
</manifest>
** Obtain source code [#h5641877]
>
After the configuration described above is completed, obt...
$ repo sync
** Modification of source files [#ke238926]
>
After '''repo sync''' is finished, modify obtained source...
- Add alsa
Change '''Android.mk''', which is located at '''android-s...
--- Android.mk.orig 2009-07-09 07:05:41.000000000 -0...
+++ Android.mk 2009-07-09 07:05:48.000000000 -0700
@@ -55,7 +55,7 @@
-fPIC -DPIC -D_POSIX_SOURCE \
-DALSA_CONFIG_DIR=\"/system/usr/share/alsa\" \
-DALSA_PLUGIN_DIR=\"/system/usr/lib/alsa-lib\" \
- -DALSA_DEVICE_DIRECTORY=\"/dev/snd/\"
+ -DALSA_DEVICE_DIRECTORY=\"/dev/\"
LOCAL_SRC_FILES := $(sort $(call all-c-files-under, src))
- Change the content of BoardConfig.mk
To use ALSA for audio hardware library, change the conten...
'''android-sdk-1.5r3/build/target/board/generic/BoardConf...
# config.mk
#
# Product-specific compile-time definitions.
#
# The generic product target doesn't have any hardware-s...
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
TARGET_NO_RADIOIMAGE := true
HAVE_HTC_AUDIO_DRIVER := true
BOARD_USES_ALSA_AUDIO := true
#BOARD_USES_GENERIC_AUDIO := true ※ comment...
- Apply a patch on power management
$ cd android-sdk-1.5_r3
$ patch -p1 < ../dummy-battery.patch
Patch is available from [[here:http://labs.beatcraft.com/...
** Build [#t772bbd0]
>
The adjustment of source code is over. Now start building.~
$ cd android-sdk-1.5_r3
$ make
** OpenWnn [#kc3cbc93]
>
At the previous build, '''OpenWnn''' is not build. '''Op...
To prevent this happening, shift the branch of '''android...
$ cd android-sdk-1.5_r3/packages/inputmethods/OpenWnn
$ git checkout korg/cupcake-release
After shifting the branch, make software keyboard effecti...
$ vim android-sdk-1.5_r3/packages/inputmethods/OpenWnn/s...
At the line 843 ?Create the keyboard for landscape mode? ...
effective. After this modification is completed, add '''O...
$ cd abdroid-sdk-1.5_r3/build/
$ source envsetup.sh
$ cd abdroid-sdk-1.5_r3/packages/inputmethods/OpenWnn
$ mm
After executing these command lines, the lib files for Op...
'''android-sdk-1.5r3/out/target/product/generic/system/li...
** egg file [#xd9aedbb]
>
Change the name of the file from '''AudioPackage2.mk''' t...
$ cp AudioPackage2.mk Android.mk
$ cd android-sdk-1.5_r3/build/
$ source envsetup.sh
$ cd android-sdk-1.5_r3/frameworks/base/data/sounds
$ mm
The audio files are copied under the directory of '''andr...
* Creating rootfilesystem [#l5bd07ae]
>
As the build process of android has succeeded, place thes...
$ cd ~/
$ mkdir android-root
$ cp -a ~/android-sdk-1.5_r3/out/target/product/generic/...
$ cp -a ~/android-sdk-1.5_r3/out/target/product/generic/...
** Edit init.rc [#j433908f]
>
The extra code is added at '''android-root/init.rc''', an...
before '''on boot'''.
chmod 0666 /dev/bc9_leds
setprop alsa.mixer.playback.master Master
setprop alsa.mixer.capture.master Capture
setprop alsa.mixer.playback.earpiece Master
setprop alsa.mixer.capture.earpiece Capture
setprop alsa.mixer.playback.headset Master
setprop alsa.mixer.playback.speaker Master
chmod 0777 /dev/pcmC0D0c
chmod 0777 /dev/pcmC0D0p
chmod 0777 /dev/controlC0
chmod 0777 /dev/timer
chown root audio /dev/controlC
chown root audio /dev/pcmC0D0c
chown root audio /dev/pcmC0D0p
chown root audio /dev/timer
on boot
# basic network init
Also, put '''comment out''' (#) on the lines of code, whi...
** Modify default.prop [#o532128c]
>
The lines of code shown below are attached to the end of ...
net.eth0.dns1=208.66.222.222
net.dns1=208.67.222.222
** Create asound.state [#o243e27f]
>
Create '''asound.state''' and '''asound.conf''' in the di...
which is generated by alsamixer as OpenEmbedded is boote...
state.Gumstix {
control.1 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 4'
iface MIXER
name 'Tone Control - Bass'
value 0
}
control.2 {
comment.access 'read write'
comment.type INTEGER
comment.count 1
comment.range '0 - 2'
iface MIXER
name 'Tone Control - Treble'
value 0
}
control.3 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Headphone Playback Switch'
value true
}
control.4 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name De-emphasis
value false
}
control.5 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'DC Filter'
value true
}
control.6 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Hi-pass Filter'
value true
}
control.7 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'ADC Filter'
value true
}
control.8 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Master Playback Switch'
value true
}
control.9 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 63'
iface MIXER
name 'Master Playback Volume'
value.0 63
value.1 63
}
control.10 {
comment.access 'read write'
comment.type ENUMERATED
comment.count 2
comment.item.0 Mic
comment.item.1 CD
comment.item.2 Video
comment.item.3 Aux
comment.item.4 Line
comment.item.5 Mix
comment.item.6 'Mix Mono'
comment.item.7 Phone
iface MIXER
name 'Capture Source'
value.0 Mic
value.1 Mic
}
control.11 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Capture Switch'
value true
}
control.12 {
comment.access 'read write'
comment.type INTEGER
comment.count 2
comment.range '0 - 15'
iface MIXER
name 'Capture Volume'
value.0 15
value.1 15
}
control.13 {
comment.access 'read write'
comment.type BOOLEAN
comment.count 1
iface MIXER
name 'Loudness (bass boost)'
value false
}
}
** Create asound.conf [#e688bb3e]
>
asound.conf is created from asound.state
>
ctl.AndroidPlayback {
type hw
card 0
}
ctl.AndroidRecord {
type hw
card 0
}
pcm.AndroidPlayback {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_normal {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Speaker_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Headset_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Earpiece_incall {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidPlayback_Bluetooth {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
pcm.AndroidRecord_Microphone {
type hooks
slave.pcm {
type hw
card 0
device 0
}
hooks.0 {
type ctl_elems
hook_args [
{ name 'Tone Control - Bass' value 0 }
{ name 'Tone Control - Treble' value 0 }
{ name 'Headphone Playback Switch' value true }
{ name 'De-emphasis' value false }
{ name 'DC Filter' value true }
{ name 'Hi-pass Filter' value true }
{ name 'ADC Filter' value true }
{ name 'Master Playback Switch' value true }
{ name 'Master Playback Volume' value [ 55 55 ] }
{ name 'Capture Source' value [ Mic Mic ] }
{ name 'Capture Switch' value true }
{ name 'Capture Volume' value [ 15 15 ] }
{ name 'Loudness (bass boost)' value false }
]
}
}
**Generate vold.conf [#z1c01e8a]
>
'''vold''' manages the mount of SD card. '''vold''' takes...
be created and placed at the directory shown below.
$ vi android-root/system/etc/vold.conf
This is how to write the configuration file.
## vold configuration file for bc9
volume_sdcard {
media_path /devices/platform/pxa2xx-mci.0/mmc_host...
media_type mmc
mount_point /sdcard
ums_path /devices/platform/usb_mass_storage/lun0
}
** Key assignment [#lfd21d4d]
>
bc9 does have three buttons. From the top, F1, F2, and F3...
MENU, and BACK buttons of Android, respectively.
>
'''qwerty.kl''' manages the key board of Android. Edit th...
This is how to change the file.
--- qwerty.kl-orig 2009-07-02 20:28:21.000000000 +0...
+++ qwerty.kl 2009-07-02 20:29:42.000000000 +0900
@@ -11,18 +11,18 @@ key 10 9
key 11 0
key 158 BACK WAKE_DROPPED
key 230 SOFT_RIGHT WAKE
-key 60 SOFT_RIGHT WAKE
+key 60 MENU WAKE
key 107 ENDCALL WAKE_DROPPED
key 62 ENDCALL WAKE_DROPPED
key 229 MENU WAKE_DROPPED
key 139 MENU WAKE_DROPPED
-key 59 MENU WAKE_DROPPED
+key 59 HOME WAKE
key 127 SEARCH WAKE_DROPPED
key 217 SEARCH WAKE_DROPPED
key 228 POUND
key 227 STAR
key 231 CALL WAKE_DROPPED
-key 61 CALL WAKE_DROPPED
+key 61 BACK WAKE
key 232 DPAD_CENTER WAKE_DROPPED
key 108 DPAD_DOWN WAKE_DROPPED
key 103 DPAD_UP WAKE_DROPPED
* android-SDK [#k9317e7a]
>
Install Android 1.5 SDK, Release 3. For the details of in...
please visit at http://developer.android.com/sdk/android-...
After the installation is completed, ADB, emulator and ot...
*eclipse [#af385d9e]
>
Follow the instruction listed at [[Installing the Android...
* Linux kernel source [#m86ba4a0]
>
'''androi-2.6.29 kernel''' is used. Adding '''local_mani...
at the '''/home/beat/''', kernel is copied there. Then, t...
$ cd /home/beat/kernel_work/linux-android-2.6.29/
$ mv ../patch-kernel-2.6.29.4-bc9/patch-all.sh .
$ mv ../patch-kernel-2.6.29.4-bc9/*.patch .
$ ./patch-all.sh
After all 17 patches are installed, change the name of ke...
between before and after applying the patches.
$ mv linux-android-2.6.29 linux-android-2.6.29-bc9-r3
* cross toolchain [#hc8a4844]
>
The cross toolchain of '''gumstix-oe''' which is built wi...
At '''/home/beat/kernel_work/envsetup.sh''', make ARM cr...
kernel is completed.~
Page: