diff options
author | leozwang <leozwang@google.com> | 2014-07-23 21:57:18 -0700 |
---|---|---|
committer | leozwang <leozwang@google.com> | 2014-07-24 11:10:43 -0700 |
commit | 41f298952d1716dbd0656319c19749d0731847a3 (patch) | |
tree | 9cb927e99b27976ded61dd5e6e55695d22a2b757 | |
parent | 713f7aeca26c4654cd8200c3fbe5975835c5c617 (diff) | |
download | mini-emulator-arm64-41f298952d1716dbd0656319c19749d0731847a3.tar.gz |
Add Arm 64bit emulator build target.
Change-Id: I20f3bb2d2dbb6c59c52c74f367df7886d1c290ae
-rw-r--r-- | AndroidProducts.mk | 17 | ||||
-rw-r--r-- | BoardConfig.mk | 21 | ||||
-rw-r--r-- | init.mini-emulator.rc | 104 | ||||
-rw-r--r-- | mini_emulator_arm64.mk | 26 | ||||
-rw-r--r-- | mini_emulator_common.mk | 53 | ||||
-rw-r--r-- | vendorsetup.sh | 22 |
6 files changed, 243 insertions, 0 deletions
diff --git a/AndroidProducts.mk b/AndroidProducts.mk new file mode 100644 index 0000000..41ba3c8 --- /dev/null +++ b/AndroidProducts.mk @@ -0,0 +1,17 @@ +# Copyright (C) 2014 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. +# + +PRODUCT_MAKEFILES := \ + $(LOCAL_DIR)/mini_emulator_arm64.mk diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..92e7b88 --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,21 @@ +# Copyright (C) 2014 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. +# + +# BoardConfig.mk +# +# Product-specific compile-time definitions. +# + +include device/generic/armv7-a-neon/BoardConfig.mk diff --git a/init.mini-emulator.rc b/init.mini-emulator.rc new file mode 100644 index 0000000..56f7d60 --- /dev/null +++ b/init.mini-emulator.rc @@ -0,0 +1,104 @@ +on init + # See storage config details at http://source.android.com/tech/storage/ + mkdir /mnt/shell/emulated 0700 shell shell + mkdir /storage/emulated 0555 root root + + export EXTERNAL_STORAGE /storage/emulated/legacy + export EMULATED_STORAGE_SOURCE /mnt/shell/emulated + export EMULATED_STORAGE_TARGET /storage/emulated + + # Support legacy paths + symlink /storage/emulated/legacy /sdcard + symlink /storage/emulated/legacy /mnt/sdcard + symlink /storage/emulated/legacy /storage/sdcard0 + symlink /mnt/shell/emulated/0 /storage/emulated/legacy + + mount debugfs debugfs /sys/kernel/debug + +on post-fs-data + mkdir /data/media 0770 media_rw media_rw + # Set indication (checked by vold) that we have finished this action + setprop vold.post_fs_data_done 1 + # to force to start sdcard + class_start late_start + +on boot + setprop ARGH ARGH + setprop net.eth0.gw 10.0.2.2 + setprop net.eth0.dns1 10.0.2.3 + setprop net.dns1 10.0.2.3 + setprop net.gprs.local-ip 10.0.2.15 + setprop ro.radio.use-ppp no + setprop ro.build.product generic + setprop ro.product.device generic + +# fake some battery state + setprop status.battery.state Slow + setprop status.battery.level 5 + setprop status.battery.level_raw 50 + setprop status.battery.level_scale 9 + +# disable some daemons the emulator doesn't want + stop dund + stop akmd + +# start essential services + start qemud + start goldfish-logcat + start goldfish-setup + + setprop ro.setupwizard.mode EMULATOR + +# enable Google-specific location features, +# like NetworkLocationProvider and LocationCollector + setprop ro.com.google.locationfeatures 1 + +# For the emulator, which bypasses Setup Wizard, you can specify +# account info for the device via these two properties. Google +# Login Service will insert these accounts into the database when +# it is created (ie, after a data wipe). +# +# setprop ro.config.hosted_account username@hosteddomain.org:password +# setprop ro.config.google_account username@gmail.com:password +# +# You MUST have a Google account on the device, and you MAY +# additionally have a hosted account. No other configuration is +# supported, and arbitrary breakage may result if you specify +# something else. + +on fs + mount_all /fstab.goldfish + +service goldfish-setup /system/etc/init.goldfish.sh + user root + group root + oneshot + +# The qemu-props program is used to set various system +# properties on boot. It must be run early during the boot +# process to avoid race conditions with other daemons that +# might read them (e.g. surface flinger), so define it in +# class 'core' +# +service qemu-props /system/bin/qemu-props + class core + user root + group root + oneshot + +service qemud /system/bin/qemud + socket qemud stream 666 + oneshot + +# -Q is a special logcat option that forces the +# program to check wether it runs on the emulator +# if it does, it redirects its output to the device +# named by the androidboot.console kernel option +# if not, is simply exits immediately + +service goldfish-logcat /system/bin/logcat -Q + oneshot + +# virtual sdcard daemon running as media_rw (1023) +service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated + class late_start diff --git a/mini_emulator_arm64.mk b/mini_emulator_arm64.mk new file mode 100644 index 0000000..36f42c3 --- /dev/null +++ b/mini_emulator_arm64.mk @@ -0,0 +1,26 @@ +# Copyright (C) 2014 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. + +$(call inherit-product, device/generic/arm64/mini_arm64.mk) + +$(call inherit-product, device/generic/mini-emulator-armv7-a-neon/mini_emulator_common.mk) + +PRODUCT_NAME := mini_emulator_arm64 +PRODUCT_DEVICE := mini-emulator-armv7-a-neon +PRODUCT_BRAND := Android +PRODUCT_MODEL := mini-emulator-armv7-a-neon + +LOCAL_KERNEL := prebuilts/qemu-kernel/arm/kernel-qemu-armv7 +PRODUCT_COPY_FILES += \ + $(LOCAL_KERNEL):kernel diff --git a/mini_emulator_common.mk b/mini_emulator_common.mk new file mode 100644 index 0000000..edf8166 --- /dev/null +++ b/mini_emulator_common.mk @@ -0,0 +1,53 @@ +# Copyright (C) 2014 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. + +# common stuffs across mini_emulators + +PRODUCT_PACKAGES += \ + audio.primary.goldfish \ + camera.goldfish \ + gps.goldfish \ + gralloc.goldfish \ + lights.goldfish \ + power.goldfish \ + sensors.goldfish \ + vibrator.goldfish \ + qemu-props \ + qemud \ + libGLES_android \ + libGLESv1_CM_emulation \ + lib_renderControl_enc \ + libEGL_emulation \ + libGLESv2_enc \ + libOpenglSystemCommon \ + libGLESv2_emulation \ + libGLESv1_enc \ + rild + + +PRODUCT_COPY_FILES += \ + device/generic/mini-emulator-armv7-a-neon/init.mini-emulator.rc:root/init.goldfish.rc \ + device/generic/goldfish/init.goldfish.sh:system/etc/init.goldfish.sh \ + device/generic/goldfish/ueventd.goldfish.rc:root/ueventd.goldfish.rc \ + device/generic/goldfish/data/etc/apns-conf.xml:system/etc/apns-conf.xml \ + frameworks/native/data/etc/android.hardware.touchscreen.multitouch.jazzhand.xml:system/etc/permissions/android.hardware.touchscreen.multitouch.jazzhand.xml \ + frameworks/native/data/etc/android.hardware.camera.autofocus.xml:system/etc/permissions/android.hardware.camera.autofocus.xml \ + frameworks/av/media/libeffects/data/audio_effects.conf:system/etc/audio_effects.conf \ + hardware/libhardware_legacy/audio/audio_policy.conf:system/etc/audio_policy.conf \ + device/generic/goldfish/camera/media_profiles.xml:system/etc/media_profiles.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:system/etc/media_codecs_google_audio.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_telephony.xml:system/etc/media_codecs_google_telephony.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:system/etc/media_codecs_google_video.xml \ + device/generic/goldfish/camera/media_codecs.xml:system/etc/media_codecs.xml \ + device/generic/goldfish/fstab.goldfish:root/fstab.goldfish diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100644 index 0000000..c1d2b3d --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1,22 @@ +# Copyright (C) 2014 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 is executed by build/envsetup.sh, and can use anything +# defined in envsetup.sh. +# +# In particular, you can add lunch options with the add_lunch_combo +# function: add_lunch_combo generic-eng + +add_lunch_combo mini_emulator_arm64-userdebug |