diff options
author | Bruce Beare <brucex.j.beare@intel.com> | 2010-04-28 14:12:52 -0700 |
---|---|---|
committer | Bruce Beare <brucex.j.beare@intel.com> | 2010-04-28 16:52:51 -0700 |
commit | c25e5032077ac08edd4b57c9bbf7305a848acf8d (patch) | |
tree | fd7b020c8436f12457a423ccc2fa5bc6d940b3d8 /target/board/generic_x86 | |
parent | 5381c1a30c77a2e9209fd91f23110429a71826fd (diff) | |
download | build-c25e5032077ac08edd4b57c9bbf7305a848acf8d.zip build-c25e5032077ac08edd4b57c9bbf7305a848acf8d.tar.gz build-c25e5032077ac08edd4b57c9bbf7305a848acf8d.tar.bz2 |
generic_x86 support
Add in Makefiles and support files for x86 builds
Based on changes by: wonjong.lee <wonjong.lee@windriver.com>
Additional changes by: Mark Gross <mark.gross@intel.com>
Additional changes by: Bruce Beare <brucex.j.beare@intel.com>
Change-Id: Id087411b282b1b68a0251e7f9cbbdde183549787
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
Diffstat (limited to 'target/board/generic_x86')
-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 |
5 files changed, 300 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 |