From aa08a7864de3d7b6675ed15486218e80f3f79080 Mon Sep 17 00:00:00 2001 From: Rob Herring Date: Fri, 8 Jan 2016 16:22:26 -0600 Subject: Initial commit This is a partially generated device configuration allowing building same config on multiple architectures. Since the Android build system uses TARGET_PRODUCT to set the build path and requires it match a directory under device/, this setup allows trivially adding architectures or other configuration options. Signed-off-by: Rob Herring --- BoardConfig.mk | 17 +++++++++++++++++ device.mk | 34 ++++++++++++++++++++++++++++++++++ fstab | 7 +++++++ init.rc | 34 ++++++++++++++++++++++++++++++++++ vendorsetup.sh | 47 +++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 139 insertions(+) create mode 100644 BoardConfig.mk create mode 100644 device.mk create mode 100644 fstab create mode 100644 init.rc create mode 100644 vendorsetup.sh diff --git a/BoardConfig.mk b/BoardConfig.mk new file mode 100644 index 0000000..456b72f --- /dev/null +++ b/BoardConfig.mk @@ -0,0 +1,17 @@ +# Copyright (C) 2013 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. +# + +BOARD_USES_DRM_HWCOMPOSER := true +BOARD_GPU_DRIVERS := freedreno virgl diff --git a/device.mk b/device.mk new file mode 100644 index 0000000..7530d4e --- /dev/null +++ b/device.mk @@ -0,0 +1,34 @@ +# +# 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, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base_telephony.mk) + +PRODUCT_NAME := $(TARGET_PRODUCT) +PRODUCT_DEVICE := $(TARGET_PRODUCT) +PRODUCT_BRAND := Android +PRODUCT_MODEL := AOSP + +PRODUCT_PACKAGES += \ + libGLES_mesa \ + libGLES_android \ + hwcomposer.drm \ + gralloc.drm + +PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\ + system/core/rootdir/init.rc:root/init.rc \ + $(LOCAL_PATH)/init.rc:root/init.unknown.rc \ + $(LOCAL_PATH)/fstab:root/fstab.unknown) diff --git a/fstab b/fstab new file mode 100644 index 0000000..0716b94 --- /dev/null +++ b/fstab @@ -0,0 +1,7 @@ +# Android fstab file. +# +# The filesystem that contains the filesystem checker binary (typically /system) cannot +# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK +LABEL=system /system ext4 ro wait +LABEL=cache /cache ext4 noatime,nosuid,nodev,errors=panic wait +LABEL=data /data ext4 noatime,nosuid,nodev,errors=panic wait diff --git a/init.rc b/init.rc new file mode 100644 index 0000000..40db916 --- /dev/null +++ b/init.rc @@ -0,0 +1,34 @@ +on fs + mount_all /fstab.unknown + +on early-init + mount debugfs debugfs /sys/kernel/debug + +# setprop ro.kernel.qemu 1 + + setprop ro.hardware.gralloc drm + setprop ro.hardware.hwcomposer drm + setprop debug.sf.no_hw_vsync 1 + setprop hwc.drm.use_framebuffer_target 1 + setprop hwc.drm.use_overlay_planes 0 + +# setprop debug.sf.nobootanimation 1 +# setprop debug.egl.callstack 1 +# setprop debug.egl.trace 1 + +on init + # See storage config details at http://source.android.com/tech/storage/ + mkdir /storage/sdcard 0555 root root + + export EXTERNAL_STORAGE /storage/sdcard + + # Support legacy paths + #symlink /storage/sdcard /sdcard + #symlink /storage/sdcard /mnt/sdcard + +on boot +# 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 diff --git a/vendorsetup.sh b/vendorsetup.sh new file mode 100644 index 0000000..d03f13e --- /dev/null +++ b/vendorsetup.sh @@ -0,0 +1,47 @@ +# +# Copyright (C) 2013 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 + +# Note: all variables must be local or they get sourced. + +create_devices() { + local a + local arches="arm64 x86_64" + local config_base="linaro" + local device_dir="$(dirname "${BASH_SOURCE[0]}")" + + for a in $arches; do + local config_name="${config_base}_${a}" + mkdir -p "${device_dir}/${config_name}" + + cat << EOF > ${device_dir}/${config_name}/AndroidProducts.mk +PRODUCT_MAKEFILES := ${config_name}:\$(LOCAL_DIR)/../device.mk +EOF + + cat << EOF > ${device_dir}/${config_name}/BoardConfig.mk +include \$(SRC_TARGET_DIR)/board/generic_${a}/BoardConfig.mk +include ${device_dir}/BoardConfig.mk +EOF + + add_lunch_combo ${config_name}-userdebug + done +} +create_devices -- cgit v1.2.3