# extra objcopy step to rename symbols causes the resulting binary to be misaligned
# and unloadable. Increasing the alignment adds an extra 3840 bytes in padding
# but switching to gold saves about 1M of space.
-LINKER_TEXT_BASE := 0xB0001000
+LINKER_TEXT_BASE := 0x70001000
endif
# The maximum size set aside for the linker, from
#define LIBLAST 0x70000000
#define LIBINC 0x00100000
#else
-#define LIBBASE 0x80000000
-#define LIBLAST 0x90000000
+#define LIBBASE 0x40000000
+#define LIBLAST 0x50000000
#define LIBINC 0x00100000
#endif
-# 0xC0000000 - 0xFFFFFFFF Kernel
-# 0xB0100000 - 0xBFFFFFFF Thread 0 Stack
-# 0xB0000000 - 0xB00FFFFF Linker
-# 0xA0000000 - 0xBFFFFFFF Prelinked System Libraries
-# 0x90000000 - 0x9FFFFFFF Prelinked App Libraries
-# 0x80000000 - 0x8FFFFFFF Non-prelinked Libraries
-# 0x40000000 - 0x7FFFFFFF mmap'd stuff
-# 0x10000000 - 0x3FFFFFFF Thread Stacks
+# 0x80000000 - 0xFFFFFFFF Kernel
+# 0x70100000 - 0x7FFFFFFF Thread 0 Stack
+# 0x70000000 - 0x700FFFFF Linker
+# 0x60000000 - 0x6FFFFFFF Prelinked System Libraries
+# 0x50000000 - 0x5FFFFFFF Prelinked App Libraries
+# 0x40000000 - 0x4FFFFFFF Non-prelinked Libraries
+# 0x2AAAAAAA - 0x3FFFFFFF mmap'd stuff
+# 0x10000000 - 0x2AAAAAA9 Thread Stacks
# 0x00000000 - 0x0FFFFFFF .text / .data / heap
# Note: The general rule is that libraries should be aligned on 1MB
#
# core system libraries
-libdl.so 0xAFF00000 # [<64K]
-libc.so 0xAFD00000 # [~2M]
-libstdc++.so 0xAFC00000 # [<64K]
-libm.so 0xAFB00000 # [~1M]
-liblog.so 0xAFA00000 # [<64K]
-libcutils.so 0xAF900000 # [~1M]
-libthread_db.so 0xAF800000 # [<64K]
-libz.so 0xAF700000 # [~1M]
-libevent.so 0xAF600000 # [???]
-libssl.so 0xAF400000 # [~2M]
-libcrypto.so 0xAF000000 # [~4M]
-libsysutils.so 0xAEF00000 # [~1M]
+libdl.so 0x6FF00000 # [<64K]
+libc.so 0x6FD00000 # [~2M]
+libstdc++.so 0x6FC00000 # [<64K]
+libm.so 0x6FB00000 # [~1M]
+liblog.so 0x6FA00000 # [<64K]
+libcutils.so 0x6F900000 # [~1M]
+libthread_db.so 0x6F800000 # [<64K]
+libz.so 0x6F700000 # [~1M]
+libevent.so 0x6F600000 # [???]
+libssl.so 0x6F400000 # [~2M]
+libcrypto.so 0x6F000000 # [~4M]
+libsysutils.so 0x6EF00000 # [~1M]
# bluetooth
-liba2dp.so 0xAEE00000 # [~1M]
-audio.so 0xAED00000 # [~1M]
-input.so 0xAEC00000 # [~1M]
-libbluetoothd.so 0xAEA00000 # [~2M]
-libbluedroid.so 0xAE900000 # [<64K]
-libbluetooth.so 0xAE800000 # [~1M]
-libdbus.so 0xAE700000 # [~1M]
+liba2dp.so 0x6EE00000 # [~1M]
+audio.so 0x6ED00000 # [~1M]
+input.so 0x6EC00000 # [~1M]
+libbluetoothd.so 0x6EA00000 # [~2M]
+libbluedroid.so 0x6E900000 # [<64K]
+libbluetooth.so 0x6E800000 # [~1M]
+libdbus.so 0x6E700000 # [~1M]
# extended system libraries
-libril.so 0xAE600000 # [~1M]
-libreference-ril.so 0xAE500000 # [~1M]
-libwpa_client.so 0xAE400000 # [<64K]
-libnetutils.so 0xAE300000 # [~1M]
+libril.so 0x6E600000 # [~1M]
+libreference-ril.so 0x6E500000 # [~1M]
+libwpa_client.so 0x6E400000 # [<64K]
+libnetutils.so 0x6E300000 # [~1M]
# core dalvik runtime support
-libandroid_servers.so 0xAE200000 # [~1M]
-libicuuc.so 0xADE00000 # [~4M]
-libicui18n.so 0xAD900000 # [~5M]
-libandroid_runtime.so 0xAD300000 # [~6M]
-libnativehelper.so 0xAD100000 # [~2M]
-libdvm-ARM.so 0xAD000000 # [???]
-libdvm.so 0xACA00000 # [~6M]
+libandroid_servers.so 0x6E200000 # [~1M]
+libicuuc.so 0x6DE00000 # [~4M]
+libicui18n.so 0x6D900000 # [~5M]
+libandroid_runtime.so 0x6D300000 # [~6M]
+libnativehelper.so 0x6D100000 # [~2M]
+libdvm-ARM.so 0x6D000000 # [???]
+libdvm.so 0x6CA00000 # [~6M]
# Note: libicudata.so intentionally omitted
# graphics
-libpixelflinger.so 0xAC900000 # [~1M]
+libpixelflinger.so 0x6C900000 # [~1M]
# libcorecg is for backward-compatibility with donut
-libcorecg.so 0xAC800000 # [???]
-libsurfaceflinger_client.so 0xAC700000 # [~1M]
-libsurfaceflinger.so 0xAC500000 # [~2M]
-libGLES_android.so 0xAC400000 # [~1M]
-libagl.so 0xAC300000 # [???]
-
-libGLESv1_CM.so 0xAC200000 # [~1M]
-libGLESv2.so 0xAC100000 # [~1M]
-libOpenVG_CM.so 0xAC000000 # [???]
-libOpenVGU_CM.so 0xABF00000 # [???]
-libEGL.so 0xABE00000 # [~1M]
-libETC1.so 0xABD00000 # [<64K]
-
-libacc.so 0xABC00000 # [~1M]
-
-libexif.so 0xABB00000 # [~1M]
-libcamera_client.so 0xABA80000 # [~1M]
-libui.so 0xAB900000 # [~1M]
-libgui.so 0xAB800000 # [~1M]
-libskia.so 0xAB100000 # [~2M]
-librs_jni.so 0xAB000000 # [~1M]
-libRS.so 0xA9E00000 # [~2M]
-libandroid.so 0xA9D80000 # [<64K]
-libjnigraphics.so 0xA9D00000 # [<64K]
-libskiagl.so 0xA9C00000 # [~1M]
+libcorecg.so 0x6C800000 # [???]
+libsurfaceflinger_client.so 0x6C700000 # [~1M]
+libsurfaceflinger.so 0x6C500000 # [~2M]
+libGLES_android.so 0x6C400000 # [~1M]
+libagl.so 0x6C300000 # [???]
+
+libGLESv1_CM.so 0x6C200000 # [~1M]
+libGLESv2.so 0x6C100000 # [~1M]
+libOpenVG_CM.so 0x6C000000 # [???]
+libOpenVGU_CM.so 0x6BF00000 # [???]
+libEGL.so 0x6BE00000 # [~1M]
+libETC1.so 0x6BD00000 # [<64K]
+
+libacc.so 0x6BC00000 # [~1M]
+
+libexif.so 0x6BB00000 # [~1M]
+libcamera_client.so 0x6BA80000 # [~1M]
+libui.so 0x6B900000 # [~1M]
+libgui.so 0x6B800000 # [~1M]
+libskia.so 0x6B100000 # [~2M]
+librs_jni.so 0x6B000000 # [~1M]
+libRS.so 0x69E00000 # [~2M]
+libandroid.so 0x69D80000 # [<64K]
+libjnigraphics.so 0x69D00000 # [<64K]
+libskiagl.so 0x69C00000 # [~1M]
# audio
-libFLAC.so 0xA9B00000 # [???]
-libaudiopolicy.so 0xA9A00000 # [~1M]
-libeffects.so 0xA9980000 # [<64K]
-libaudioeffect_jni.so 0xA9900000 # [<64K]
-libsoundpool.so 0xA9800000 # [~1M]
-libaudio.so 0xA9700000 # [~1M]
-libspeech.so 0xA9600000 # [~1M]
-libsonivox.so 0xA9500000 # [~1M]
-libvorbisidec.so 0xA9400000 # [~1M]
-libmedia_jni.so 0xA9300000 # [~1M]
-libmediaplayerservice.so 0xA9200000 # [~1M]
-libmedia.so 0xA9000000 # [~2M]
-libFFTEm.so 0xA8F00000 # [~1M]
-libSR_AudioIn.so 0xA8E00000 # [~1M] for external/srec
-libaudioflinger.so 0xA8D00000 # [~1M]
+libFLAC.so 0x69B00000 # [???]
+libaudiopolicy.so 0x69A00000 # [~1M]
+libeffects.so 0x69980000 # [<64K]
+libaudioeffect_jni.so 0x69900000 # [<64K]
+libsoundpool.so 0x69800000 # [~1M]
+libaudio.so 0x69700000 # [~1M]
+libspeech.so 0x69600000 # [~1M]
+libsonivox.so 0x69500000 # [~1M]
+libvorbisidec.so 0x69400000 # [~1M]
+libmedia_jni.so 0x69300000 # [~1M]
+libmediaplayerservice.so 0x69200000 # [~1M]
+libmedia.so 0x69000000 # [~2M]
+libFFTEm.so 0x68F00000 # [~1M]
+libSR_AudioIn.so 0x68E00000 # [~1M] for external/srec
+libaudioflinger.so 0x68D00000 # [~1M]
# assorted system libraries
-libsqlite.so 0xA8B00000 # [~2M]
-libexpat.so 0xA8A00000 # [~1M]
-libwebcore.so 0xA8300000 # [~7M]
-libbinder.so 0xA8200000 # [~1M]
-libutils.so 0xA8100000 # [~1M]
-libcameraservice.so 0xA8000000 # [~1M]
-libhardware.so 0xA7F00000 # [<64K]
-libhardware_legacy.so 0xA7E00000 # [~1M]
-libapp_process.so 0xA7D00000 # [???]
-libsystem_server.so 0xA7C00000 # [~1M]
-libime.so 0xA7B00000 # [???]
-libgps.so 0xA7A00000 # [~1M]
-libcamera.so 0xA7900000 # [~1M]
-liboemcamera.so 0xA7700000 # [~2M]
-libdiskconfig.so 0xA7600000 # [<64K]
-libemoji.so 0xA7500000 # [<64K]
-libjni_latinime.so 0xA7400000 # [~1M]
-libjni_pinyinime.so 0xA7300000 # [~1M]
-libttssynthproxy.so 0xA7200000 # [~1M] for frameworks/base
-libttspico.so 0xA7000000 # [~2M] for external/svox
+libsqlite.so 0x68B00000 # [~2M]
+libexpat.so 0x68A00000 # [~1M]
+libwebcore.so 0x68300000 # [~7M]
+libbinder.so 0x68200000 # [~1M]
+libutils.so 0x68100000 # [~1M]
+libcameraservice.so 0x68000000 # [~1M]
+libhardware.so 0x67F00000 # [<64K]
+libhardware_legacy.so 0x67E00000 # [~1M]
+libapp_process.so 0x67D00000 # [???]
+libsystem_server.so 0x67C00000 # [~1M]
+libime.so 0x67B00000 # [???]
+libgps.so 0x67A00000 # [~1M]
+libcamera.so 0x67900000 # [~1M]
+liboemcamera.so 0x67700000 # [~2M]
+libdiskconfig.so 0x67600000 # [<64K]
+libemoji.so 0x67500000 # [<64K]
+libjni_latinime.so 0x67400000 # [~1M]
+libjni_pinyinime.so 0x67300000 # [~1M]
+libttssynthproxy.so 0x67200000 # [~1M] for frameworks/base
+libttspico.so 0x67000000 # [~2M] for external/svox
# pv libraries
-libpvasf.so 0xA6F00000 # [???]
-libpvasfreg.so 0xA6E00000 # [???]
-libomx_sharedlibrary.so 0xA6D00000 # [~1M]
-libopencore_download.so 0xA6C00000 # [~1M]
-libopencore_downloadreg.so 0xA6B00000 # [~1M]
-libopencore_net_support.so 0xA6800000 # [~3M]
-libopencore_rtsp.so 0xA6200000 # [~6M]
-libopencore_rtspreg.so 0xA6100000 # [~1M]
-libopencore_author.so 0xA5D00000 # [~4M]
-libomx_aacdec_sharedlibrary.so 0xA5B00000 # [~2M]
-libomx_amrdec_sharedlibrary.so 0xA5A00000 # [~1M]
-libomx_amrenc_sharedlibrary.so 0xA5900000 # [~1M]
-libomx_avcdec_sharedlibrary.so 0xA5800000 # [~1M]
-libomx_avcenc_sharedlibrary.so 0xA5700000 # [???]
-libomx_m4vdec_sharedlibrary.so 0xA5600000 # [~1M]
-libomx_m4venc_sharedlibrary.so 0xA5500000 # [???]
-libomx_mp3dec_sharedlibrary.so 0xA5400000 # [~1M]
-libopencore_mp4local.so 0xA5200000 # [~2M]
-libopencore_mp4localreg.so 0xA5100000 # [~1M]
-libopencore_player.so 0xA4800000 # [~9M]
+libpvasf.so 0x66F00000 # [???]
+libpvasfreg.so 0x66E00000 # [???]
+libomx_sharedlibrary.so 0x66D00000 # [~1M]
+libopencore_download.so 0x66C00000 # [~1M]
+libopencore_downloadreg.so 0x66B00000 # [~1M]
+libopencore_net_support.so 0x66800000 # [~3M]
+libopencore_rtsp.so 0x66200000 # [~6M]
+libopencore_rtspreg.so 0x66100000 # [~1M]
+libopencore_author.so 0x65D00000 # [~4M]
+libomx_aacdec_sharedlibrary.so 0x65B00000 # [~2M]
+libomx_amrdec_sharedlibrary.so 0x65A00000 # [~1M]
+libomx_amrenc_sharedlibrary.so 0x65900000 # [~1M]
+libomx_avcdec_sharedlibrary.so 0x65800000 # [~1M]
+libomx_avcenc_sharedlibrary.so 0x65700000 # [???]
+libomx_m4vdec_sharedlibrary.so 0x65600000 # [~1M]
+libomx_m4venc_sharedlibrary.so 0x65500000 # [???]
+libomx_mp3dec_sharedlibrary.so 0x65400000 # [~1M]
+libopencore_mp4local.so 0x65200000 # [~2M]
+libopencore_mp4localreg.so 0x65100000 # [~1M]
+libopencore_player.so 0x64800000 # [~9M]
# opencore hardware support
-libmm-adspsvc.so 0xA4700000 # [<64K]
-libOmxCore.so 0xA4600000 # [<64K]
-libOmxMpeg4Dec.so 0xA4500000 # [~1M]
-libOmxH264Dec.so 0xA4400000 # [~1M]
-libOmxVidEnc.so 0xA4300000 # [~1M]
-libopencorehw.so 0xA4200000 # [~1M]
-libOmxVdec.so 0xA4100000 # [~1M]
-libmm-omxcore.so 0xA4000000 # [<64K]
+libmm-adspsvc.so 0x64700000 # [<64K]
+libOmxCore.so 0x64600000 # [<64K]
+libOmxMpeg4Dec.so 0x64500000 # [~1M]
+libOmxH264Dec.so 0x64400000 # [~1M]
+libOmxVidEnc.so 0x64300000 # [~1M]
+libopencorehw.so 0x64200000 # [~1M]
+libOmxVdec.so 0x64100000 # [~1M]
+libmm-omxcore.so 0x64000000 # [<64K]
# pv libraries
-libopencore_common.so 0xA3900000 # [~7M]
-libqcomm_omx.so 0xA3800000 # [<64K]
+libopencore_common.so 0x63900000 # [~7M]
+libqcomm_omx.so 0x63800000 # [<64K]
# stagefright libraries
-libstagefright_amrnb_common.so 0xA3700000 # [~1M]
-libstagefright_avc_common.so 0xA3600000 # [~1M]
-libstagefright_color_conversion.so 0xA3500000 # [<64K]
-libstagefright_omx.so 0xA3400000 # [~1M]
-libstagefrighthw.so 0xA3300000 # [~1M]
-libstagefright.so 0xA2F00000 # [~4M]
+libstagefright_amrnb_common.so 0x63700000 # [~1M]
+libstagefright_avc_common.so 0x63600000 # [~1M]
+libstagefright_color_conversion.so 0x63500000 # [<64K]
+libstagefright_omx.so 0x63400000 # [~1M]
+libstagefrighthw.so 0x63300000 # [~1M]
+libstagefright.so 0x62F00000 # [~4M]
# libraries for specific hardware
-libgsl.so 0xA2E00000 # [~1M]
-libhtc_acoustic.so 0xA2D00000 # [<64K]
-libhtc_ril.so 0xA2C00000 # [~1M]
-liblvmxipc.so 0xA2B00000 # [~1M] for vendor/nxp
-libreference-cdma-sms.so 0xA2A00000 # [<64K] for hardware/ril
+libgsl.so 0x62E00000 # [~1M]
+libhtc_acoustic.so 0x62D00000 # [<64K]
+libhtc_ril.so 0x62C00000 # [~1M]
+liblvmxipc.so 0x62B00000 # [~1M] for vendor/nxp
+libreference-cdma-sms.so 0x62A00000 # [<64K] for hardware/ril
# libraries for specific apps or temporary libraries
-libcam_ipl.so 0x9F000000 # [???]
-libwbxml.so 0x9EF00000 # [???]
-libwbxml_jni.so 0x9EE00000 # [~1M]
-libxml2wbxml.so 0x9EB00000 # [~1M]
-libdrm1.so 0x9EA00000 # [~1M]
-libdrm1_jni.so 0x9E900000 # [<64K]
-libwapcore.so 0x9E800000 # [???]
-libstreetview.so 0x9E700000 # [???]
-libwapbrowsertest.so 0x9E600000 # [???]
-libminiglobe.so 0x9E500000 # [???]
-libearth.so 0x9E400000 # [???]
-libembunit.so 0x9E300000 # [<64K]
-libneon.so 0x9E200000 # [???]
-libjni_example.so 0x9E100000 # [???]
-libjni_load_test.so 0x9E000000 # [???]
-libjni_lib_test.so 0x9DF00000 # [???]
-librunperf.so 0x9DE00000 # [???]
-libctest.so 0x9DD00000 # [<64K]
-libUAPI_jni.so 0x9DC00000 # [???]
-librpc.so 0x9DB00000 # [~1M]
-libtrace_test.so 0x9DA00000 # [???]
-libsrec_jni.so 0x9D800000 # [~2M]
-libjpeg.so 0x9D700000 # [~1M]
-libiprouteutil.so 0x9D600000 # [~1M] for external/iproute2
-libnetlink.so 0x9D500000 # [<64K] for external/iproute2
-libpagemap.so 0x9D400000 # [<64K] for system/extras/libpagemap
-libstlport.so 0x9D100000 # [~3M] for external/stlport
-libzxing.so 0x9D000000 # [<64K] for goggles
-libinterstitial.so 0x9CF00000 # [<64K] for goggles
-liblept.so 0x9CA00000 # [~5M] for external/leptonica
+libcam_ipl.so 0x5F000000 # [???]
+libwbxml.so 0x5EF00000 # [???]
+libwbxml_jni.so 0x5EE00000 # [~1M]
+libxml2wbxml.so 0x5EB00000 # [~1M]
+libdrm1.so 0x5EA00000 # [~1M]
+libdrm1_jni.so 0x5E900000 # [<64K]
+libwapcore.so 0x5E800000 # [???]
+libstreetview.so 0x5E700000 # [???]
+libwapbrowsertest.so 0x5E600000 # [???]
+libminiglobe.so 0x5E500000 # [???]
+libearth.so 0x5E400000 # [???]
+libembunit.so 0x5E300000 # [<64K]
+libneon.so 0x5E200000 # [???]
+libjni_example.so 0x5E100000 # [???]
+libjni_load_test.so 0x5E000000 # [???]
+libjni_lib_test.so 0x5DF00000 # [???]
+librunperf.so 0x5DE00000 # [???]
+libctest.so 0x5DD00000 # [<64K]
+libUAPI_jni.so 0x5DC00000 # [???]
+librpc.so 0x5DB00000 # [~1M]
+libtrace_test.so 0x5DA00000 # [???]
+libsrec_jni.so 0x5D800000 # [~2M]
+libjpeg.so 0x5D700000 # [~1M]
+libiprouteutil.so 0x5D600000 # [~1M] for external/iproute2
+libnetlink.so 0x5D500000 # [<64K] for external/iproute2
+libpagemap.so 0x5D400000 # [<64K] for system/extras/libpagemap
+libstlport.so 0x5D100000 # [~3M] for external/stlport
+libzxing.so 0x5D000000 # [<64K] for goggles
+libinterstitial.so 0x5CF00000 # [<64K] for goggles
+liblept.so 0x5CA00000 # [~5M] for external/leptonica
# The generic product target doesn't have any hardware-specific pieces.
TARGET_NO_BOOTLOADER := true
TARGET_NO_KERNEL := true
-TARGET_CPU_ABI := armeabi
+TARGET_CPU_ABI := armeabi-v7a
+TARGET_CPU_ABI2 := armeabi
+
+APP_ABI := armeabi-v7a
+LOCAL_ARM_MODE := arm
+LOCAL_MODULE := linkage_arm
+
HAVE_HTC_AUDIO_DRIVER := true
BOARD_USES_GENERIC_AUDIO := true
# Set /system/bin/sh to mksh, not ash, to test the transition.
TARGET_SHELL := mksh
+
+# for IS01
+PRODUCT_LOCALES := ja_JP
+
} else {
return mParent.getRequestedOrientation();
}
- return ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
+ return ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
}
/**
* {@link android.content.pm.ActivityInfo#SCREEN_ORIENTATION_UNSPECIFIED}
* will be used.
*/
- public int screenOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
+ public int screenOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
public LayoutParams() {
sysclktz 0
-loglevel 3
+loglevel 6
# setup the global environment
export PATH /sbin:/vendor/bin:/system/sbin:/system/bin:/system/xbin
export DEBUG 6
# Backward compatibility
- symlink /system/etc /etc
+## 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
# Backwards Compat - XXX: Going away in G*
symlink /mnt/sdcard /sdcard
- mkdir /system
- mkdir /data 0771 system system
+## mkdir /system
+## mkdir /data 0771 system system
mkdir /cache 0770 system cache
mkdir /config 0500 root root
on fs
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
- mount yaffs2 mtd@system /system
- mount yaffs2 mtd@system /system ro remount
- mount yaffs2 mtd@userdata /data0 nosuid nodev
+## mount yaffs2 mtd@system /system
+## mount yaffs2 mtd@system /system ro remount
+## mount yaffs2 mtd@userdata /data0 nosuid nodev
mount yaffs2 mtd@cache /cache nosuid nodev
on post-fs
# once everything is setup, no need to modify /
- mount rootfs rootfs / ro remount
-
- # We chown/chmod /data again so because mount is run as root + defaults
- chown system system /data
- chmod 0771 /data
+## mount rootfs rootfs / ro remount
+ mount ext3 /dev/block/mmcblk0p1 /data0 nodev
symlink /data0/data_ginger/data /data
chown system system /data
chown system system /data0/data_ginger/data
symlink /data0/system_ginger/system /system
symlink /system/etc /etc
+# Right now vendor lives on the same filesystem as system,
+# but someday that may change.
+ symlink /system/vendor /vendor
+
+ # 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.
service installd /system/bin/installd
socket installd stream 600 system system
-service flash_recovery /system/etc/install-recovery.sh
- oneshot
+##service flash_recovery /system/etc/install-recovery.sh
+## oneshot
+busybox --install
service racoon /system/bin/racoon
socket racoon stream 600 system system
# racoon will setuid to vpn after getting necessary resources.
socket dumpstate stream 0660 shell log
disabled
oneshot
+
+service shlcdc_process /system/bin/shlcdc_process
+service shdisp_process /system/bin/shdisp_process
--- /dev/null
+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
+ export DEBUG 6
+
+# 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
+
+on fs
+# mount mtd partitions
+ # Mount /system rw first to give the filesystem a chance to save a checkpoint
+ mount yaffs2 mtd@system /system
+ mount yaffs2 mtd@system /system ro remount
+ mount yaffs2 mtd@userdata /data0 nosuid nodev
+ mount yaffs2 mtd@cache /cache nosuid nodev
+
+on post-fs
+ # once everything is setup, no need to modify /
+ mount rootfs rootfs / ro remount
+
+ # We chown/chmod /data again so because mount is run as root + defaults
+ chown system system /data
+ chmod 0771 /data
+
+ symlink /data0/data_ginger/data /data
+ chown system system /data
+ chown system system /data0/data_ginger/data
+ chmod 0771 system system /data0/data_ginger/data
+ symlink /data0/system_ginger/system /system
+ symlink /system/etc /etc
+
+ # 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
+
+ # 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
+
+ # create data/drm directory
+ mkdir /data/drm 0774 drm drm
+ chown drm drm /data/drm
+ chmod 0774 /data/drm
+
+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
+
+ # 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 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
+ socket dnsproxyd stream 0660 root inet
+
+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 drm /system/bin/drmserver
+ user drm
+ group system root inet
+
+service drmio /system/bin/drmioserver
+ user drmio
+
+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
} else if(!strcmp(arg, "--base")) {
unsigned base = strtoul(val, 0, 16);
hdr.kernel_addr = base + 0x00008000;
- hdr.ramdisk_addr = base + 0x01000000;
+ hdr.ramdisk_addr = base + 0x04000000;
hdr.second_addr = base + 0x00F00000;
hdr.tags_addr = base + 0x00000100;
} else if(!strcmp(arg, "--board")) {
}
if(write(fd, &hdr, sizeof(hdr)) != sizeof(hdr)) goto fail;
- if(write_padding(fd, pagesize, sizeof(hdr))) goto fail;
+ if(write_padding(fd, pagesize*2, sizeof(hdr))) goto fail;
if(write(fd, kernel_data, hdr.kernel_size) != hdr.kernel_size) goto fail;
- if(write_padding(fd, pagesize, hdr.kernel_size)) goto fail;
+ if(write_padding(fd, pagesize*2, hdr.kernel_size)) goto fail;
if(write(fd, ramdisk_data, hdr.ramdisk_size) != hdr.ramdisk_size) goto fail;
if(write_padding(fd, pagesize, hdr.ramdisk_size)) goto fail;