summaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:28:42 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:28:42 -0800
commit88b607994a148f4af5bffee163e39ce8296750c6 (patch)
treefa249ff843e976cf034f2029437d3362a8396321 /target
parent05806d7af62e07c6225b2e7103a1b115ecf6c9ad (diff)
downloadbuild-88b607994a148f4af5bffee163e39ce8296750c6.zip
build-88b607994a148f4af5bffee163e39ce8296750c6.tar.gz
build-88b607994a148f4af5bffee163e39ce8296750c6.tar.bz2
auto import from //depot/cupcake/@135843
Diffstat (limited to 'target')
-rw-r--r--target/board/Android.mk54
-rw-r--r--target/board/emulator/AndroidBoard.mk10
-rw-r--r--target/board/emulator/BoardConfig.mk9
-rw-r--r--target/board/emulator/README.txt10
-rw-r--r--target/board/emulator/tuttle2.kcm66
-rw-r--r--target/board/emulator/tuttle2.kl74
-rw-r--r--target/board/generic/AndroidBoard.mk10
-rw-r--r--target/board/generic/BoardConfig.mk11
-rw-r--r--target/board/generic/README.txt9
-rw-r--r--target/board/generic/system.prop6
-rw-r--r--target/board/generic/tuttle2.kcm66
-rw-r--r--target/board/generic/tuttle2.kl74
-rw-r--r--target/board/sim/AndroidBoard.mk0
-rw-r--r--target/board/sim/BoardConfig.mk22
-rw-r--r--target/product/AndroidProducts.mk33
-rw-r--r--target/product/core.mk23
-rw-r--r--target/product/generic.mk26
-rwxr-xr-xtarget/product/generic_with_google.mk13
-rw-r--r--target/product/min_dev.mk19
-rw-r--r--target/product/sdk.mk29
-rw-r--r--target/product/security/README38
-rw-r--r--target/product/security/media.pk8bin0 -> 1216 bytes
-rw-r--r--target/product/security/media.x509.pem27
-rw-r--r--target/product/security/mkkey.sh15
-rw-r--r--target/product/security/platform.pk8bin0 -> 1216 bytes
-rw-r--r--target/product/security/platform.x509.pem27
-rw-r--r--target/product/security/shared.pk8bin0 -> 1218 bytes
-rw-r--r--target/product/security/shared.x509.pem27
-rw-r--r--target/product/security/testkey.pk8bin0 -> 1217 bytes
-rw-r--r--target/product/security/testkey.x509.pem27
-rw-r--r--target/product/sim.mk9
31 files changed, 734 insertions, 0 deletions
diff --git a/target/board/Android.mk b/target/board/Android.mk
new file mode 100644
index 0000000..64e3a74
--- /dev/null
+++ b/target/board/Android.mk
@@ -0,0 +1,54 @@
+#
+# Set up product-global definitions and include product-specific rules.
+#
+
+ifneq ($(strip $(TARGET_NO_BOOTLOADER)),true)
+ INSTALLED_BOOTLOADER_MODULE := $(PRODUCT_OUT)/bootloader
+ ifeq ($(strip $(TARGET_BOOTLOADER_IS_2ND)),true)
+ INSTALLED_2NDBOOTLOADER_TARGET := $(PRODUCT_OUT)/2ndbootloader
+ else
+ INSTALLED_2NDBOOTLOADER_TARGET :=
+ endif
+else
+ INSTALLED_BOOTLOADER_MODULE :=
+ INSTALLED_2NDBOOTLOADER_TARGET :=
+endif # TARGET_NO_BOOTLOADER
+
+ifneq ($(strip $(TARGET_NO_KERNEL)),true)
+ INSTALLED_KERNEL_TARGET := $(PRODUCT_OUT)/kernel
+else
+ INSTALLED_KERNEL_TARGET :=
+endif
+
+ifneq ($(strip $(TARGET_NO_RADIOIMAGE)),true)
+ INSTALLED_RADIOIMAGE_TARGET := $(PRODUCT_OUT)/radio.img
+else
+ INSTALLED_RADIOIMAGE_TARGET :=
+endif
+
+ifeq (,$(wildcard $(TARGET_DEVICE_DIR)/AndroidBoard.mk))
+ ifeq (,$(wildcard $(TARGET_DEVICE_DIR)/Android.mk))
+ $(error Missing "$(TARGET_DEVICE_DIR)/AndroidBoard.mk")
+ else
+ # TODO: Remove this check after people have had a chance to switch,
+ # after April 2009.
+ $(error Please rename "$(TARGET_DEVICE_DIR)/Android.mk" to "$(TARGET_DEVICE_DIR)/AndroidBoard.mk")
+ endif
+endif
+include $(TARGET_DEVICE_DIR)/AndroidBoard.mk
+
+# Generate a file that contains various information about the
+# device we're building for. This file is typically packaged up
+# with everything else.
+#
+# If the file "board-info.txt" appears in $(TARGET_DEVICE_DIR),
+# it will be appended to the output file.
+#
+INSTALLED_ANDROID_INFO_TXT_TARGET := $(PRODUCT_OUT)/android-info.txt
+board_info_txt := $(wildcard $(TARGET_DEVICE_DIR)/board-info.txt)
+$(INSTALLED_ANDROID_INFO_TXT_TARGET): $(board_info_txt)
+ $(call pretty,"Generated: ($@)")
+ $(hide) echo "board=$(TARGET_BOOTLOADER_BOARD_NAME)" > $@
+ifdef board_info_txt
+ $(hide) cat $< >> $@
+endif
diff --git a/target/board/emulator/AndroidBoard.mk b/target/board/emulator/AndroidBoard.mk
new file mode 100644
index 0000000..09badee
--- /dev/null
+++ b/target/board/emulator/AndroidBoard.mk
@@ -0,0 +1,10 @@
+LOCAL_PATH := $(call my-dir)
+
+file := $(TARGET_OUT_KEYLAYOUT)/tuttle2.kl
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/tuttle2.kl | $(ACP)
+ $(transform-prebuilt-to-target)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := tuttle2.kcm
+include $(BUILD_KEY_CHAR_MAP)
diff --git a/target/board/emulator/BoardConfig.mk b/target/board/emulator/BoardConfig.mk
new file mode 100644
index 0000000..784118a
--- /dev/null
+++ b/target/board/emulator/BoardConfig.mk
@@ -0,0 +1,9 @@
+# config.mk
+#
+# Product-specific compile-time definitions.
+#
+
+# The generic product target doesn't have any hardware-specific pieces.
+TARGET_NO_BOOTLOADER := true
+TARGET_NO_KERNEL := true
+HAVE_HTC_AUDIO_DRIVER := true
diff --git a/target/board/emulator/README.txt b/target/board/emulator/README.txt
new file mode 100644
index 0000000..6a1ec89
--- /dev/null
+++ b/target/board/emulator/README.txt
@@ -0,0 +1,10 @@
+The "emulator" product defines an almost non-hardware-specific target
+without a kernel or bootloader, except that it defines the
+HAVE_HTC_AUDIO_DRIVER constant, since that is what the emulator
+emulates currently.
+
+It can be used to build the entire user-level system, and
+will work with the emulator.
+
+It is not a product "base class"; no other products inherit
+from it or use it in any way.
diff --git a/target/board/emulator/tuttle2.kcm b/target/board/emulator/tuttle2.kcm
new file mode 100644
index 0000000..0a2dd8c
--- /dev/null
+++ b/target/board/emulator/tuttle2.kcm
@@ -0,0 +1,66 @@
+[type=QWERTY]
+
+# keycode display number base caps fn caps_fn
+
+A 'A' '%' 'a' 'A' '%' 0x00
+B 'B' '=' 'b' 'B' '=' 0x00
+C 'C' '8' 'c' 'C' '8' 0x00E7
+D 'D' '5' 'd' 'D' '5' 0x00
+E 'E' '2' 'e' 'E' '2' 0x0301
+F 'F' '6' 'f' 'F' '6' 0x00A5
+G 'G' '-' 'g' 'G' '-' '_'
+H 'H' '[' 'h' 'H' '[' '{'
+I 'I' '$' 'i' 'I' '$' 0x0302
+J 'J' ']' 'j' 'J' ']' '}'
+K 'K' '"' 'k' 'K' '"' '~'
+L 'L' ''' 'l' 'L' ''' '`'
+M 'M' '>' 'm' 'M' '>' 0x00
+N 'N' '<' 'n' 'N' '<' 0x0303
+O 'O' '(' 'o' 'O' '(' 0x00
+P 'P' ')' 'p' 'P' ')' 0x00
+Q 'Q' '*' 'q' 'Q' '*' 0x0300
+R 'R' '3' 'r' 'R' '3' 0x20AC
+S 'S' '4' 's' 'S' '4' 0x00DF
+T 'T' '+' 't' 'T' '+' 0x00A3
+U 'U' '&' 'u' 'U' '&' 0x0308
+V 'V' '9' 'v' 'V' '9' '^'
+W 'W' '1' 'w' 'W' '1' 0x00
+X 'X' '7' 'x' 'X' '7' 0xEF00
+Y 'Y' '!' 'y' 'Y' '!' 0x00A1
+Z 'Z' '#' 'z' 'Z' '#' 0x00
+
+COMMA ',' ',' ',' ';' ';' '|'
+PERIOD '.' '.' '.' ':' ':' 0x2026
+AT '@' '0' '@' '0' '0' 0x2022
+SLASH '/' '/' '/' '?' '?' '\'
+
+SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
+ENTER 0xa 0xa 0xa 0xa 0xa 0xa
+
+# on pc keyboards
+TAB 0x9 0x9 0x9 0x9 0x9 0x9
+0 '0' '0' '0' ')' ')' ')'
+1 '1' '1' '1' '!' '!' '!'
+2 '2' '2' '2' '@' '@' '@'
+3 '3' '3' '3' '#' '#' '#'
+4 '4' '4' '4' '$' '$' '$'
+5 '5' '5' '5' '%' '%' '%'
+6 '6' '6' '6' '^' '^' '^'
+7 '7' '7' '7' '&' '&' '&'
+8 '8' '8' '8' '*' '*' '*'
+9 '9' '9' '9' '(' '(' '('
+
+GRAVE '`' '`' '`' '~' '`' '~'
+MINUS '-' '-' '-' '_' '-' '_'
+EQUALS '=' '=' '=' '+' '=' '+'
+LEFT_BRACKET '[' '[' '[' '{' '[' '{'
+RIGHT_BRACKET ']' ']' ']' '}' ']' '}'
+BACKSLASH '\' '\' '\' '|' '\' '|'
+SEMICOLON ';' ';' ';' ':' ';' ':'
+APOSTROPHE ''' ''' ''' '"' ''' '"'
+STAR '*' '*' '*' '*' '*' '*'
+POUND '#' '#' '#' '#' '#' '#'
+PLUS '+' '+' '+' '+' '+' '+'
+
+
+
diff --git a/target/board/emulator/tuttle2.kl b/target/board/emulator/tuttle2.kl
new file mode 100644
index 0000000..a48a5ab
--- /dev/null
+++ b/target/board/emulator/tuttle2.kl
@@ -0,0 +1,74 @@
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
+key 158 BACK WAKE_DROPPED
+key 230 SOFT_RIGHT WAKE
+key 60 SOFT_RIGHT WAKE
+key 107 ENDCALL WAKE_DROPPED
+key 62 ENDCALL WAKE_DROPPED
+key 229 MENU WAKE_DROPPED
+key 59 MENU WAKE_DROPPED
+key 228 POUND
+key 227 STAR
+key 231 CALL WAKE_DROPPED
+key 61 CALL WAKE_DROPPED
+key 232 DPAD_CENTER WAKE_DROPPED
+key 108 DPAD_DOWN WAKE_DROPPED
+key 103 DPAD_UP WAKE_DROPPED
+key 102 HOME WAKE
+key 105 DPAD_LEFT WAKE_DROPPED
+key 106 DPAD_RIGHT WAKE_DROPPED
+key 115 VOLUME_UP
+key 114 VOLUME_DOWN
+key 116 POWER WAKE
+key 212 SLASH
+
+key 16 Q
+key 17 W
+key 18 E
+key 19 R
+key 20 T
+key 21 Y
+key 22 U
+key 23 I
+key 24 O
+key 25 P
+
+key 30 A
+key 31 S
+key 32 D
+key 33 F
+key 34 G
+key 35 H
+key 36 J
+key 37 K
+key 38 L
+key 14 DEL
+
+key 44 Z
+key 45 X
+key 46 C
+key 47 V
+key 48 B
+key 49 N
+key 50 M
+key 51 COMMA
+key 52 PERIOD
+key 28 ENTER
+
+key 56 ALT_LEFT
+key 42 SHIFT_LEFT
+key 215 AT
+key 57 SPACE
+key 53 SLASH
+key 127 SYM
+key 100 ALT_RIGHT
+
+key 399 GRAVE
diff --git a/target/board/generic/AndroidBoard.mk b/target/board/generic/AndroidBoard.mk
new file mode 100644
index 0000000..09badee
--- /dev/null
+++ b/target/board/generic/AndroidBoard.mk
@@ -0,0 +1,10 @@
+LOCAL_PATH := $(call my-dir)
+
+file := $(TARGET_OUT_KEYLAYOUT)/tuttle2.kl
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/tuttle2.kl | $(ACP)
+ $(transform-prebuilt-to-target)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := tuttle2.kcm
+include $(BUILD_KEY_CHAR_MAP)
diff --git a/target/board/generic/BoardConfig.mk b/target/board/generic/BoardConfig.mk
new file mode 100644
index 0000000..a874742
--- /dev/null
+++ b/target/board/generic/BoardConfig.mk
@@ -0,0 +1,11 @@
+# config.mk
+#
+# Product-specific compile-time definitions.
+#
+
+# The generic product target doesn't have any hardware-specific pieces.
+TARGET_NO_BOOTLOADER := true
+TARGET_NO_KERNEL := true
+TARGET_NO_RADIOIMAGE := true
+HAVE_HTC_AUDIO_DRIVER := true
+BOARD_USES_GENERIC_AUDIO := true
diff --git a/target/board/generic/README.txt b/target/board/generic/README.txt
new file mode 100644
index 0000000..ddac68e
--- /dev/null
+++ b/target/board/generic/README.txt
@@ -0,0 +1,9 @@
+The "generic" product defines a non-hardware-specific target
+without a kernel or bootloader.
+
+It can be used to build the entire user-level system, and
+will work with the emulator, though sound will not work
+(see the "emulator" product for that).
+
+It is not a product "base class"; no other products inherit
+from it or use it in any way.
diff --git a/target/board/generic/system.prop b/target/board/generic/system.prop
new file mode 100644
index 0000000..f2424c9
--- /dev/null
+++ b/target/board/generic/system.prop
@@ -0,0 +1,6 @@
+#
+# system.prop for generic sdk
+#
+
+rild.libpath=/system/lib/libreference-ril.so
+rild.libargs=-d /dev/ttyS0
diff --git a/target/board/generic/tuttle2.kcm b/target/board/generic/tuttle2.kcm
new file mode 100644
index 0000000..0a2dd8c
--- /dev/null
+++ b/target/board/generic/tuttle2.kcm
@@ -0,0 +1,66 @@
+[type=QWERTY]
+
+# keycode display number base caps fn caps_fn
+
+A 'A' '%' 'a' 'A' '%' 0x00
+B 'B' '=' 'b' 'B' '=' 0x00
+C 'C' '8' 'c' 'C' '8' 0x00E7
+D 'D' '5' 'd' 'D' '5' 0x00
+E 'E' '2' 'e' 'E' '2' 0x0301
+F 'F' '6' 'f' 'F' '6' 0x00A5
+G 'G' '-' 'g' 'G' '-' '_'
+H 'H' '[' 'h' 'H' '[' '{'
+I 'I' '$' 'i' 'I' '$' 0x0302
+J 'J' ']' 'j' 'J' ']' '}'
+K 'K' '"' 'k' 'K' '"' '~'
+L 'L' ''' 'l' 'L' ''' '`'
+M 'M' '>' 'm' 'M' '>' 0x00
+N 'N' '<' 'n' 'N' '<' 0x0303
+O 'O' '(' 'o' 'O' '(' 0x00
+P 'P' ')' 'p' 'P' ')' 0x00
+Q 'Q' '*' 'q' 'Q' '*' 0x0300
+R 'R' '3' 'r' 'R' '3' 0x20AC
+S 'S' '4' 's' 'S' '4' 0x00DF
+T 'T' '+' 't' 'T' '+' 0x00A3
+U 'U' '&' 'u' 'U' '&' 0x0308
+V 'V' '9' 'v' 'V' '9' '^'
+W 'W' '1' 'w' 'W' '1' 0x00
+X 'X' '7' 'x' 'X' '7' 0xEF00
+Y 'Y' '!' 'y' 'Y' '!' 0x00A1
+Z 'Z' '#' 'z' 'Z' '#' 0x00
+
+COMMA ',' ',' ',' ';' ';' '|'
+PERIOD '.' '.' '.' ':' ':' 0x2026
+AT '@' '0' '@' '0' '0' 0x2022
+SLASH '/' '/' '/' '?' '?' '\'
+
+SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
+ENTER 0xa 0xa 0xa 0xa 0xa 0xa
+
+# on pc keyboards
+TAB 0x9 0x9 0x9 0x9 0x9 0x9
+0 '0' '0' '0' ')' ')' ')'
+1 '1' '1' '1' '!' '!' '!'
+2 '2' '2' '2' '@' '@' '@'
+3 '3' '3' '3' '#' '#' '#'
+4 '4' '4' '4' '$' '$' '$'
+5 '5' '5' '5' '%' '%' '%'
+6 '6' '6' '6' '^' '^' '^'
+7 '7' '7' '7' '&' '&' '&'
+8 '8' '8' '8' '*' '*' '*'
+9 '9' '9' '9' '(' '(' '('
+
+GRAVE '`' '`' '`' '~' '`' '~'
+MINUS '-' '-' '-' '_' '-' '_'
+EQUALS '=' '=' '=' '+' '=' '+'
+LEFT_BRACKET '[' '[' '[' '{' '[' '{'
+RIGHT_BRACKET ']' ']' ']' '}' ']' '}'
+BACKSLASH '\' '\' '\' '|' '\' '|'
+SEMICOLON ';' ';' ';' ':' ';' ':'
+APOSTROPHE ''' ''' ''' '"' ''' '"'
+STAR '*' '*' '*' '*' '*' '*'
+POUND '#' '#' '#' '#' '#' '#'
+PLUS '+' '+' '+' '+' '+' '+'
+
+
+
diff --git a/target/board/generic/tuttle2.kl b/target/board/generic/tuttle2.kl
new file mode 100644
index 0000000..a78a6eb
--- /dev/null
+++ b/target/board/generic/tuttle2.kl
@@ -0,0 +1,74 @@
+key 2 1
+key 3 2
+key 4 3
+key 5 4
+key 6 5
+key 7 6
+key 8 7
+key 9 8
+key 10 9
+key 11 0
+key 158 BACK WAKE_DROPPED
+key 230 SOFT_RIGHT WAKE
+key 60 SOFT_RIGHT WAKE
+key 107 ENDCALL WAKE_DROPPED
+key 62 ENDCALL WAKE_DROPPED
+key 229 MENU WAKE_DROPPED
+key 59 MENU WAKE_DROPPED
+key 228 POUND
+key 227 STAR
+key 231 CALL WAKE_DROPPED
+key 61 CALL WAKE_DROPPED
+key 232 DPAD_CENTER WAKE_DROPPED
+key 108 DPAD_DOWN WAKE_DROPPED
+key 103 DPAD_UP WAKE_DROPPED
+key 102 HOME WAKE
+key 105 DPAD_LEFT WAKE_DROPPED
+key 106 DPAD_RIGHT WAKE_DROPPED
+key 115 VOLUME_UP
+key 114 VOLUME_DOWN
+key 116 POWER WAKE
+key 212 SLASH
+
+key 16 Q
+key 17 W
+key 18 E
+key 19 R
+key 20 T
+key 21 Y
+key 22 U
+key 23 I
+key 24 O
+key 25 P
+
+key 30 A
+key 31 S
+key 32 D
+key 33 F
+key 34 G
+key 35 H
+key 36 J
+key 37 K
+key 38 L
+key 14 DEL
+
+key 44 Z
+key 45 X
+key 46 C
+key 47 V
+key 48 B
+key 49 N
+key 50 M
+key 51 COMMA
+key 52 PERIOD
+key 28 ENTER
+
+key 56 ALT_LEFT
+key 42 SHIFT_LEFT
+key 215 AT
+key 57 SPACE
+key 53 SLASH
+key 127 SYM
+key 100 ALT_LEFT
+
+key 399 GRAVE
diff --git a/target/board/sim/AndroidBoard.mk b/target/board/sim/AndroidBoard.mk
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/target/board/sim/AndroidBoard.mk
diff --git a/target/board/sim/BoardConfig.mk b/target/board/sim/BoardConfig.mk
new file mode 100644
index 0000000..92679d9
--- /dev/null
+++ b/target/board/sim/BoardConfig.mk
@@ -0,0 +1,22 @@
+# config.mk
+#
+# Product-specific compile-time definitions.
+#
+
+# Don't try prelinking or compressing the shared libraries
+# used by the simulator. The host OS won't know what to do
+# with them, and they may not even be ELF files.
+#
+# These definitions override the defaults in config/config.make.
+TARGET_COMPRESS_MODULE_SYMBOLS := false
+TARGET_PRELINK_MODULE := false
+
+# Don't try to build a bootloader.
+TARGET_NO_BOOTLOADER := true
+
+# Don't bother with a kernel
+TARGET_NO_KERNEL := true
+
+#the simulator partially emulates the original HTC /dev/eac audio interface
+HAVE_HTC_AUDIO_DRIVER := true
+BOARD_USES_GENERIC_AUDIO := true
diff --git a/target/product/AndroidProducts.mk b/target/product/AndroidProducts.mk
new file mode 100644
index 0000000..1bf3c3f
--- /dev/null
+++ b/target/product/AndroidProducts.mk
@@ -0,0 +1,33 @@
+#
+# Copyright (C) 2008 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+#
+# This file should set PRODUCT_MAKEFILES to a list of product makefiles
+# to expose to the build system. LOCAL_DIR will already be set to
+# the directory containing this file.
+#
+# This file may not rely on the value of any variable other than
+# LOCAL_DIR; do not use any conditionals, and do not look up the
+# value of any variable that isn't set in this file or in a file that
+# it includes.
+#
+
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/generic.mk \
+ $(LOCAL_DIR)/min_dev.mk \
+ $(LOCAL_DIR)/sdk.mk \
+ $(LOCAL_DIR)/sim.mk \
+ $(LOCAL_DIR)/generic_with_google.mk
diff --git a/target/product/core.mk b/target/product/core.mk
new file mode 100644
index 0000000..117bb11
--- /dev/null
+++ b/target/product/core.mk
@@ -0,0 +1,23 @@
+PRODUCT_BRAND :=
+PRODUCT_NAME :=
+PRODUCT_DEVICE :=
+PRODUCT_POLICY := android.policy_phone
+PRODUCT_PROPERTY_OVERRIDES := \
+ ro.config.notification_sound=F1_New_SMS.ogg
+
+PRODUCT_PACKAGES := \
+ framework-res \
+ Browser \
+ Contacts \
+ Home \
+ HTMLViewer \
+ Phone \
+ ContactsProvider \
+ DownloadProvider \
+ GoogleSearch \
+ MediaProvider \
+ SettingsProvider \
+ TelephonyProvider \
+ UserDictionaryProvider \
+ PackageInstaller \
+ Bugreport
diff --git a/target/product/generic.mk b/target/product/generic.mk
new file mode 100644
index 0000000..b9bc070
--- /dev/null
+++ b/target/product/generic.mk
@@ -0,0 +1,26 @@
+# This is a generic product that isn't specialized for a specific device.
+# It includes the base Android platform. If you need Google-specific features,
+# you should derive from generic_with_google.mk
+
+PRODUCT_PACKAGES := \
+ AlarmClock \
+ AlarmProvider \
+ Calendar \
+ Camera \
+ DrmProvider \
+ LatinIME \
+ Mms \
+ Music \
+ Settings \
+ Sync \
+ Updater \
+ CalendarProvider \
+ SubscribedFeedsProvider \
+ SyncProvider
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
+
+# Overrides
+PRODUCT_BRAND := generic
+PRODUCT_DEVICE := generic
+PRODUCT_NAME := generic
diff --git a/target/product/generic_with_google.mk b/target/product/generic_with_google.mk
new file mode 100755
index 0000000..af499b3
--- /dev/null
+++ b/target/product/generic_with_google.mk
@@ -0,0 +1,13 @@
+# This is a generic product that isn't specialized for a specific device.
+# It includes the base Android platform including some Google-specific features.
+# If you do not want to include Google specific features, you should derive
+# from generic.mk
+
+PRODUCT_PACKAGES := \
+ GoogleContactsProvider \
+ GoogleSubscribedFeedsProvider
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/generic.mk)
+
+# Overrides
+PRODUCT_NAME := generic_with_google
diff --git a/target/product/min_dev.mk b/target/product/min_dev.mk
new file mode 100644
index 0000000..7d0fbe6
--- /dev/null
+++ b/target/product/min_dev.mk
@@ -0,0 +1,19 @@
+
+PRODUCT_POLICY := android.policy_phone
+PRODUCT_PROPERTY_OVERRIDES := \
+ ro.config.notification_sound=F1_New_SMS.ogg
+PRODUCT_BRAND := generic
+PRODUCT_NAME := min_dev
+PRODUCT_DEVICE := generic
+
+PRODUCT_PACKAGES := \
+ DownloadProvider \
+ GoogleSearch \
+ MediaProvider \
+ SettingsProvider \
+ PackageInstaller \
+ Bugreport \
+ Launcher \
+ Settings \
+ sqlite3
+
diff --git a/target/product/sdk.mk b/target/product/sdk.mk
new file mode 100644
index 0000000..e8109e5
--- /dev/null
+++ b/target/product/sdk.mk
@@ -0,0 +1,29 @@
+PRODUCT_PROPERTY_OVERRIDES :=
+
+PRODUCT_PACKAGES := \
+ AlarmClock \
+ ApiDemos \
+ Camera \
+ Development \
+ DrmProvider \
+ Email \
+ Fallback \
+ GPSEnable \
+ Launcher \
+ Maps \
+ Music \
+ Mms \
+ Settings \
+ SdkSetup \
+ CustomLocale \
+ gpstest \
+ sqlite3 \
+ SoftKeyboard
+
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/core.mk)
+
+# Overrides
+PRODUCT_BRAND := generic
+PRODUCT_NAME := sdk
+PRODUCT_DEVICE := generic
diff --git a/target/product/security/README b/target/product/security/README
new file mode 100644
index 0000000..b92693d
--- /dev/null
+++ b/target/product/security/README
@@ -0,0 +1,38 @@
+The following commands were used to generate the test key pair:
+
+ openssl genrsa -3 -out testkey.pem 2048
+
+ openssl req -new -x509 -key testkey.pem -out testkey.x509.pem -days 10000 \
+ -subj '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
+
+ openssl pkcs8 -in testkey.pem -topk8 -outform DER -out testkey.pk8 -nocrypt
+
+Alternatively you can use the "mkkey.sh" command included in this directory.
+
+The following standard test keys are currently included:
+
+testkey -- a generic key for packages that do not otherwise specify a key.
+platform -- a test key for packages that are part of the core platform.
+shared -- a test key for things that are shared in the home/contacts process.
+media -- a test key for packages that are part of the media/download system.
+
+These test keys are used strictly in development, and should never be assumed
+to convey any sort of validity. When $BUILD_SECURE=true, the code should not
+honor these keys in any context.
+
+
+signing using the openssl commandline (for boot/system images)
+--------------------------------------------------------------
+
+1. convert pk8 format key to pem format
+ % openssl pkcs8 -inform DER -nocrypt -in testkey.pk8 -out testkey.pem
+
+2. create a signature using the pem format key
+ % openssl dgst -binary -sha1 -sign testkey.pem FILE > FILE.sig
+
+extracting public keys for embedding
+------------------------------------
+it's a Java tool
+but it generates C code
+take a look at commands/recovery/Android.mk
+you'll see it running $(HOST_OUT_JAVA_LIBRARIES)/dumpkey.jar \ No newline at end of file
diff --git a/target/product/security/media.pk8 b/target/product/security/media.pk8
new file mode 100644
index 0000000..a6db9ba
--- /dev/null
+++ b/target/product/security/media.pk8
Binary files differ
diff --git a/target/product/security/media.x509.pem b/target/product/security/media.x509.pem
new file mode 100644
index 0000000..98cd443
--- /dev/null
+++ b/target/product/security/media.x509.pem
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAPK5jmEjVyxOMA0GCSqGSIb3DQEBBAUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODA0MTUyMzQwNTdaFw0zNTA5MDEyMzQwNTdaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBAK4lDFoW75f8KGmsZRsyF8w2ug6GlkFo1YoE
+n0DOhYZxI6P/tPbZScM88to6BcI+rKpX2AOImxdZvPWefG8hiQriUIW37VaqYmwJ
+ie+czTY2LKDo0blgP9TYModnkmzMCQxot3Wuf/MJNMw2nvKFWiZn3wxmf9DHz12O
+umVYBnNzA7tiRybquu37cvB+16dqs8uaOBxLfc2AmxQNiR8AITvkAfWNagamHq3D
+qcLxxlZyhbCa4JNCpm+kIer5Ot91c6AowzHXBgGrOvfMhAM+znx3KjpbhrDb6dd3
+w6SKqYAe3O4ngVifRNnkETl5YAV2qZQQuoEJElna2YxsaP94S48CAQOjgfwwgfkw
+HQYDVR0OBBYEFMopPKqLwO0+VC7vQgWiv/K1fk11MIHJBgNVHSMEgcEwgb6AFMop
+PKqLwO0+VC7vQgWiv/K1fk11oYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAPK5jmEjVyxOMAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBAITelRbV5KhyF6c9qEhwSPUzc6X3
+M/OQ1hvfPMnlJRYlv8qnwxWcriddFyqa4eh21UWBJ6xUL2gpDdUQwAKdj1Hg7hVr
+e3tazbOUJBuOx4t05cQsXK+uFWyvW9GZojonUk2gct6743hGSlM2MLDk0P+34I7L
+cB+ttjecdEZ/bgDG7YiFlTgHkgOHVgB4csjjAHr0I6V6LKs6KChptkxLe9X8GH0K
+fiQVll1ark4Hpt91G0p16Xk8kYphK4HNC2KK7gFo3ETkexDTWTJghJ1q321yfcJE
+RMIh0/nsw2jK0HmZ8rgQW8HyDTjUEGbMFBHCV6lupDSfV0ZWVQfk6AIKGoE=
+-----END CERTIFICATE-----
diff --git a/target/product/security/mkkey.sh b/target/product/security/mkkey.sh
new file mode 100644
index 0000000..86744f6
--- /dev/null
+++ b/target/product/security/mkkey.sh
@@ -0,0 +1,15 @@
+if ["$1" == ""]; then
+ echo "Create a test certificate key."
+ echo "Usage: $0 NAME"
+ echo "Will generate NAME.pk8 and NAME.x509.pem"
+ echo " /C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com"
+ return
+fi
+
+openssl genrsa -3 -out $1.pem 2048
+
+openssl req -new -x509 -key $1.pem -out $1.x509.pem -days 10000 \
+ -subj '/C=US/ST=California/L=Mountain View/O=Android/OU=Android/CN=Android/emailAddress=android@android.com'
+
+openssl pkcs8 -in $1.pem -topk8 -outform DER -out $1.pk8 -nocrypt
+
diff --git a/target/product/security/platform.pk8 b/target/product/security/platform.pk8
new file mode 100644
index 0000000..e27a393
--- /dev/null
+++ b/target/product/security/platform.pk8
Binary files differ
diff --git a/target/product/security/platform.x509.pem b/target/product/security/platform.x509.pem
new file mode 100644
index 0000000..087f02e
--- /dev/null
+++ b/target/product/security/platform.x509.pem
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJALOZgIbQVs/6MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODA0MTUyMjQwNTBaFw0zNTA5MDEyMjQwNTBaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBAJx4BZKsDV04HN6qZezIpgBuNkgMbXIHsSAR
+vlCGOqvitV0Amt9xRtbyICKAx81Ne9smJDuKgGwms0sTdSOkkmgiSQTcAUk+fArP
+GgXIdPabA3tgMJ2QdNJCgOFrrSqHNDYZUer3KkgtCbIEsYdeEqyYwap3PWgAuer9
+5W1Yvtjo2hb5o2AJnDeoNKbf7be2tEoEngeiafzPLFSW8s821k35CjuNjzSjuqtM
+9TNxqydxmzulh1StDFP8FOHbRdUeI0+76TybpO35zlQmE1DsU1YHv2mi/0qgfbX3
+6iANCabBtJ4hQC+J7RGQiTqrWpGA8VLoL4WkV1PPX8GQccXuyCcCAQOjgfwwgfkw
+HQYDVR0OBBYEFE/koLPdnLop9x1yh8Tnw48ghsKZMIHJBgNVHSMEgcEwgb6AFE/k
+oLPdnLop9x1yh8Tnw48ghsKZoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJALOZgIbQVs/6MAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBAFclUbjZOh9z3g9tRp+G2tZwFAAp
+PIigzXzXeLc9r8wZf6t25iEuVsHHYc/EL9cz3lLFCuCIFM78CjtaGkNGBU2Cnx2C
+tCsgSL+ItdFJKe+F9g7dEtctVWV+IuPoXQTIMdYT0Zk4u4mCJH+jISVroS0dao+S
+6h2xw3Mxe6DAN/DRr/ZFrvIkl5+6bnoUvAJccbmBOM7z3fwFlhfPJIRc97QNY4L3
+J17XOElatuWTG5QhdlxJG3L7aOCA29tYwgKdNHyLMozkPvaosVUz7fvpib1qSN1L
+IC7alMarjdW4OZID2q4u1EYjLk/pvZYTlMYwDlE448/Shebk5INTjLixs1c=
+-----END CERTIFICATE-----
diff --git a/target/product/security/shared.pk8 b/target/product/security/shared.pk8
new file mode 100644
index 0000000..cf99acd
--- /dev/null
+++ b/target/product/security/shared.pk8
Binary files differ
diff --git a/target/product/security/shared.x509.pem b/target/product/security/shared.x509.pem
new file mode 100644
index 0000000..7f886a8
--- /dev/null
+++ b/target/product/security/shared.x509.pem
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAPKnM5a9OHZ6MA0GCSqGSIb3DQEBBAUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODA3MjMyMTU3NTlaFw0zNTEyMDkyMTU3NTlaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBAMjC2/0JSi30XD/xoy7SGAXscvxY0BeXG9D2
+tSwmLXCBnRkZZ+FY39Oix/Gz4OgM5UXXnShIIgIR64bw/YMS03tCDBE3UMyUYYro
+cvSIZGO9xGJ8qgwEg8hkk+NRVXEXAzi/3MTNat3RwKLzX1zyTtPkBDo+WOKwXmZM
+zeEry2dzX9bfEknDaeYlQrwKRynlORf1w4/6UtF7c8nHN5jdsY7UgVkIdVR+Zr/F
+2spMJabrlg7ZaSNwnaMCumRstJazJehsXIsuejN3srvkx88zJUKRFj9okVKsCIVQ
+yDxQj0v1rfCu1aLcoFg/mrCtF2UNt+6ksj/bRYhVR9D+q3IYOIkCAQOjgfwwgfkw
+HQYDVR0OBBYEFMtMfizbs/CtqY2reZaNFy6dux7RMIHJBgNVHSMEgcEwgb6AFMtM
+fizbs/CtqY2reZaNFy6dux7RoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAPKnM5a9OHZ6MAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEEBQADggEBAECo0JaZeVnpF6NsRCRra6wrrgVD
+fs2JeUEY94NHIDUtHG+KObCGmUL02mWYH6opUdM5cRKewZIdeVZxxSfW4knyUoKf
+r1tZExAxHi3gllANVorUEUplbcNKjG9hBFOvwep5ktukqns/hUOm41wHKN53/pfu
+rIN3H9DskPjkRJQ07gtgRXg+cMei5GAkkmDgA892CNw1Kkye9wbe9LJgUOl4ri//
+16MyN4cBSRXrPMh0/MeprpMId8XIx9HC4qjuhjyJGA0YVc7bpADnukPMyqckPTl+
+fA6Ojk19T5K2u+rUnAzwGAae3coufi+0Zo2J2715UNDNJUGA+h6q/CpVb4Q=
+-----END CERTIFICATE-----
diff --git a/target/product/security/testkey.pk8 b/target/product/security/testkey.pk8
new file mode 100644
index 0000000..586c1bd
--- /dev/null
+++ b/target/product/security/testkey.pk8
Binary files differ
diff --git a/target/product/security/testkey.x509.pem b/target/product/security/testkey.x509.pem
new file mode 100644
index 0000000..e242d83
--- /dev/null
+++ b/target/product/security/testkey.x509.pem
@@ -0,0 +1,27 @@
+-----BEGIN CERTIFICATE-----
+MIIEqDCCA5CgAwIBAgIJAJNurL4H8gHfMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
+VQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4g
+VmlldzEQMA4GA1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UE
+AxMHQW5kcm9pZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTAe
+Fw0wODAyMjkwMTMzNDZaFw0zNTA3MTcwMTMzNDZaMIGUMQswCQYDVQQGEwJVUzET
+MBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4G
+A1UEChMHQW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9p
+ZDEiMCAGCSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbTCCASAwDQYJKoZI
+hvcNAQEBBQADggENADCCAQgCggEBANaTGQTexgskse3HYuDZ2CU+Ps1s6x3i/waM
+qOi8qM1r03hupwqnbOYOuw+ZNVn/2T53qUPn6D1LZLjk/qLT5lbx4meoG7+yMLV4
+wgRDvkxyGLhG9SEVhvA4oU6Jwr44f46+z4/Kw9oe4zDJ6pPQp8PcSvNQIg1QCAcy
+4ICXF+5qBTNZ5qaU7Cyz8oSgpGbIepTYOzEJOmc3Li9kEsBubULxWBjf/gOBzAzU
+RNps3cO4JFgZSAGzJWQTT7/emMkod0jb9WdqVA2BVMi7yge54kdVMxHEa5r3b97s
+zI5p58ii0I54JiCUP5lyfTwE/nKZHZnfm644oLIXf6MdW2r+6R8CAQOjgfwwgfkw
+HQYDVR0OBBYEFEhZAFY9JyxGrhGGBaR0GawJyowRMIHJBgNVHSMEgcEwgb6AFEhZ
+AFY9JyxGrhGGBaR0GawJyowRoYGapIGXMIGUMQswCQYDVQQGEwJVUzETMBEGA1UE
+CBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNTW91bnRhaW4gVmlldzEQMA4GA1UEChMH
+QW5kcm9pZDEQMA4GA1UECxMHQW5kcm9pZDEQMA4GA1UEAxMHQW5kcm9pZDEiMCAG
+CSqGSIb3DQEJARYTYW5kcm9pZEBhbmRyb2lkLmNvbYIJAJNurL4H8gHfMAwGA1Ud
+EwQFMAMBAf8wDQYJKoZIhvcNAQEFBQADggEBAHqvlozrUMRBBVEY0NqrrwFbinZa
+J6cVosK0TyIUFf/azgMJWr+kLfcHCHJsIGnlw27drgQAvilFLAhLwn62oX6snb4Y
+LCBOsVMR9FXYJLZW2+TcIkCRLXWG/oiVHQGo/rWuWkJgU134NDEFJCJGjDbiLCpe
++ZTWHdcwauTJ9pUbo8EvHRkU3cYfGmLaLfgn9gP+pWA7LFQNvXwBnDa6sppCccEX
+31I828XzgXpJ4O+mDL1/dBd+ek8ZPUP0IgdyZm5MTYPhvVqGCHzzTy3sIeJFymwr
+sBbmg2OAUNLEMO6nwmocSdN2ClirfxqCzJOLSDE4QyS9BAH6EhY6UFcOaE0=
+-----END CERTIFICATE-----
diff --git a/target/product/sim.mk b/target/product/sim.mk
new file mode 100644
index 0000000..7b27495
--- /dev/null
+++ b/target/product/sim.mk
@@ -0,0 +1,9 @@
+PRODUCT_PACKAGES := \
+ IM
+
+$(call inherit-product, $(SRC_TARGET_DIR)/product/generic_with_google.mk)
+
+# Overrides
+PRODUCT_NAME := sim
+PRODUCT_DEVICE := sim
+PRODUCT_LOCALES := en_US