aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Medhurst <jon.medhurst@linaro.org>2011-11-04 15:00:34 -0400
committerJon Medhurst <jon.medhurst@linaro.org>2011-11-04 15:03:12 -0400
commit197fbe0997ccd0a3b96025da2532cf456687028a (patch)
tree5cd7ec3c1b3f7cd099517c28ae9a568f6288dd4c
downloadvexpress-a9-master.tar.gz
Seed new Versatile Express device by copying device/linaro/snowball.gitHEADmaster
Signed-off-by: Jon Medhurst <jon.medhurst@linaro.org>
-rw-r--r--AndroidBoard.mk42
-rw-r--r--AndroidProducts.mk2
-rw-r--r--BoardConfig.mk56
-rw-r--r--Logitech_Logitech_USB_Keyboard.kcm64
-rw-r--r--Logitech_Logitech_USB_Keyboard.kl90
-rw-r--r--MLObin0 -> 22072 bytes
-rw-r--r--README.txt11
-rw-r--r--device.mk21
-rw-r--r--egl.cfg2
-rw-r--r--gpio-keys.kcm64
-rw-r--r--gpio-keys.kl1
-rw-r--r--init.rc433
-rwxr-xr-xinit.snowball.sh3
-rw-r--r--init.st-ericsson.rc117
-rw-r--r--initlogo.rlebin0 -> 27288 bytes
-rw-r--r--snowball.mk7
-rw-r--r--system.prop6
-rw-r--r--ueventd.st-ericsson.rc3
-rw-r--r--vendorsetup.sh1
-rw-r--r--vold.fstab15
20 files changed, 938 insertions, 0 deletions
diff --git a/AndroidBoard.mk b/AndroidBoard.mk
new file mode 100644
index 0000000..3f69a35
--- /dev/null
+++ b/AndroidBoard.mk
@@ -0,0 +1,42 @@
+LOCAL_PATH := $(call my-dir)
+
+file := $(TARGET_OUT_KEYLAYOUT)/gpio-keys.kl
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/gpio-keys.kl | $(ACP)
+ $(transform-prebuilt-to-target)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := gpio-keys.kcm
+LOCAL_MODULE_TAGS := optional
+include $(BUILD_KEY_CHAR_MAP)
+
+file := $(TARGET_OUT_KEYLAYOUT)/Logitech_Logitech_USB_Keyboard.kl
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/Logitech_Logitech_USB_Keyboard.kl | $(ACP)
+ $(transform-prebuilt-to-target)
+
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := Logitech_Logitech_USB_Keyboard.kcm
+LOCAL_MODULE_TAGS := optional
+include $(BUILD_KEY_CHAR_MAP)
+
+file := $(TARGET_ROOT_OUT)/init.rc
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/init.rc | $(ACP)
+ $(transform-prebuilt-to-target)
+
+file := $(TARGET_ROOT_OUT)/init.st-ericsson.rc
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/init.st-ericsson.rc | $(ACP)
+ $(transform-prebuilt-to-target)
+
+file := $(PRODUCT_OUT)/system/etc/init.snowball.sh
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/init.snowball.sh | $(ACP)
+ $(transform-prebuilt-to-target)
+
+file := $(TARGET_ROOT_OUT)/initlogo.rle
+ALL_PREBUILT += $(file)
+$(file) : $(LOCAL_PATH)/initlogo.rle | $(ACP)
+ $(transform-prebuilt-to-target)
+
diff --git a/AndroidProducts.mk b/AndroidProducts.mk
new file mode 100644
index 0000000..6adbfef
--- /dev/null
+++ b/AndroidProducts.mk
@@ -0,0 +1,2 @@
+PRODUCT_MAKEFILES := \
+ $(LOCAL_DIR)/snowball.mk
diff --git a/BoardConfig.mk b/BoardConfig.mk
new file mode 100644
index 0000000..dae661f
--- /dev/null
+++ b/BoardConfig.mk
@@ -0,0 +1,56 @@
+# config.mk
+#
+# Product-specific compile-time definitions.
+#
+
+TARGET_BOARD_PLATFORM := snowball
+TARGET_NO_BOOTLOADER := true # Uses u-boot instead
+TARGET_NO_KERNEL := false
+KERNEL_CONFIG := u8500_snowball_android_defconfig
+TARGET_USE_UBOOT := true
+UBOOT_CONFIG := u8500_snowball_config
+TARGET_USE_XLOADER := false
+TARGET_NO_RECOVERY := true
+TARGET_NO_RADIOIMAGE := true
+TARGET_PROVIDES_INIT_RC := true
+BOARD_USES_GENERIC_AUDIO := true
+BOARD_USES_ALSA_AUDIO := false
+OMAP_ENHANCEMENT := true
+HARDWARE_OMX := false
+USE_CAMERA_STUB := false
+
+BOARD_HAVE_BLUETOOTH := false
+BOARD_HAVE_BLUETOOTH_BCM := false
+
+TARGET_CPU_ABI := armeabi-v7a
+TARGET_CPU_ABI2 := armeabi
+
+ifdef HARDWARE_OMX
+OMX_VENDOR := ti
+OMX_VENDOR_INCLUDES := \
+ hardware/ti/omx/system/src/openmax_il/omx_core/inc \
+ hardware/ti/omx/image/src/openmax_il/jpeg_enc/inc
+OMX_VENDOR_WRAPPER := TI_OMX_Wrapper
+BOARD_OPENCORE_LIBRARIES := libOMX_Core
+BOARD_OPENCORE_FLAGS := -DHARDWARE_OMX=1
+endif
+
+ifdef OMAP_ENHANCEMENT
+COMMON_GLOBAL_CFLAGS += -DOMAP_ENHANCEMENT -DTARGET_OMAP4
+endif
+
+# Enable NEON feature
+TARGET_ARCH_VARIANT := armv7-a-neon
+ARCH_ARM_HAVE_TLS_REGISTER := true
+
+EXTRA_PACKAGE_MANAGEMENT := false
+
+TARGET_USERIMAGES_USE_EXT4 := true
+TARGET_USERIMAGES_SPARSE_EXT_DISABLED := true
+
+# bootargs
+BOARD_KERNEL_CMDLINE := omapdss.def_disp=hdmi consoleblank=0
+
+# Snowball uses a Nova A9500 -- Dual-Core Cortex A9
+TARGET_CPU_SMP := true
+TARGET_EXTRA_CFLAGS += -mtune=cortex-a9 -mcpu=cortex-a9
diff --git a/Logitech_Logitech_USB_Keyboard.kcm b/Logitech_Logitech_USB_Keyboard.kcm
new file mode 100644
index 0000000..8056364
--- /dev/null
+++ b/Logitech_Logitech_USB_Keyboard.kcm
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode display number base caps fn caps_fn
+
+A 'A' '2' 'a' 'A' '#' 0x00
+B 'B' '2' 'b' 'B' '<' 0x00
+C 'C' '2' 'c' 'C' '9' 0x00E7
+D 'D' '3' 'd' 'D' '5' 0x00
+E 'E' '3' 'e' 'E' '2' 0x0301
+F 'F' '3' 'f' 'F' '6' 0x00A5
+G 'G' '4' 'g' 'G' '-' '_'
+H 'H' '4' 'h' 'H' '[' '{'
+I 'I' '4' 'i' 'I' '$' 0x0302
+J 'J' '5' 'j' 'J' ']' '}'
+K 'K' '5' 'k' 'K' '"' '~'
+L 'L' '5' 'l' 'L' ''' '`'
+M 'M' '6' 'm' 'M' '!' 0x00
+N 'N' '6' 'n' 'N' '>' 0x0303
+O 'O' '6' 'o' 'O' '(' 0x00
+P 'P' '7' 'p' 'P' ')' 0x00
+Q 'Q' '7' 'q' 'Q' '*' 0x0300
+R 'R' '7' 'r' 'R' '3' 0x20AC
+S 'S' '7' 's' 'S' '4' 0x00DF
+T 'T' '8' 't' 'T' '+' 0x00A3
+U 'U' '8' 'u' 'U' '&' 0x0308
+V 'V' '8' 'v' 'V' '=' '^'
+W 'W' '9' 'w' 'W' '1' 0x00
+X 'X' '9' 'x' 'X' '8' 0xEF00
+Y 'Y' '9' 'y' 'Y' '%' 0x00A1
+Z 'Z' '9' 'z' 'Z' '7' 0x00
+
+# on pc keyboards
+COMMA ',' ',' ',' ';' ';' '|'
+PERIOD '.' '.' '.' ':' ':' 0x2026
+AT '@' '0' '@' '0' '0' 0x2022
+SLASH '/' '/' '/' '?' '?' '\'
+
+SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
+ENTER 0xa 0xa 0xa 0xa 0xa 0xa
+
+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/Logitech_Logitech_USB_Keyboard.kl b/Logitech_Logitech_USB_Keyboard.kl
new file mode 100644
index 0000000..fef2d92
--- /dev/null
+++ b/Logitech_Logitech_USB_Keyboard.kl
@@ -0,0 +1,90 @@
+key 399 GRAVE
+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 139 MENU WAKE_DROPPED
+key 59 MENU WAKE_DROPPED
+key 88 MENU WAKE_DROPPED
+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 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 CAMERA
+
+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 26 LEFT_BRACKET
+key 27 RIGHT_BRACKET
+key 43 BACKSLASH
+
+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 39 SEMICOLON
+key 40 APOSTROPHE
+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 53 SLASH
+key 28 ENTER
+
+key 56 ALT_LEFT
+key 100 ALT_RIGHT
+key 42 SHIFT_LEFT
+key 54 SHIFT_RIGHT
+key 15 TAB
+key 57 SPACE
+key 150 EXPLORER
+key 155 ENVELOPE
+
+key 12 MINUS
+key 13 EQUALS
+key 215 AT
+
+
diff --git a/MLO b/MLO
new file mode 100644
index 0000000..f8b99fc
--- /dev/null
+++ b/MLO
Binary files differ
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..0fd2438
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,11 @@
+Summary: Linaro Evaluation Build for Android
+
+Author: Linaro Limited
+
+Description:
+ In order to ensure that Software Components developed and improved work
+ well and really matter in a production like environment, Linaro Platform
+ Releases introduced a concept called "Evaluation Builds".
+
+ Evaluation Builds are images that can be installed on high volume member
+ boards supported by Linaro Platform and Landing Teams.
diff --git a/device.mk b/device.mk
new file mode 100644
index 0000000..237dc70
--- /dev/null
+++ b/device.mk
@@ -0,0 +1,21 @@
+# Copyright (C) 2011 Linaro Limited
+#
+# 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.
+
+PRODUCT_COPY_FILES := \
+ device/linaro/snowball/vold.fstab:system/etc/vold.fstab \
+ device/linaro/snowball/egl.cfg:system/lib/egl/egl.cfg
+
+PRODUCT_COPY_FILES += \
+ device/linaro/snowball/init.st-ericsson.rc:root/init.st-ericsson.rc \
+ device/linaro/snowball/ueventd.st-ericsson.rc:root/ueventd.st-ericsson.rc
diff --git a/egl.cfg b/egl.cfg
new file mode 100644
index 0000000..45af426
--- /dev/null
+++ b/egl.cfg
@@ -0,0 +1,2 @@
+0 0 android
+0 1 POWERVR_SGX540_120
diff --git a/gpio-keys.kcm b/gpio-keys.kcm
new file mode 100644
index 0000000..8056364
--- /dev/null
+++ b/gpio-keys.kcm
@@ -0,0 +1,64 @@
+[type=QWERTY]
+
+# keycode display number base caps fn caps_fn
+
+A 'A' '2' 'a' 'A' '#' 0x00
+B 'B' '2' 'b' 'B' '<' 0x00
+C 'C' '2' 'c' 'C' '9' 0x00E7
+D 'D' '3' 'd' 'D' '5' 0x00
+E 'E' '3' 'e' 'E' '2' 0x0301
+F 'F' '3' 'f' 'F' '6' 0x00A5
+G 'G' '4' 'g' 'G' '-' '_'
+H 'H' '4' 'h' 'H' '[' '{'
+I 'I' '4' 'i' 'I' '$' 0x0302
+J 'J' '5' 'j' 'J' ']' '}'
+K 'K' '5' 'k' 'K' '"' '~'
+L 'L' '5' 'l' 'L' ''' '`'
+M 'M' '6' 'm' 'M' '!' 0x00
+N 'N' '6' 'n' 'N' '>' 0x0303
+O 'O' '6' 'o' 'O' '(' 0x00
+P 'P' '7' 'p' 'P' ')' 0x00
+Q 'Q' '7' 'q' 'Q' '*' 0x0300
+R 'R' '7' 'r' 'R' '3' 0x20AC
+S 'S' '7' 's' 'S' '4' 0x00DF
+T 'T' '8' 't' 'T' '+' 0x00A3
+U 'U' '8' 'u' 'U' '&' 0x0308
+V 'V' '8' 'v' 'V' '=' '^'
+W 'W' '9' 'w' 'W' '1' 0x00
+X 'X' '9' 'x' 'X' '8' 0xEF00
+Y 'Y' '9' 'y' 'Y' '%' 0x00A1
+Z 'Z' '9' 'z' 'Z' '7' 0x00
+
+# on pc keyboards
+COMMA ',' ',' ',' ';' ';' '|'
+PERIOD '.' '.' '.' ':' ':' 0x2026
+AT '@' '0' '@' '0' '0' 0x2022
+SLASH '/' '/' '/' '?' '?' '\'
+
+SPACE 0x20 0x20 0x20 0x20 0xEF01 0xEF01
+ENTER 0xa 0xa 0xa 0xa 0xa 0xa
+
+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/gpio-keys.kl b/gpio-keys.kl
new file mode 100644
index 0000000..d19ab04
--- /dev/null
+++ b/gpio-keys.kl
@@ -0,0 +1 @@
+key 276 MENU WAKE
diff --git a/init.rc b/init.rc
new file mode 100644
index 0000000..2c5e7ba
--- /dev/null
+++ b/init.rc
@@ -0,0 +1,433 @@
+on early-init
+ start ueventd
+
+on init
+
+sysclktz 0
+
+loglevel 3
+
+# setup the global environment
+ export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
+ export LD_LIBRARY_PATH /vendor/lib:/system/lib
+ export ANDROID_BOOTLOGO 1
+ export ANDROID_ROOT /system
+ export ANDROID_ASSETS /system/app
+ export ANDROID_DATA /data
+ export EXTERNAL_STORAGE /mnt/sdcard
+ export ASEC_MOUNTPOINT /mnt/asec
+ export LOOP_MOUNTPOINT /mnt/obb
+ export BOOTCLASSPATH /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar
+
+# Backward compatibility
+ symlink /system/etc /etc
+ symlink /sys/kernel/debug /d
+
+# Right now vendor lives on the same filesystem as system,
+# but someday that may change.
+ symlink /system/vendor /vendor
+
+# create mountpoints
+ mkdir /mnt 0775 root system
+ mkdir /mnt/sdcard 0000 system system
+
+# Create cgroup mount point for cpu accounting
+ mkdir /acct
+ mount cgroup none /acct cpuacct
+ mkdir /acct/uid
+
+# Backwards Compat - XXX: Going away in G*
+ symlink /mnt/sdcard /sdcard
+
+ mkdir /system
+ mkdir /data 0771 system system
+ mkdir /cache 0770 system cache
+ mkdir /config 0500 root root
+
+ # Directory for putting things only root should see.
+ mkdir /mnt/secure 0700 root root
+
+ # Directory for staging bindmounts
+ mkdir /mnt/secure/staging 0700 root root
+
+ # Directory-target for where the secure container
+ # imagefile directory will be bind-mounted
+ mkdir /mnt/secure/asec 0700 root root
+
+ # Secure container public mount points.
+ mkdir /mnt/asec 0700 root system
+ mount tmpfs tmpfs /mnt/asec mode=0755,gid=1000
+
+ # Filesystem image public mount points.
+ mkdir /mnt/obb 0700 root system
+ mount tmpfs tmpfs /mnt/obb mode=0755,gid=1000
+
+ write /proc/sys/kernel/panic_on_oops 1
+ write /proc/sys/kernel/hung_task_timeout_secs 0
+ write /proc/cpu/alignment 4
+ write /proc/sys/kernel/sched_latency_ns 10000000
+ write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
+ write /proc/sys/kernel/sched_compat_yield 1
+ write /proc/sys/kernel/sched_child_runs_first 0
+
+# Create cgroup mount points for process groups
+ mkdir /dev/cpuctl
+ mount cgroup none /dev/cpuctl cpu
+ chown system system /dev/cpuctl
+ chown system system /dev/cpuctl/tasks
+ chmod 0777 /dev/cpuctl/tasks
+ write /dev/cpuctl/cpu.shares 1024
+
+ mkdir /dev/cpuctl/fg_boost
+ chown system system /dev/cpuctl/fg_boost/tasks
+ chmod 0777 /dev/cpuctl/fg_boost/tasks
+ write /dev/cpuctl/fg_boost/cpu.shares 1024
+
+ mkdir /dev/cpuctl/bg_non_interactive
+ chown system system /dev/cpuctl/bg_non_interactive/tasks
+ chmod 0777 /dev/cpuctl/bg_non_interactive/tasks
+ # 5.0 %
+ write /dev/cpuctl/bg_non_interactive/cpu.shares 52
+
+ # Set access for camera
+ chmod 0666 /dev/video0
+
+on fs
+# mount mmc partitions
+
+# ! Snowall Hack Alert !
+# The current 3.0 kernel has problems mounting the mmc card.
+# Disabling the emmc and allowing more time for the mmc
+# card to be probed seems to help. This should be reverted
+# back to 'mmcblk1pX' but for now, it yields a bootable system.
+
+ mount ext4 /dev/block/mmcblk0p2 /system ro
+ mount ext4 /dev/block/mmcblk0p3 /cache
+ mount ext4 /dev/block/mmcblk0p5 /data
+
+on post-fs
+ # once everything is setup, no need to modify /
+ mount rootfs rootfs / rw remount
+
+ # We chown/chmod /data again so because mount is run as root + defaults
+ chown system system /data
+ chmod 0771 /data
+
+ # Create dump dir and collect dumps.
+ # Do this before we mount cache so eventually we can use cache for
+ # storing dumps on platforms which do not have a dedicated dump partition.
+
+ mkdir /data/dontpanic
+ chown root log /data/dontpanic
+ chmod 0750 /data/dontpanic
+
+ # Collect apanic data, free resources and re-arm trigger
+ copy /proc/apanic_console /data/dontpanic/apanic_console
+ chown root log /data/dontpanic/apanic_console
+ chmod 0640 /data/dontpanic/apanic_console
+
+ copy /proc/apanic_threads /data/dontpanic/apanic_threads
+ chown root log /data/dontpanic/apanic_threads
+ chmod 0640 /data/dontpanic/apanic_threads
+
+ write /proc/apanic_console 1
+
+ # Same reason as /data above
+ chown system cache /cache
+ chmod 0770 /cache
+
+ # This may have been created by the recovery system with odd permissions
+ chown system cache /cache/recovery
+ chmod 0770 /cache/recovery
+
+ #change permissions on vmallocinfo so we can grab it from bugreports
+ chown root log /proc/vmallocinfo
+ chmod 0440 /proc/vmallocinfo
+
+ #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
+ chown root system /proc/kmsg
+ chmod 0440 /proc/kmsg
+ chown root system /proc/sysrq-trigger
+ chmod 0220 /proc/sysrq-trigger
+
+# create basic filesystem structure
+ mkdir /data/misc 01771 system misc
+ mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
+ mkdir /data/misc/bluetooth 0770 system system
+ mkdir /data/misc/keystore 0700 keystore keystore
+ mkdir /data/misc/vpn 0770 system system
+ mkdir /data/misc/systemkeys 0700 system system
+ mkdir /data/misc/vpn/profiles 0770 system system
+ # give system access to wpa_supplicant.conf for backup and restore
+ mkdir /data/misc/wifi 0770 wifi wifi
+ chmod 0770 /data/misc/wifi
+ chmod 0660 /data/misc/wifi/wpa_supplicant.conf
+ mkdir /data/local 0771 shell shell
+ mkdir /data/local/tmp 0771 shell shell
+ mkdir /data/data 0771 system system
+ mkdir /data/app-private 0771 system system
+ mkdir /data/app 0771 system system
+ mkdir /data/property 0700 root root
+
+ # Setup paths used for socket communication with the dhcp daemon(dhcpd)
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ chown dhcp dhcp /data/misc/dhcp
+
+ # create dalvik-cache and double-check the perms
+ mkdir /data/dalvik-cache 0771 system system
+ chown system system /data/dalvik-cache
+ chmod 0771 /data/dalvik-cache
+
+ # create the lost+found directories, so as to enforce our permissions
+ mkdir /data/lost+found 0770
+ mkdir /cache/lost+found 0770
+
+ # double check the perms, in case lost+found already exists, and set owner
+ chown root root /data/lost+found
+ chmod 0770 /data/lost+found
+ chown root root /cache/lost+found
+ chmod 0770 /cache/lost+found
+
+on boot
+# basic network init
+ ifup lo
+ hostname localhost
+ domainname localdomain
+
+# set RLIMIT_NICE to allow priorities from 19 to -20
+ setrlimit 13 40 40
+
+# Define the oom_adj values for the classes of processes that can be
+# killed by the kernel. These are used in ActivityManagerService.
+ setprop ro.FOREGROUND_APP_ADJ 0
+ setprop ro.VISIBLE_APP_ADJ 1
+ setprop ro.PERCEPTIBLE_APP_ADJ 2
+ setprop ro.HEAVY_WEIGHT_APP_ADJ 3
+ setprop ro.SECONDARY_SERVER_ADJ 4
+ setprop ro.BACKUP_APP_ADJ 5
+ setprop ro.HOME_APP_ADJ 6
+ setprop ro.HIDDEN_APP_MIN_ADJ 7
+ setprop ro.EMPTY_APP_ADJ 15
+
+# Define the memory thresholds at which the above process classes will
+# be killed. These numbers are in pages (4k).
+ setprop ro.FOREGROUND_APP_MEM 2048
+ setprop ro.VISIBLE_APP_MEM 3072
+ setprop ro.PERCEPTIBLE_APP_MEM 4096
+ setprop ro.HEAVY_WEIGHT_APP_MEM 4096
+ setprop ro.SECONDARY_SERVER_MEM 6144
+ setprop ro.BACKUP_APP_MEM 6144
+ setprop ro.HOME_APP_MEM 6144
+ setprop ro.HIDDEN_APP_MEM 7168
+ setprop ro.EMPTY_APP_MEM 8192
+
+# Write value must be consistent with the above properties.
+# Note that the driver only supports 6 slots, so we have combined some of
+# the classes into the same memory level; the associated processes of higher
+# classes will still be killed first.
+ write /sys/module/lowmemorykiller/parameters/adj 0,1,2,4,7,15
+
+ write /proc/sys/vm/overcommit_memory 1
+ write /proc/sys/vm/min_free_order_shift 4
+ write /sys/module/lowmemorykiller/parameters/minfree 2048,3072,4096,6144,7168,8192
+
+ #userspace configuration for adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/functions adb,acm
+ write /sys/class/android_usb/android0/f_acm/instances 2
+ write /sys/class/android_usb/android0/enable 1
+
+ # Set init its forked children's oom_adj.
+ write /proc/1/oom_adj -16
+
+ # Tweak background writeout
+ write /proc/sys/vm/dirty_expire_centisecs 200
+ write /proc/sys/vm/dirty_background_ratio 5
+
+ # Permissions for System Server and daemons.
+ chown radio system /sys/android_power/state
+ chown radio system /sys/android_power/request_state
+ chown radio system /sys/android_power/acquire_full_wake_lock
+ chown radio system /sys/android_power/acquire_partial_wake_lock
+ chown radio system /sys/android_power/release_wake_lock
+ chown radio system /sys/power/state
+ chown radio system /sys/power/wake_lock
+ chown radio system /sys/power/wake_unlock
+ chmod 0660 /sys/power/state
+ chmod 0660 /sys/power/wake_lock
+ chmod 0660 /sys/power/wake_unlock
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/class/leds/keyboard-backlight/brightness
+ chown system system /sys/class/leds/lcd-backlight/brightness
+ chown system system /sys/class/leds/button-backlight/brightness
+ chown system system /sys/class/leds/jogball-backlight/brightness
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/leds/red/brightness
+ chown system system /sys/class/leds/green/brightness
+ chown system system /sys/class/leds/blue/brightness
+ chown system system /sys/class/leds/red/device/grpfreq
+ chown system system /sys/class/leds/red/device/grppwm
+ chown system system /sys/class/leds/red/device/blink
+ chown system system /sys/class/timed_output/vibrator/enable
+ chown system system /sys/module/sco/parameters/disable_esco
+ chown system system /sys/kernel/ipv4/tcp_wmem_min
+ chown system system /sys/kernel/ipv4/tcp_wmem_def
+ chown system system /sys/kernel/ipv4/tcp_wmem_max
+ chown system system /sys/kernel/ipv4/tcp_rmem_min
+ chown system system /sys/kernel/ipv4/tcp_rmem_def
+ chown system system /sys/kernel/ipv4/tcp_rmem_max
+ chown root radio /proc/cmdline
+
+# Define TCP buffer sizes for various networks
+# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
+ setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.wifi 4095,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
+ setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
+ setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
+
+ class_start default
+
+## Daemon processes to be run by init.
+##
+service ueventd /sbin/ueventd
+ critical
+
+service console /system/bin/sh
+ console
+ #disabled
+ #user shell
+ group log
+
+#on property:ro.secure=0
+# start console
+
+# adbd is controlled by the persist.service.adb.enable system property
+service adbd /sbin/adbd
+ disabled
+
+# adbd on at boot in emulator
+on property:ro.kernel.qemu=1
+ start adbd
+
+on property:persist.service.adb.enable=1
+ start adbd
+
+on property:persist.service.adb.enable=0
+ stop adbd
+
+service dhcpcd_eth0 /system/bin/dhcpcd -dABKL
+ group dhcp
+ disabled
+ oneshot
+
+service servicemanager /system/bin/servicemanager
+ user system
+ critical
+ onrestart restart zygote
+ onrestart restart media
+
+service vold /system/bin/vold
+ socket vold stream 0660 root mount
+ ioprio be 2
+
+service netd /system/bin/netd
+ socket netd stream 0660 root system
+
+service debuggerd /system/bin/debuggerd
+
+service ril-daemon /system/bin/rild
+ socket rild stream 660 root radio
+ socket rild-debug stream 660 radio system
+ user root
+ group radio cache inet misc audio sdcard_rw
+
+service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
+ socket zygote stream 666
+ onrestart write /sys/android_power/request_state wake
+ onrestart write /sys/power/state on
+ onrestart restart media
+ onrestart restart netd
+
+service media /system/bin/mediaserver
+ user media
+ group system audio camera graphics inet net_bt net_bt_admin net_raw
+ ioprio rt 4
+
+service bootanim /system/bin/bootanimation
+ user graphics
+ group graphics
+ disabled
+ oneshot
+
+service dbus /system/bin/dbus-daemon --system --nofork
+ socket dbus stream 660 bluetooth bluetooth
+ user bluetooth
+ group bluetooth net_bt_admin
+
+service bluetoothd /system/bin/bluetoothd -n
+ socket bluetooth stream 660 bluetooth bluetooth
+ socket dbus_bluetooth stream 660 bluetooth bluetooth
+ # init.rc does not yet support applying capabilities, so run as root and
+ # let bluetoothd drop uid to bluetooth with the right linux capabilities
+ group bluetooth net_bt_admin misc
+ disabled
+
+service hfag /system/bin/sdptool add --channel=10 HFAG
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service hsag /system/bin/sdptool add --channel=11 HSAG
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service opush /system/bin/sdptool add --channel=12 OPUSH
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service pbap /system/bin/sdptool add --channel=19 PBAP
+ user bluetooth
+ group bluetooth net_bt_admin
+ disabled
+ oneshot
+
+service installd /system/bin/installd
+ socket installd stream 600 system system
+
+service flash_recovery /system/etc/install-recovery.sh
+ oneshot
+
+service racoon /system/bin/racoon
+ socket racoon stream 600 system system
+ # racoon will setuid to vpn after getting necessary resources.
+ group net_admin
+ disabled
+ oneshot
+
+service mtpd /system/bin/mtpd
+ socket mtpd stream 600 system system
+ user vpn
+ group vpn net_admin net_raw
+ disabled
+ oneshot
+
+service keystore /system/bin/keystore /data/misc/keystore
+ user keystore
+ group keystore
+ socket keystore stream 666
+
+service dumpstate /system/bin/dumpstate -s
+ socket dumpstate stream 0660 shell log
+ disabled
+ oneshot
diff --git a/init.snowball.sh b/init.snowball.sh
new file mode 100755
index 0000000..302d8bd
--- /dev/null
+++ b/init.snowball.sh
@@ -0,0 +1,3 @@
+#!/system/bin/sh
+
+setprop ro.runtime.device snowball
diff --git a/init.st-ericsson.rc b/init.st-ericsson.rc
new file mode 100644
index 0000000..dc54260
--- /dev/null
+++ b/init.st-ericsson.rc
@@ -0,0 +1,117 @@
+on init
+ # mount debugfs
+ mount debugfs /sys/kernel/debug /sys/kernel/debug
+
+# power management
+# Enable off mode by default
+ #write /sys/kernel/debug/pm_debug/enable_off_mode 1
+
+# Enable Smart Reflex in debugfs
+ write /sys/kernel/debug/pm_debug/smartreflex/sr_core/autocomp 1
+ write /sys/kernel/debug/pm_debug/smartreflex/sr_iva/autocomp 1
+ write /sys/kernel/debug/pm_debug/smartreflex/sr_mpu/autocomp 1
+
+on boot
+ # create dhcpcd dir
+ mkdir /data/misc/dhcp 0770 dhcp dhcp
+ chmod 0770 /data/misc/dhcp
+ chmod 0666 /dev/pvrsrvkm
+
+ # switch CPUfreq from performance to hotplug
+ #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor hotplug
+ #write /sys/devices/system/cpu/cpufreq/hotplug/down_threshold 30
+
+ #Give system ownership and permission to boost clock for specified timeout
+ #Note boost_timeout cannot be changed from application because of dynamic sysfs creation. It will have default value of 3 sec.
+ chown system system /sys/devices/system/cpu/cpu0/cpufreq/boost_cpufreq
+ chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/boost_cpufreq
+
+ # Boost the CPU for 60 sec for boot optimization
+ #write /sys/devices/system/cpu/cpufreq/hotplug/boost_timeout 60000000
+ #write /sys/devices/system/cpu/cpu0/cpufreq/boost_cpufreq 1
+
+ # change permissions for alsa nodes
+ chmod 0777 /dev/snd/pcmC0D0c
+ chmod 0777 /dev/snd/pcmC0D0p
+ chmod 0777 /dev/snd/controlC0
+ chmod 0777 /dev/snd/timer
+
+ #change permissions for alsa nodes for audio modem
+ chmod 0777 /dev/snd/pcmC0D5c
+ chmod 0777 /dev/snd/pcmC0D5p
+
+ #change permissions for alsa nodes for HDMI
+ chmod 777 /dev/snd/pcmC0D7p
+
+ # change permissions for Overlay
+ chown system system /dev/video1
+ chown system system /dev/video2
+ chown system system /dev/video3
+ # change permissions for overlay managers and display devices
+ chown system system /sys/devices/platform/omapdss/display0/enabled
+ chown system system /sys/devices/platform/omapdss/display1/enabled
+ chown system system /sys/devices/platform/omapdss/display2/enabled
+ chown system system /sys/devices/platform/omapdss/display3/enabled
+ chown system system /sys/devices/platform/omapdss/display0/name
+ chown system system /sys/devices/platform/omapdss/display1/name
+ chown system system /sys/devices/platform/omapdss/display2/name
+ chown system system /sys/devices/platform/omapdss/display3/name
+ chown system system /sys/devices/platform/omapdss/overlay0/manager
+ chown system system /sys/devices/platform/omapdss/overlay1/manager
+ chown system system /sys/devices/platform/omapdss/overlay2/manager
+ chown system system /sys/devices/platform/omapdss/overlay3/manager
+ chown system system /sys/devices/platform/omapdss/overlay0/zorder
+ chown system system /sys/devices/platform/omapdss/overlay1/zorder
+ chown system system /sys/devices/platform/omapdss/overlay2/zorder
+ chown system system /sys/devices/platform/omapdss/overlay3/zorder
+ # change permissions for manager tranparency parameters
+ chown system system /sys/devices/platform/omapdss/manager0/name
+ chown system system /sys/devices/platform/omapdss/manager0/display
+ chown system system /sys/devices/platform/omapdss/manager1/name
+ chown system system /sys/devices/platform/omapdss/manager1/display
+ chown system system /sys/devices/platform/omapdss/manager2/name
+ chown system system /sys/devices/platform/omapdss/manager2/display
+ chown system system /sys/devices/platform/omapdss/overlay0/enabled
+ chown system system /sys/devices/platform/omapdss/overlay1/enabled
+ chown system system /sys/devices/platform/omapdss/overlay2/enabled
+ chown system system /sys/devices/platform/omapdss/overlay3/enabled
+ # change permissions for display timings to get the resolutions
+ chown system system /sys/devices/platform/omapdss/display0/timings
+ chown system system /sys/devices/platform/omapdss/display1/timings
+ chown system system /sys/devices/platform/omapdss/display2/timings
+ chown system system /sys/devices/platform/omapdss/display3/timings
+ chown system system /sys/devices/platform/omapdss/display2/code
+ # change permissions for Tiler driver
+ chown media media /dev/tiler
+ chmod 0660 /dev/tiler
+ chmod 0660 /dev/dmm
+
+ # Revert the boost_timeout to the default value of 3 sec. Note this won't affect the prev boost
+ # request for boot time reduction
+ # write /sys/devices/system/cpu/cpufreq/hotplug/boost_timeout 3000000
+
+ # Enable hotplug detection for HDMI
+ # write /sys/devices/platform/omapdss/display2/hpd_enabled 1
+
+ chown system system /sys/class/graphics/fb0/overlays
+ chown system system /sys/class/graphics/fb0/fit_to_screen
+ chown system system /sys/class/graphics/fb1/overlays
+ chmod 0666 /dev/pvrsrvkm
+
+ insmod /system/modules/gator.ko
+
+# Initialize the SGX driver
+#service pvrsrvinit /system/bin/pvrsrvinit
+# user root
+# oneshot
+
+service faketsd /system/bin/faketsd
+ user bluetooth
+ group bluetooth
+ oneshot
+
+#userspace daemon needed for gator
+service gatord /system/bin/gatord
+ user root
+ oneshot
+
diff --git a/initlogo.rle b/initlogo.rle
new file mode 100644
index 0000000..9bf8bef
--- /dev/null
+++ b/initlogo.rle
Binary files differ
diff --git a/snowball.mk b/snowball.mk
new file mode 100644
index 0000000..4409224
--- /dev/null
+++ b/snowball.mk
@@ -0,0 +1,7 @@
+# The snowball product that is specialized for snowball.
+$(call inherit-product, device/linaro/common/common.mk)
+$(call inherit-product, device/linaro/snowball/device.mk)
+
+PRODUCT_BRAND := snowball
+PRODUCT_DEVICE := snowball
+PRODUCT_NAME := snowball
diff --git a/system.prop b/system.prop
new file mode 100644
index 0000000..91c3bcf
--- /dev/null
+++ b/system.prop
@@ -0,0 +1,6 @@
+#
+# system.prop
+#
+
+rild.libpath=/system/lib/libreference-ril.so
+rild.libargs=-d /dev/ttyUSB2
diff --git a/ueventd.st-ericsson.rc b/ueventd.st-ericsson.rc
new file mode 100644
index 0000000..5f1ccc5
--- /dev/null
+++ b/ueventd.st-ericsson.rc
@@ -0,0 +1,3 @@
+
+/dev/pvrsrvkm 0666 system system
+
diff --git a/vendorsetup.sh b/vendorsetup.sh
new file mode 100644
index 0000000..30c29e0
--- /dev/null
+++ b/vendorsetup.sh
@@ -0,0 +1 @@
+add_lunch_combo snowball-eng
diff --git a/vold.fstab b/vold.fstab
new file mode 100644
index 0000000..7215142
--- /dev/null
+++ b/vold.fstab
@@ -0,0 +1,15 @@
+## Vold 2.0 Generic fstab
+## - San Mehat (san@android.com)
+##
+
+#######################
+## Regular device mount
+##
+## Format: dev_mount <label> <mount_point> <part> <sysfs_path1...>
+## label - Label for the volume
+## mount_point - Where the volume will be mounted
+## part - Partition # (1 based), or 'auto' for first usable partition.
+## <sysfs_path> - List of sysfs paths to source devices
+######################
+
+dev_mount sdcard /mnt/sdcard 6 /devices/sdi0/mmc_host/mmc0/mmc0