diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2010-05-03 16:11:04 -0700 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2010-05-03 16:11:04 -0700 |
commit | ae4e14556bb3a789c4263ebba7ed42b3035e13f6 (patch) | |
tree | d9ed4c33938de38e116cde35bd9c48495c1b7d4b /target | |
parent | 1d37a0dad827c9eb9ecde2cd8238a5c2a512c59d (diff) | |
parent | f015e94dc89ea21d40ab06c84e496d01be36ac13 (diff) | |
download | build-ae4e14556bb3a789c4263ebba7ed42b3035e13f6.zip build-ae4e14556bb3a789c4263ebba7ed42b3035e13f6.tar.gz build-ae4e14556bb3a789c4263ebba7ed42b3035e13f6.tar.bz2 |
merge from open-source master
Change-Id: I3d24628d38c99369f242733d9089d7c5669a4623
Diffstat (limited to 'target')
-rw-r--r-- | target/board/generic_x86/AndroidBoard.mk | 8 | ||||
-rw-r--r-- | target/board/generic_x86/BoardConfig.mk | 20 | ||||
-rw-r--r-- | target/board/generic_x86/README.txt | 26 | ||||
-rw-r--r-- | target/board/generic_x86/buildspec-generic_x86.mk | 3 | ||||
-rw-r--r-- | target/board/generic_x86/init.rc | 243 | ||||
-rw-r--r-- | target/product/AndroidProducts.mk | 1 | ||||
-rw-r--r-- | target/product/generic_x86.mk | 27 |
7 files changed, 328 insertions, 0 deletions
diff --git a/target/board/generic_x86/AndroidBoard.mk b/target/board/generic_x86/AndroidBoard.mk new file mode 100644 index 0000000..9d64d52 --- /dev/null +++ b/target/board/generic_x86/AndroidBoard.mk @@ -0,0 +1,8 @@ +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.rc +LOCAL_SRC_FILES := init.rc +LOCAL_MODULE_CLASS := SHARED_LIBRARIES +LOCAL_MODULE_PATH := $(TARGET_ROOT_OUT) +include $(BUILD_PREBUILT) diff --git a/target/board/generic_x86/BoardConfig.mk b/target/board/generic_x86/BoardConfig.mk new file mode 100644 index 0000000..cdc48f3 --- /dev/null +++ b/target/board/generic_x86/BoardConfig.mk @@ -0,0 +1,20 @@ +TARGET_COMPRESS_MODULE_SYMBOLS := false +TARGET_PRELINK_MODULE := false +TARGET_NO_RECOVERY := true +TARGET_HARDWARE_3D := false +BOARD_USES_GENERIC_AUDIO := true +USE_CAMERA_STUB := true +TARGET_PROVIDES_INIT_RC := true +USE_CUSTOM_RUNTIME_HEAP_MAX := "32M" +TARGET_CPU_ABI := x86 +TARGET_USERIMAGES_USE_EXT2 := true +TARGET_BOOTIMAGE_USE_EXT2 := true +TARGET_USE_DISKINSTALLER := false + +# For KVM +# BOARD_KERNEL_CMDLINE := console=tty0 console=ttyS1,115200n8 console=tty0 androidboot.hardware=generic_x86 vga=788 + +# For mrst_ref +BOARD_KERNEL_CMDLINE := init=/init pci=noearly console=ttyS0 console=ttyS1,115200n8 console=tty0 earlyprintk=mrst loglevel=8 notsc no_percpu_apbt androidboot.hardware=generic_x86 s0ix_latency=160 + +BOARD_BOOTIMAGE_MAX_SIZE := 8388608 diff --git a/target/board/generic_x86/README.txt b/target/board/generic_x86/README.txt new file mode 100644 index 0000000..3b88b44 --- /dev/null +++ b/target/board/generic_x86/README.txt @@ -0,0 +1,26 @@ +The generic_x86 board target provides basic services on +very basic hardware. To build with generic_x86, you will +need an appropriate kernel for your device (or emulation). + +A1. Create a new top level directory and pull the AOSP repository + mkdir $HOME/AOSP + cd $HOME/AOSP + repo init -u git://android.git.kernel.org/platform/manifest.git + repo sync + +A2. Copy in the buildspeck.mk + cd $HOME/AOSP + cp build/target/board/generic_x86/buildspec-generic_x86.mk buildspec.mk + +A3. Copy in the kernel + cd $HOME/AOSP + cp ~/bzImage.your_device $HOME/AOSP/prebuilt/android-x86/kernel/kernel + +A4. Build + cd $HOME/AOSP + source build/envsetup.sh + lunch generic_x86-eng + make -j8 + +The build will generate some image files whose format may or may not be correct for your +device. diff --git a/target/board/generic_x86/buildspec-generic_x86.mk b/target/board/generic_x86/buildspec-generic_x86.mk new file mode 100644 index 0000000..5c4e6a5 --- /dev/null +++ b/target/board/generic_x86/buildspec-generic_x86.mk @@ -0,0 +1,3 @@ +BUILD_ENV_SEQUENCE_NUMBER := 9 +DISABLE_DEXPREOPT := true +TARGET_ARCH := x86 diff --git a/target/board/generic_x86/init.rc b/target/board/generic_x86/init.rc new file mode 100644 index 0000000..2a6f665 --- /dev/null +++ b/target/board/generic_x86/init.rc @@ -0,0 +1,243 @@ + +on init + +sysclktz 0 + +loglevel 3 + +# setup the global environment + export PATH /sbin:/system/sbin:/system/bin:/system/xbin + export LD_LIBRARY_PATH /system/lib + export ANDROID_BOOTLOGO 1 + export ANDROID_ROOT /system + export ANDROID_ASSETS /system/app + export ANDROID_DATA /data + export EXTERNAL_STORAGE /sdcard + export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar + +# Backward compatibility + symlink /system/etc /etc + +# create mountpoints and mount tmpfs on sqlite_stmt_journals and debugfs on d + mkdir /d + mkdir /sdcard 0000 system system + mkdir /system + mkdir /data 0771 system system + mkdir /cache 0770 system cache + mkdir /sqlite_stmt_journals 01777 root root + mount tmpfs tmpfs /sqlite_stmt_journals + mount debugfs debugfs /d + + mount rootfs rootfs / rw remount + + 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 + +# mount mtd partitions + # Hack... + # We'll attempt to mount both as sdcard and harddisk... + # Only one or the other will actually work... this way, we can + # use the same init.rc for both + mount ext3 /dev/block/mmcblk0p6 /system + mount ext3 /dev/block/mmcblk0p6 /system rw remount + mount ext3 /dev/block/mmcblk0p2 /data nosuid nodev + mount ext3 /dev/block/mmcblk0p7 /cache nosuid nodev + mount ext3 /dev/block/sda6 /system + mount ext3 /dev/block/sda6 /system rw remount + mount ext3 /dev/block/sda8 /data + + # We chown/chmod /data again so because mount is run as root + defaults + chown system system /data + chmod 0771 /data + + # 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 system /cache/recovery + chmod 0770 /cache/recovery + +# create basic filesystem structure + mkdir /data/misc 01771 system misc + mkdir /data/misc/hcid 0770 bluetooth bluetooth + 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 /system/lost+found 0770 + 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 + +### Load some modules + +# basic network init + ifup lo + hostname localhost + domainname localdomain + + +# set RLIMIT_NICE to allow priorities from 19 to -20 + setrlimit 13 40 40 + mkdir /data/core 0777 + write /proc/sys/kernel/core_pattern /data/core/%e.%p + setrlimit 4 -1 -1 + +# 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.SECONDARY_SERVER_ADJ 2 + setprop ro.HIDDEN_APP_MIN_ADJ 7 + setprop ro.CONTENT_PROVIDER_ADJ 14 + setprop ro.EMPTY_APP_ADJ 15 + setprop ro.BACKUP_APP_ADJ 2 + setprop ro.HOME_APP_ADJ 4 + + +# Define the memory thresholds at which the above process classes will +# be killed. These numbers are in pages (4k). + setprop ro.FOREGROUND_APP_MEM 1536 + setprop ro.VISIBLE_APP_MEM 2048 + setprop ro.SECONDARY_SERVER_MEM 4096 + setprop ro.BACKUP_APP_MEM 4096 + setprop ro.HOME_APP_MEM 4096 + setprop ro.HIDDEN_APP_MEM 5120 + setprop ro.CONTENT_PROVIDER_MEM 5632 + setprop ro.EMPTY_APP_MEM 6144 + + +# Write value must be consistent with the above properties. + write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15 + + write /proc/sys/vm/overcommit_memory 1 + write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,8192,16384 + + # Set init its forked children's oom_adj. + write /proc/1/oom_adj -16 + + # 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/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 bluetooth bluetooth /sys/module/board_trout/parameters/bluetooth_power_on + chown system system /sys/module/sco/parameters/disable_esco + chmod 0660 /sys/module/board_trout/parameters/bluetooth_power_on + chown radio audio /system/etc/AudioPara4.csv + 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 + +# Enable audio based on existing /dev/dsp + chmod 0666 /dev/snd/dsp + +# 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 console /system/bin/sh + 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 + +# adbd on at boot in insecure builds +on property:ro.secure=0 + 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 + +service zygote /system/bin/app_process -Xzygote -Xint:fast /system/bin --zygote --start-system-server + socket zygote stream 666 + onrestart write /sys/android_power/request_state wake + +service media /system/bin/mediaserver + user media + group system audio camera graphics inet net_bt net_bt_admin + +service dbus /system/bin/dbus-daemon --system --nofork + socket dbus stream 660 bluetooth bluetooth + user bluetooth + group bluetooth net_bt_admin + +service brick /system/bin/wipe nuke + disabled + +service installd /system/bin/installd + socket installd stream 600 system system diff --git a/target/product/AndroidProducts.mk b/target/product/AndroidProducts.mk index 2774968..be874c6 100644 --- a/target/product/AndroidProducts.mk +++ b/target/product/AndroidProducts.mk @@ -28,6 +28,7 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/core.mk \ $(LOCAL_DIR)/generic.mk \ + $(LOCAL_DIR)/generic_x86.mk \ $(LOCAL_DIR)/full.mk \ $(LOCAL_DIR)/sdk.mk \ $(LOCAL_DIR)/sim.mk diff --git a/target/product/generic_x86.mk b/target/product/generic_x86.mk new file mode 100644 index 0000000..00f2822 --- /dev/null +++ b/target/product/generic_x86.mk @@ -0,0 +1,27 @@ +# 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_x86 +PRODUCT_DEVICE := generic_x86 +PRODUCT_NAME := generic_x86 +PRODUCT_POLICY := android.policy_phone |