From bf57637c5bf8889e2ff03792f82b5dbc120ec9d7 Mon Sep 17 00:00:00 2001 From: Amit Pundir Date: Thu, 10 Feb 2022 16:31:23 +0530 Subject: db845c: rb5: Switch default TARGET_KERNEL_USE to 5.15 Switch default db845c-userdebug and rb5-userdebug builds to android-5.15 prebuilt kernel Image and modules. Signed-off-by: Amit Pundir Change-Id: Ia7f9794c69b4f812aae465b006e160ae72cd19e0 --- db845c.mk | 2 +- rb5.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/db845c.mk b/db845c.mk index b2dd524..dd5dfb0 100644 --- a/db845c.mk +++ b/db845c.mk @@ -1,5 +1,5 @@ ifndef TARGET_KERNEL_USE -TARGET_KERNEL_USE := 5.10 +TARGET_KERNEL_USE := 5.15 endif DB845C_KERNEL_DIR ?= device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE) diff --git a/rb5.mk b/rb5.mk index dc70674..2cda9b0 100644 --- a/rb5.mk +++ b/rb5.mk @@ -1,5 +1,5 @@ ifndef TARGET_KERNEL_USE -TARGET_KERNEL_USE := mainline +TARGET_KERNEL_USE := 5.15 endif RB5_KERNEL_DIR := device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE) -- cgit v1.2.3 From c0ad894bfadcce4be4778e1773aeb09f8f19ef47 Mon Sep 17 00:00:00 2001 From: Amit Pundir Date: Tue, 14 Dec 2021 19:45:56 +0530 Subject: db845c: Add rb5 support in db845c-userdebug build target * Enabled multiple appended DTBs support to allow db845c boot.img/vendor_boot.img to boot on rb5 as well. * Introduced a vendor.hw property which will be used to run device specific services. * Folded Caleb's HDMI audio routing fix. Signed-off-by: Amit Pundir Change-Id: I779d01946ae359d5c405d959419e29460083e5df --- audio/audio_hw.c | 14 ++++++++++++++ build/tasks/kernel.mk | 8 ++++++++ db845c/BoardConfig.mk | 1 + db845c/device.mk | 5 +++-- db845c/eth_mac_addr.rc | 2 +- etc/mixer_paths.xml | 12 +++++++++--- qcom/init.qcom.rc | 8 ++++++++ qcom/set_hw.sh | 12 ++++++++++++ sepolicy/file.te | 1 + sepolicy/file_contexts | 3 +++ sepolicy/genfs_contexts | 1 + sepolicy/hal_audio_default.te | 2 ++ sepolicy/property_contexts | 1 + sepolicy/set_hw.te | 11 +++++++++++ 14 files changed, 75 insertions(+), 6 deletions(-) create mode 100644 build/tasks/kernel.mk create mode 100644 qcom/set_hw.sh create mode 100644 sepolicy/hal_audio_default.te create mode 100644 sepolicy/set_hw.te diff --git a/audio/audio_hw.c b/audio/audio_hw.c index c0cd55d..75d3ff0 100644 --- a/audio/audio_hw.c +++ b/audio/audio_hw.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -41,6 +42,7 @@ #include #include #include +#include #include #include #include @@ -1121,6 +1123,9 @@ static int adev_close(hw_device_t *device) static int adev_open(const hw_module_t* module, const char* name, hw_device_t** device) { + char vendor_hw[PROPERTY_VALUE_MAX] = {0}; + // Prefix for the hdmi path, the board name is the suffix + char path_name[256] = "hdmi_"; ALOGV("adev_open: %s", name); if (strcmp(name, AUDIO_HARDWARE_INTERFACE) != 0) { @@ -1170,6 +1175,15 @@ static int adev_open(const hw_module_t* module, const char* name, goto error_2; } + /* + * To support both the db845c and rb5 we need to used the right mixer path + * we do this by checking the hardware name. Which is set at boot time. + */ + property_get("vendor.hw", vendor_hw, "db845c"); + strlcat(path_name, vendor_hw, 256); + ALOGV("%s: Using mixer path: %s", __func__, path_name); + audio_route_apply_and_update_path(adev->audio_route, path_name); + pthread_mutex_lock(&adev->lock); if (init_aec(CAPTURE_CODEC_SAMPLING_RATE, NUM_AEC_REFERENCE_CHANNELS, CHANNEL_STEREO, &adev->aec)) { diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk new file mode 100644 index 0000000..959347b --- /dev/null +++ b/build/tasks/kernel.mk @@ -0,0 +1,8 @@ +ifneq ($(filter db845c, $(TARGET_DEVICE)),) + +$(PRODUCT_OUT)/dtb.img: $(DB845C_KERNEL_DIR)/sdm845-db845c.dtb + -cat $(DB845C_KERNEL_DIR)/sdm845-db845c.dtb $(DB845C_KERNEL_DIR)/qrb5165-rb5.dtb > $@ + +droidcore: $(PRODUCT_OUT)/dtb.img + +endif diff --git a/db845c/BoardConfig.mk b/db845c/BoardConfig.mk index 99b94f6..7ef8549 100644 --- a/db845c/BoardConfig.mk +++ b/db845c/BoardConfig.mk @@ -19,6 +19,7 @@ BOARD_KERNEL_BASE := 0x80000000 BOARD_KERNEL_CMDLINE := earlycon firmware_class.path=/vendor/firmware/ androidboot.hardware=db845c BOARD_KERNEL_CMDLINE += init=/init androidboot.boot_devices=soc@0/1d84000.ufshc printk.devkmsg=on BOARD_KERNEL_CMDLINE += deferred_probe_timeout=30 +BOARD_KERNEL_CMDLINE += pcie_pme=nomsi #For WiFi to work on rb5 # Image Configuration BOARD_BOOTIMAGE_PARTITION_SIZE := 103079215104 #96M diff --git a/db845c/device.mk b/db845c/device.mk index c08bbc4..b8332a0 100644 --- a/db845c/device.mk +++ b/db845c/device.mk @@ -34,7 +34,6 @@ endif PRODUCT_COPY_FILES := \ $(DB845C_KERNEL_DIR)/Image.gz:kernel \ - $(DB845C_KERNEL_DIR)/sdm845-db845c.dtb:dtb.img \ device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_RAMDISK)/fstab.db845c \ device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.db845c \ device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.db845c.rc \ @@ -50,8 +49,9 @@ PRODUCT_PACKAGES += \ android.hardware.boot@1.2-impl.recovery \ android.hardware.boot@1.2-service -# Install script to set *.usb.controller properties +# Install scripts to set vendor.* properties PRODUCT_COPY_FILES += \ + device/linaro/dragonboard/qcom/set_hw.sh:$(TARGET_COPY_OUT_VENDOR)/bin/set_hw.sh \ device/linaro/dragonboard/qcom/set_udc.sh:$(TARGET_COPY_OUT_VENDOR)/bin/set_udc.sh # Install scripts to set Ethernet MAC address @@ -66,3 +66,4 @@ PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 # Copy firmware files $(call inherit-product-if-exists, vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) +$(call inherit-product-if-exists, vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) diff --git a/db845c/eth_mac_addr.rc b/db845c/eth_mac_addr.rc index e710c19..a30c0a5 100644 --- a/db845c/eth_mac_addr.rc +++ b/db845c/eth_mac_addr.rc @@ -5,5 +5,5 @@ service eth_mac_addr /system/bin/eth_mac_addr.sh disabled oneshot -on post-fs-data +on post-fs-data && property:vendor.hw=db45c start eth_mac_addr diff --git a/etc/mixer_paths.xml b/etc/mixer_paths.xml index dc28741..966e1ef 100644 --- a/etc/mixer_paths.xml +++ b/etc/mixer_paths.xml @@ -1,5 +1,11 @@ - - - + + + + + + + + + diff --git a/qcom/init.qcom.rc b/qcom/init.qcom.rc index f97b502..38d8d00 100644 --- a/qcom/init.qcom.rc +++ b/qcom/init.qcom.rc @@ -1,3 +1,10 @@ +service set_hw /vendor/bin/set_hw.sh + class core + user root + group system + disabled + oneshot + service qrtr-ns /vendor/bin/qrtr-ns -f 1 class core user root @@ -27,6 +34,7 @@ service rmtfs /vendor/bin/rmtfs -o /dev/block/platform/soc@0/1d84000.ufshc/by-na oneshot on early-init + start set_hw exec - root -- /vendor/bin/qrtr-cfg 1 start qrtr-ns diff --git a/qcom/set_hw.sh b/qcom/set_hw.sh new file mode 100644 index 0000000..98f76c3 --- /dev/null +++ b/qcom/set_hw.sh @@ -0,0 +1,12 @@ +#! /vendor/bin/sh +# Set vendor.hw property to run device specific services +# +# grep the device name from /proc/device-tree/compatible + +HW=`/vendor/bin/cat /proc/device-tree/compatible | /vendor/bin/grep rb5` + +if [ -z "${HW}" ]; then + setprop vendor.hw db845c +else + setprop vendor.hw rb5 +fi diff --git a/sepolicy/file.te b/sepolicy/file.te index 54de779..e5a0bd1 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -3,6 +3,7 @@ type sysfs_mss, fs_type, sysfs_type; type sysfs_rmtfs, fs_type, sysfs_type; type sysfs_remoteproc, fs_type, sysfs_type; type sysfs_udc, fs_type, sysfs_type; +type sysfs_dt_compatible, fs_type, sysfs_type; type dri_device, dev_type; type rmtfs_device, dev_type; type modem_block_device, dev_type; diff --git a/sepolicy/file_contexts b/sepolicy/file_contexts index e8738ac..d7419dc 100644 --- a/sepolicy/file_contexts +++ b/sepolicy/file_contexts @@ -42,6 +42,8 @@ /sys/class/udc u:object_r:sysfs_udc:s0 +/sys/firmware/devicetree/base/compatible u:object_r:sysfs_dt_compatible:s0 + /data/vendor/tmp(/.*)? u:object_r:tqftpserv_vendor_data_file:s0 /data/vendor/readwrite(/.*)? u:object_r:tqftpserv_vendor_data_file:s0 /data/vendor/readonly(/.*)? u:object_r:tqftpserv_vendor_data_file:s0 @@ -58,6 +60,7 @@ /vendor/bin/rmtfs u:object_r:rmtfs_exec:s0 /vendor/bin/tqftpserv u:object_r:tqftpserv_exec:s0 /vendor/bin/suspend_blocker u:object_r:suspend_blocker_exec:s0 +/vendor/bin/set_hw\.sh u:object_r:set_hw_exec:s0 /vendor/bin/set_udc\.sh u:object_r:set_udc_exec:s0 /vendor/lib(64)?/dri/.* u:object_r:same_process_hal_file:s0 diff --git a/sepolicy/genfs_contexts b/sepolicy/genfs_contexts index 95ce0cc..e8ddb12 100644 --- a/sepolicy/genfs_contexts +++ b/sepolicy/genfs_contexts @@ -6,6 +6,7 @@ genfscon sysfs /devices/platform/soc@0/8300000.remoteproc u:object_r:sysfs genfscon sysfs /devices/platform/soc@0/17300000.remoteproc u:object_r:sysfs_remoteproc:s0 genfscon sysfs /devices/platform/soc@0/ae00000.mdss u:object_r:sysfs_gpu:s0 genfscon sysfs /class/udc u:object_r:sysfs_udc:s0 +genfscon sysfs /firmware/devicetree/base/compatible u:object_r:sysfs_dt_compatible:s0 #wakeups on db845c genfscon sysfs /devices/platform/soc@0/1c00000.pci/pci0000:00/0000:00:00.0/0000:01:00.0/wakeup/wakeup1 u:object_r:sysfs_wakeup:s0 diff --git a/sepolicy/hal_audio_default.te b/sepolicy/hal_audio_default.te new file mode 100644 index 0000000..cede442 --- /dev/null +++ b/sepolicy/hal_audio_default.te @@ -0,0 +1,2 @@ +# audit2allow +allow hal_audio_default vendor_hw_prop:file { getattr map open read }; diff --git a/sepolicy/property_contexts b/sepolicy/property_contexts index 0d68bd3..9c495ab 100644 --- a/sepolicy/property_contexts +++ b/sepolicy/property_contexts @@ -1 +1,2 @@ vendor.usb.controller u:object_r:vendor_usb_prop:s0 +vendor.hw u:object_r:vendor_hw_prop:s0 diff --git a/sepolicy/set_hw.te b/sepolicy/set_hw.te new file mode 100644 index 0000000..996e574 --- /dev/null +++ b/sepolicy/set_hw.te @@ -0,0 +1,11 @@ +type set_hw, domain; +type set_hw_exec, exec_type, vendor_file_type, file_type; +init_daemon_domain(set_hw); + +vendor_public_prop(vendor_hw_prop) +set_prop(set_hw, vendor_hw_prop) +get_prop(vendor_init, vendor_hw_prop) + +allow set_hw vendor_shell_exec:file rx_file_perms; +allow set_hw vendor_toolbox_exec:file rx_file_perms; +allow set_hw sysfs_dt_compatible:file { open read }; -- cgit v1.2.3 From 98fd0ee79cb034fdee7ebef6a54dd181b0d3a4ca Mon Sep 17 00:00:00 2001 From: Yongqin Liu Date: Thu, 25 Mar 2021 14:15:03 +0800 Subject: db845c/BoardConfig.mk: set bootv3 as the default Re-enable vendor_boot by default for the db845c build This was earlier enabled and then reverted. But should be ok to re-enable now, as long as everyone is using the flash-all.sh script that flashes vendor_boot. Signed-off-by: Yongqin Liu Signed-off-by: John Stultz Change-Id: I819532a5a4d0e1ca41ac4947dd18f4932ecb2a78 --- db845c/BoardConfig.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/db845c/BoardConfig.mk b/db845c/BoardConfig.mk index 7ef8549..2a23017 100644 --- a/db845c/BoardConfig.mk +++ b/db845c/BoardConfig.mk @@ -6,6 +6,7 @@ TARGET_BOARD_PLATFORM := db845c TARGET_NO_KERNEL := false BOARD_INCLUDE_DTB_IN_BOOTIMG := true +TARGET_USES_BOOT_HDR_V3 ?= true ifeq ($(TARGET_USES_BOOT_HDR_V3), true) BOARD_BOOT_HEADER_VERSION := 3 BOARD_KERNEL_PAGESIZE := 4096 -- cgit v1.2.3 From cd06ed5a6c3d51781ff31f1a7d97efc00bbd591b Mon Sep 17 00:00:00 2001 From: Bob Badour Date: Mon, 14 Feb 2022 12:39:56 -0800 Subject: Declare license metadata for copied files. Bug: 151177513 Test: m all dist reportmissinglicenses Change-Id: Ibe2de5bca8c44a6bb66e68282186acb871d90d6f --- Android.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Android.mk b/Android.mk index ed787c7..ca9d582 100644 --- a/Android.mk +++ b/Android.mk @@ -24,6 +24,16 @@ ifneq ($(filter db845c pixel3_mainline rb5, $(TARGET_BOARD_PLATFORM)),) LOCAL_PATH := $(call my-dir) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,.conf)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,.kl)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,.policy)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,.rc)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,.sh)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,.xml)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,fstab.db845c)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,fstab.pixel3_mainline)) +$(eval $(call declare-1p-copy-files,device/linaro/dragonboard,fstab.rb5)) + # If some modules are built directly from this directory (not subdirectories), # their rules should be written here. -- cgit v1.2.3 From 5f2c088f9aaf19355d3471dae6a9a58d24257852 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Tue, 15 Feb 2022 23:48:57 +0000 Subject: dragonboard: Update vendor-firmware-package to 20220210 Update to usign the new vendor-firmware-package ver 20220210. This provides updates for firmware to support the unified build target (db845c) so it fully works on both db845c and rb5. Signed-off-by: John Stultz Change-Id: Ieec85c62849592174a7bf3d76cfe3bc303ca5f4e --- vendor-package-ver.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vendor-package-ver.sh b/vendor-package-ver.sh index 3da9d82..12f4a6f 100755 --- a/vendor-package-ver.sh +++ b/vendor-package-ver.sh @@ -1,8 +1,8 @@ #!/bin/bash -export EXPECTED_LINARO_VENDOR_VERSION=20220106 -export EXPECTED_LINARO_VENDOR_SHA=2359c501cd213c824fc8eb9782fc4f9ef36c8bf75a03e326730ffeb900ad67bf389fb90f659a5a0941fe73c07309ab0720590f94ee0bf9a87ccdc649290f279b -export VND_PKG_URL=https://releases.linaro.org/android/aosp-linaro-vendor-package/extract-linaro_devices-20220106.tgz +export EXPECTED_LINARO_VENDOR_VERSION=20220210 +export EXPECTED_LINARO_VENDOR_SHA=75efc8471f299f64716140712c0785b8e8aeaf5aa7e389a6f12f78ad4962420740da32f4535d795006e78c5f0b77a1cee8c168192a87f668103c00d87d480e6d +export VND_PKG_URL=https://releases.linaro.org/android/aosp-linaro-vendor-package/extract-linaro_devices-20220210.tgz if [ "$1" = "url" ]; then echo $VND_PKG_URL -- cgit v1.2.3 From eccedd396113be155fccf7f53f73bd4e4f16c49b Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Wed, 2 Feb 2022 11:28:48 -0800 Subject: Remove pixel3_mainline target. Unfortunately it has never worked particularly well due to missing driver support and it was getting in the way of some refactoring. The maintainers have indicated that they intend to continue maintaining it out of tree. Bug: 217455793 Change-Id: I2a659a980d32912bec5a1c0869c88e06a29cf9ce --- Android.mk | 2 +- AndroidProducts.mk | 3 +-- pixel3_mainline.mk | 27 ---------------------- pixel3_mainline/BoardConfig.mk | 23 ------------------- pixel3_mainline/device.mk | 42 ----------------------------------- pixel3_mainline/fstab.pixel3_mainline | 8 ------- 6 files changed, 2 insertions(+), 103 deletions(-) delete mode 100644 pixel3_mainline.mk delete mode 100644 pixel3_mainline/BoardConfig.mk delete mode 100644 pixel3_mainline/device.mk delete mode 100644 pixel3_mainline/fstab.pixel3_mainline diff --git a/Android.mk b/Android.mk index ed787c7..4e30bfe 100644 --- a/Android.mk +++ b/Android.mk @@ -20,7 +20,7 @@ # to only building on ARM if they include assembly. Individual makefiles # are responsible for having their own logic, for fine-grained control. -ifneq ($(filter db845c pixel3_mainline rb5, $(TARGET_BOARD_PLATFORM)),) +ifneq ($(filter db845c rb5, $(TARGET_BOARD_PLATFORM)),) LOCAL_PATH := $(call my-dir) diff --git a/AndroidProducts.mk b/AndroidProducts.mk index e5d63dd..3982277 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -12,9 +12,8 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/db845c.mk \ $(LOCAL_DIR)/rb5.mk \ - $(LOCAL_DIR)/pixel3_mainline.mk COMMON_LUNCH_CHOICES := \ db845c-userdebug \ rb5-userdebug \ - pixel3_mainline-userdebug + diff --git a/pixel3_mainline.mk b/pixel3_mainline.mk deleted file mode 100644 index 1b205c2..0000000 --- a/pixel3_mainline.mk +++ /dev/null @@ -1,27 +0,0 @@ -PIXEL3_KERNEL_DIR := device/linaro/dragonboard-kernel/pixel3_mainline/ - -# Inherit the full_base and device configurations -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) -$(call inherit-product, device/linaro/dragonboard/pixel3_mainline/device.mk) -$(call inherit-product, device/linaro/dragonboard/device-common.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) - -# Product overrides -PRODUCT_NAME := pixel3_mainline -PRODUCT_DEVICE := pixel3_mainline -PRODUCT_BRAND := Android - -ifndef PIXEL3_USES_GKI -PIXEL3_USES_GKI := true -endif - -ifeq ($(PIXEL3_USES_GKI), true) -PIXEL3_MODS := $(wildcard $(PIXEL3_KERNEL_DIR)/*.ko) -ifneq ($(PIXEL3_MODS),) - BOARD_VENDOR_KERNEL_MODULES += $(PIXEL3_MODS) - P3_ONLY_VENDOR := %/msm.ko %/dwc3.ko %/dwc3-qcom.ko %/hci_uart.ko %/btqca.ko %/incrementalfs.ko - P3_ONLY_VENDOR += %/ath10k_core.ko %/ath10k_pci.ko %/ath10k_snoc.ko %/ath.ko - - BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(filter-out $(P3_ONLY_VENDOR),$(PIXEL3_MODS)) -endif -endif diff --git a/pixel3_mainline/BoardConfig.mk b/pixel3_mainline/BoardConfig.mk deleted file mode 100644 index 1ee5544..0000000 --- a/pixel3_mainline/BoardConfig.mk +++ /dev/null @@ -1,23 +0,0 @@ -include device/linaro/dragonboard/BoardConfigCommon.mk - -# Board Information -TARGET_BOOTLOADER_BOARD_NAME := pixel3_mainline -TARGET_BOARD_PLATFORM := pixel3_mainline - -ifeq ($(PIXEL3_KERNEL_FOUND), true) - # Bootloader/Kernel Configuration - TARGET_NO_KERNEL := false - BOARD_KERNEL_BAS := 0x00000000 - BOARD_KERNEL_PAGESIZE := 4096 - BOARD_KERNEL_TAGS_OFFSET := 0x01E00000 - BOARD_RAMDISK_OFFSET := 0x02000000 -endif - -# Image Configuration -BOARD_BOOTIMAGE_PARTITION_SIZE := 0x04000000 -BOARD_USERDATAIMAGE_PARTITION_SIZE := 10737418240 -BOARD_FLASH_BLOCK_SIZE := 131072 -# Super partition -BOARD_SUPER_PARTITION_SIZE := 2952790016 -BOARD_DB_DYNAMIC_PARTITIONS_SIZE := 2948595712 # Reserve 4M for DAP metadata -BOARD_SUPER_PARTITION_METADATA_DEVICE := system_b diff --git a/pixel3_mainline/device.mk b/pixel3_mainline/device.mk deleted file mode 100644 index f1af165..0000000 --- a/pixel3_mainline/device.mk +++ /dev/null @@ -1,42 +0,0 @@ -# -# Copyright (C) 2011 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. -# - -# copied from crosshatch -# setup dalvik vm configs -$(call inherit-product, frameworks/native/build/phone-xhdpi-2048-dalvik-heap.mk) - -PRODUCT_COPY_FILES := \ - device/linaro/dragonboard/pixel3_mainline/fstab.pixel3_mainline:$(TARGET_COPY_OUT_RAMDISK)/fstab.pixel3_mainline \ - device/linaro/dragonboard/pixel3_mainline/fstab.pixel3_mainline:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.pixel3_mainline \ - device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.pixel3_mainline.rc \ - device/linaro/dragonboard/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.pixel3_mainline.usb.rc \ - device/linaro/dragonboard/common.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/pixel3_mainline.kl - -ifneq (,$(wildcard $(PIXEL3_KERNEL_DIR)/Image.gz-dtb)) - PRODUCT_COPY_FILES += $(PIXEL3_KERNEL_DIR)/Image.gz-dtb:kernel - PIXEL3_KERNEL_FOUND := true -else - PIXEL3_KERNEL_FOUND := false -endif - -# Build generic Audio HAL -PRODUCT_PACKAGES := audio.primary.pixel3_mainline - -PRODUCT_PROPERTY_OVERRIDES += \ - ro.sf.lcd_density=443 - -# Copy firmware files -$(call inherit-product-if-exists, $(LOCAL_PATH)/firmware/device.mk) diff --git a/pixel3_mainline/fstab.pixel3_mainline b/pixel3_mainline/fstab.pixel3_mainline deleted file mode 100644 index 5d82515..0000000 --- a/pixel3_mainline/fstab.pixel3_mainline +++ /dev/null @@ -1,8 +0,0 @@ -system /system ext4 noatime,ro,errors=panic wait,logical,first_stage_mount -/dev/block/platform/soc@0/1d84000.ufshc/by-name/userdata /data ext4 discard,noatime,noauto_da_alloc,data=ordered,user_xattr,barrier=1,inlinecrypt wait,formattable,fileencryption=aes-256-xts:aes-256-cts:v2+inlinecrypt_optimized,quota -/dev/block/platform/soc@0/1d84000.ufshc/by-name/metadata /metadata ext4 noatime,nosuid,nodev,discard wait,formattable -#/dev/block/platform/soc@0/1d84000.ufshc/by-name/misc /misc emmc defaults defaults -/devices/platform/soc@0/8804000.sdhci/mmc_host/mmc* auto auto defaults voldmanaged=sdcard1:auto -vendor /vendor ext4 noatime,ro,errors=panic wait,logical,first_stage_mount -system_ext /system_ext ext4 noatime,ro,errors=panic wait,logical,first_stage_mount -product /product ext4 noatime,ro,errors=panic wait,logical,first_stage_mount -- cgit v1.2.3 From c934188606b47f6041043d37fffbebbff9d00c0b Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Wed, 2 Feb 2022 11:33:05 -0800 Subject: Move the architecture definitions into the device-specific BoardConfigs. Newer SOC generations may have different levels of CPU feature support (e.g. SM8450 which is ARMv9), so let's allow the individual boards to specify their own sets of features. Bug: 217455793 Change-Id: I6852683ad14a8fa6b0fc22f39e0c9c7823d1da2c --- BoardConfigCommon.mk | 13 ------------- db845c/BoardConfig.mk | 13 +++++++++++++ rb5/BoardConfig.mk | 13 +++++++++++++ 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index 9b19707..fa12df0 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -13,19 +13,6 @@ # limitations under the License. # -# Primary Arch -TARGET_ARCH := arm64 -TARGET_ARCH_VARIANT := armv8-2a -TARGET_CPU_VARIANT := kryo385 -TARGET_CPU_ABI := arm64-v8a - -# Secondary Arch -TARGET_2ND_ARCH := arm -TARGET_2ND_ARCH_VARIANT := armv8-2a -TARGET_2ND_CPU_VARIANT := kryo385 -TARGET_2ND_CPU_ABI := armeabi-v7a -TARGET_2ND_CPU_ABI2 := armeabi - TARGET_USES_64_BIT_BINDER := true TARGET_NO_BOOTLOADER := true diff --git a/db845c/BoardConfig.mk b/db845c/BoardConfig.mk index 7ef8549..2c1fb25 100644 --- a/db845c/BoardConfig.mk +++ b/db845c/BoardConfig.mk @@ -1,5 +1,18 @@ include device/linaro/dragonboard/BoardConfigCommon.mk +# Primary Arch +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-2a +TARGET_CPU_VARIANT := kryo385 +TARGET_CPU_ABI := arm64-v8a + +# Secondary Arch +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv8-2a +TARGET_2ND_CPU_VARIANT := kryo385 +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi + # Board Information TARGET_BOOTLOADER_BOARD_NAME := db845c TARGET_BOARD_PLATFORM := db845c diff --git a/rb5/BoardConfig.mk b/rb5/BoardConfig.mk index 272f697..a4f1d09 100644 --- a/rb5/BoardConfig.mk +++ b/rb5/BoardConfig.mk @@ -1,5 +1,18 @@ include device/linaro/dragonboard/BoardConfigCommon.mk +# Primary Arch +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-2a +TARGET_CPU_VARIANT := kryo385 +TARGET_CPU_ABI := arm64-v8a + +# Secondary Arch +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv8-2a +TARGET_2ND_CPU_VARIANT := kryo385 +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi + # Board Information TARGET_BOOTLOADER_BOARD_NAME := rb5 TARGET_BOARD_PLATFORM := rb5 -- cgit v1.2.3 From e8b96e36869eae7f4bef8d6616429ad0c0d92d74 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Wed, 2 Feb 2022 11:38:11 -0800 Subject: Factor out the full device configuration. In an upcoming patch we are going to add "mini" device configurations that avoid most of the usual driver dependencies. This requires splitting out the device-specific configuration from the configuration required for a full device image. Bug: 217455793 Change-Id: Id17d162d142a2595e54e163f5faaf7dcf9b68e35 --- BoardConfigCommon.mk | 3 - build/tasks/kernel.mk | 4 +- db845c.mk | 21 +---- db845c/device.mk | 21 +---- device-common.mk | 257 ++++++-------------------------------------------- full.mk | 245 +++++++++++++++++++++++++++++++++++++++++++++++ rb5.mk | 22 +---- rb5/device.mk | 23 ++--- 8 files changed, 291 insertions(+), 305 deletions(-) create mode 100644 full.mk diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index fa12df0..2f3be01 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -61,9 +61,6 @@ BOARD_SEPOLICY_DIRS += \ device/linaro/dragonboard/sepolicy \ system/bt/vendor_libs/linux/sepolicy -DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml -DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml - # Enable dex pre-opt to speed up initial boot ifeq ($(HOST_OS),linux) ifeq ($(WITH_DEXPREOPT),) diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk index 959347b..a16c54f 100644 --- a/build/tasks/kernel.mk +++ b/build/tasks/kernel.mk @@ -1,7 +1,7 @@ ifneq ($(filter db845c, $(TARGET_DEVICE)),) -$(PRODUCT_OUT)/dtb.img: $(DB845C_KERNEL_DIR)/sdm845-db845c.dtb - -cat $(DB845C_KERNEL_DIR)/sdm845-db845c.dtb $(DB845C_KERNEL_DIR)/qrb5165-rb5.dtb > $@ +$(PRODUCT_OUT)/dtb.img: $(TARGET_KERNEL_DIR)/sdm845-db845c.dtb $(wildcard $(TARGET_KERNEL_DIR)/qrb5165-rb5.dtb) + cat $^ > $@ droidcore: $(PRODUCT_OUT)/dtb.img diff --git a/db845c.mk b/db845c.mk index dd5dfb0..a402ce2 100644 --- a/db845c.mk +++ b/db845c.mk @@ -1,26 +1,7 @@ -ifndef TARGET_KERNEL_USE -TARGET_KERNEL_USE := 5.15 -endif -DB845C_KERNEL_DIR ?= device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE) - -# Inherit the full_base and device configurations -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, device/linaro/dragonboard/full.mk) $(call inherit-product, device/linaro/dragonboard/db845c/device.mk) -$(call inherit-product, device/linaro/dragonboard/device-common.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) # Product overrides PRODUCT_NAME := db845c PRODUCT_DEVICE := db845c PRODUCT_BRAND := Android - -ifndef DB845C_USES_GKI -DB845C_USES_GKI := true -endif - -ifeq ($(DB845C_USES_GKI), true) - DB845C_MODS := $(wildcard $(DB845C_KERNEL_DIR)/*.ko) - ifneq ($(DB845C_MODS),) - BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(DB845C_MODS) - endif -endif diff --git a/db845c/device.mk b/db845c/device.mk index b8332a0..63e24a1 100644 --- a/db845c/device.mk +++ b/db845c/device.mk @@ -18,28 +18,12 @@ $(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) include $(LOCAL_PATH)/../vendor-package-ver.mk -# Enable Virtual A/B -AB_OTA_UPDATER := true -AB_OTA_PARTITIONS += \ - product \ - system \ - system_ext \ - vendor - ifeq ($(TARGET_USES_BOOT_HDR_V3), true) $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) else $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) endif -PRODUCT_COPY_FILES := \ - $(DB845C_KERNEL_DIR)/Image.gz:kernel \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_RAMDISK)/fstab.db845c \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.db845c \ - device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.db845c.rc \ - device/linaro/dragonboard/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.db845c.usb.rc \ - device/linaro/dragonboard/common.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/db845c.kl - # Build generic Audio HAL PRODUCT_PACKAGES := audio.primary.db845c @@ -67,3 +51,8 @@ PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 # Copy firmware files $(call inherit-product-if-exists, vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) $(call inherit-product-if-exists, vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) + +TARGET_HARDWARE := db845c +TARGET_KERNEL_USE ?= 5.15 + +include device/linaro/dragonboard/device-common.mk diff --git a/device-common.mk b/device-common.mk index 87f2bb4..ee24e4f 100644 --- a/device-common.mk +++ b/device-common.mk @@ -1,5 +1,5 @@ # -# Copyright (C) 2014 The Android Open-Source Project +# Copyright (C) 2022 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. @@ -14,27 +14,24 @@ # limitations under the License. # -# Enable updating of APEXes -$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) +TARGET_KERNEL_DIR ?= device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE) -# Device overlay -DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay +TARGET_USES_GKI ?= true -# Build and run only ART -PRODUCT_RUNTIMES := runtime_libart_default +ifeq ($(TARGET_USES_GKI), true) + TARGET_MODS := $(wildcard $(TARGET_KERNEL_DIR)/*.ko) + ifneq ($(TARGET_MODS),) + BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(TARGET_MODS) + endif +endif PRODUCT_SHIPPING_API_LEVEL := 31 -PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false - -# Enable Scoped Storage related -$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) - # Check vendor package version # If you need to make changes to the vendor partition, # please modify the source git project here: # https://staging-git.codelinaro.org/linaro/linaro-aosp/aosp-linaro-vendor-package -include $(LOCAL_PATH)/vendor-package-ver.mk +include device/linaro/dragonboard/vendor-package-ver.mk ifneq (,$(wildcard $(LINARO_VENDOR_PATH)/db845c/$(EXPECTED_LINARO_VENDOR_VERSION)/version.mk)) # Unfortunately inherit-product doesn't export build variables from the # called make file to the caller, so we have to include it directly here. @@ -54,226 +51,30 @@ else # Would be good to error out here, but that causes other issues endif - -# vndk -PRODUCT_PACKAGES := vndk-sp +PRODUCT_SOONG_NAMESPACES += \ + device/linaro/dragonboard \ + external/mesa3d \ + vendor/linaro/linux-firmware/$(EXPECTED_LINARO_VENDOR_VERSION) \ + vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION) \ + vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION) # Dynamic partitions PRODUCT_BUILD_SUPER_PARTITION := true PRODUCT_USE_DYNAMIC_PARTITIONS := true PRODUCT_USE_DYNAMIC_PARTITION_SIZE := true -# HACK: Avoid usb crash -PRODUCT_PRODUCT_PROPERTIES := \ - persist.adb.nonblocking_ffs=0 \ - ro.adb.nonblocking_ffs=0 - -# Display -PRODUCT_PACKAGES += \ - android.hardware.drm@1.3-service.clearkey \ - android.hardware.drm@1.3-service.widevine \ - libGLES_mesa \ - libEGL_mesa \ - libGLESv1_CM_mesa \ - libGLESv2_mesa \ - libgallium_dri \ - libglapi - -PRODUCT_PROPERTY_OVERRIDES += \ - ro.hardware.gralloc=minigbm_msm \ - ro.hardware.hwcomposer=drm \ - ro.opengles.version=196608 \ - persist.demo.rotationlock=1 - -# Vulkan -PRODUCT_PACKAGES += \ - vulkan.freedreno +# Enable Virtual A/B +AB_OTA_UPDATER := true +AB_OTA_PARTITIONS += \ + product \ + system \ + system_ext \ + vendor PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ - frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ - frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ - -PRODUCT_VENDOR_PROPERTIES += \ - ro.hardware.vulkan=freedreno - -# Will need to enable this after ANDROID_external_memory_android_hardware_buffer lands in mesa -#TARGET_USES_VULKAN = true - -# -# Hardware Composer HAL -# -PRODUCT_PACKAGES += \ - hwcomposer.drm \ - android.hardware.graphics.composer@2.3-impl \ - android.hardware.graphics.composer@2.3-service - -# -# Gralloc HAL -# -PRODUCT_PACKAGES += \ - gralloc.minigbm_msm \ - android.hardware.graphics.allocator@4.0-service.minigbm_msm \ - android.hardware.graphics.mapper@4.0-impl.minigbm_msm - - -# Use Launcher3QuickStep -PRODUCT_PACKAGES += Launcher3QuickStep - -# Enable WiFi -PRODUCT_PACKAGES += \ - hostapd \ - libwpa_client \ - wpa_supplicant \ - wpa_supplicant.conf \ - wificond - -PRODUCT_PROPERTY_OVERRIDES += \ - wifi.interface=wlan0 \ - wifi.supplicant_scan_interval=15 - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ - frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ - $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ - $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf - -# Enable BT -PRODUCT_PACKAGES += \ - android.hardware.bluetooth@1.1-service.btlinux - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ - frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml - -# -# Power HAL -# -PRODUCT_PACKAGES += \ - android.hardware.power-service.example - -# -# PowerStats HAL -# -PRODUCT_PACKAGES += \ - android.hardware.power.stats-service.example - - -# Audio -PRODUCT_PACKAGES += \ - android.hardware.audio.service \ - android.hardware.audio@7.0-impl \ - android.hardware.audio.effect@7.0-impl \ - android.hardware.soundtrigger@2.3-impl \ - android.hardware.bluetooth.audio@2.0-impl - -# Build default bluetooth a2dp and usb audio HALs -PRODUCT_PACKAGES += \ - audio.a2dp.default \ - audio.bluetooth.default \ - audio.usb.default \ - audio.r_submix.default - -# Build tinyalsa cli tools for debugging -PRODUCT_PACKAGES += \ - tinyplay \ - tinycap \ - tinymix \ - tinypcminfo - -# audio policy configuration -USE_XML_AUDIO_POLICY_CONF := 1 -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ - $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ - $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ - frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ - frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ - frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \ - frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ - frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ - frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ - frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ - frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml - -# Copy media codecs config file -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ - frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ - frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml - -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ - $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy - -# Copy hardware config file(s) -PRODUCT_COPY_FILES += \ - device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml - - -# External Web Cam support -PRODUCT_PACKAGES += \ - android.hardware.camera.provider@2.4-impl \ - android.hardware.camera.provider@2.4-external-service - -PRODUCT_COPY_FILES += \ - frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ - $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ - $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml - -# Keymaster -PRODUCT_PACKAGES += \ - android.hardware.keymaster@3.0-impl \ - android.hardware.keymaster@3.0-service - -# Gatekeeper -PRODUCT_PACKAGES += \ - android.hardware.gatekeeper@1.0-service.software - -# Health -PRODUCT_PACKAGES += \ - android.hardware.health@2.1-impl-cuttlefish \ - android.hardware.health@2.1-service - -# TODO: disable this service once we implement system suspend -PRODUCT_PACKAGES += \ - suspend_blocker - -# mkbootimg host tool to build boot.img separately -PRODUCT_HOST_PACKAGES := \ - mkbootimg - -# Userspace vendor services for WiFi/Audio to work -PRODUCT_PACKAGES += \ - pd-mapper \ - qrtr-ns \ - qrtr-cfg \ - qrtr-lookup \ - rmtfs \ - tqftpserv - -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/qcom/init.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.qcom.rc - -# Copy standard platform config files -PRODUCT_COPY_FILES += \ - $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \ - frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ - frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ - frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \ - frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \ - frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ - frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \ - frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ - frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ - frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ - frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml - -PRODUCT_SOONG_NAMESPACES += \ - device/linaro/dragonboard \ - external/mesa3d \ - vendor/linaro/linux-firmware/$(EXPECTED_LINARO_VENDOR_VERSION) \ - vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION) \ - vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION) - + $(TARGET_KERNEL_DIR)/Image.gz:kernel \ + device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_RAMDISK)/first_stage_ramdisk/fstab.$(TARGET_HARDWARE) \ + device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.$(TARGET_HARDWARE) \ + device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(TARGET_HARDWARE).rc \ + device/linaro/dragonboard/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.$(TARGET_HARDWARE).usb.rc \ + device/linaro/dragonboard/common.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/$(TARGET_HARDWARE).kl diff --git a/full.mk b/full.mk new file mode 100644 index 0000000..a87cb1c --- /dev/null +++ b/full.mk @@ -0,0 +1,245 @@ +# +# 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. +# + +# Enable updating of APEXes +$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) + +# Device overlay +DEVICE_PACKAGE_OVERLAYS := $(LOCAL_PATH)/overlay + +# Build and run only ART +PRODUCT_RUNTIMES := runtime_libart_default + +PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false + +# Enable Scoped Storage related +$(call inherit-product, $(SRC_TARGET_DIR)/product/emulated_storage.mk) + +# vndk +PRODUCT_PACKAGES := vndk-sp + +# HACK: Avoid usb crash +PRODUCT_PRODUCT_PROPERTIES := \ + persist.adb.nonblocking_ffs=0 \ + ro.adb.nonblocking_ffs=0 + +# Display +PRODUCT_PACKAGES += \ + android.hardware.drm@1.3-service.clearkey \ + android.hardware.drm@1.3-service.widevine \ + libGLES_mesa \ + libEGL_mesa \ + libGLESv1_CM_mesa \ + libGLESv2_mesa \ + libgallium_dri \ + libglapi + +PRODUCT_PROPERTY_OVERRIDES += \ + ro.hardware.gralloc=minigbm_msm \ + ro.hardware.hwcomposer=drm \ + ro.opengles.version=196608 \ + persist.demo.rotationlock=1 + +# Vulkan +PRODUCT_PACKAGES += \ + vulkan.freedreno + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.vulkan.level-1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.level.xml \ + frameworks/native/data/etc/android.hardware.vulkan.version-1_1.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.vulkan.version.xml \ + frameworks/native/data/etc/android.software.vulkan.deqp.level-2021-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.vulkan.deqp.level.xml \ + +PRODUCT_VENDOR_PROPERTIES += \ + ro.hardware.vulkan=freedreno + +# Will need to enable this after ANDROID_external_memory_android_hardware_buffer lands in mesa +#TARGET_USES_VULKAN = true + +# +# Hardware Composer HAL +# +PRODUCT_PACKAGES += \ + hwcomposer.drm \ + android.hardware.graphics.composer@2.3-impl \ + android.hardware.graphics.composer@2.3-service + +# +# Gralloc HAL +# +PRODUCT_PACKAGES += \ + gralloc.minigbm_msm \ + android.hardware.graphics.allocator@4.0-service.minigbm_msm \ + android.hardware.graphics.mapper@4.0-impl.minigbm_msm + + +# Use Launcher3QuickStep +PRODUCT_PACKAGES += Launcher3QuickStep + +# Enable WiFi +PRODUCT_PACKAGES += \ + hostapd \ + libwpa_client \ + wpa_supplicant \ + wpa_supplicant.conf \ + wificond + +PRODUCT_PROPERTY_OVERRIDES += \ + wifi.interface=wlan0 \ + wifi.supplicant_scan_interval=15 + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.wifi.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.xml \ + frameworks/native/data/etc/android.hardware.wifi.direct.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.wifi.direct.xml \ + $(LOCAL_PATH)/wpa_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/wpa_supplicant_overlay.conf \ + $(LOCAL_PATH)/p2p_supplicant_overlay.conf:$(TARGET_COPY_OUT_VENDOR)/etc/wifi/p2p_supplicant_overlay.conf + +# Enable BT +PRODUCT_PACKAGES += \ + android.hardware.bluetooth@1.1-service.btlinux + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.bluetooth.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth.xml \ + frameworks/native/data/etc/android.hardware.bluetooth_le.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.bluetooth_le.xml + +# +# Power HAL +# +PRODUCT_PACKAGES += \ + android.hardware.power-service.example + +# +# PowerStats HAL +# +PRODUCT_PACKAGES += \ + android.hardware.power.stats-service.example + + +# Audio +PRODUCT_PACKAGES += \ + android.hardware.audio.service \ + android.hardware.audio@7.0-impl \ + android.hardware.audio.effect@7.0-impl \ + android.hardware.soundtrigger@2.3-impl \ + android.hardware.bluetooth.audio@2.0-impl + +# Build default bluetooth a2dp and usb audio HALs +PRODUCT_PACKAGES += \ + audio.a2dp.default \ + audio.bluetooth.default \ + audio.usb.default \ + audio.r_submix.default + +# Build tinyalsa cli tools for debugging +PRODUCT_PACKAGES += \ + tinyplay \ + tinycap \ + tinymix \ + tinypcminfo + +# audio policy configuration +USE_XML_AUDIO_POLICY_CONF := 1 +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/etc/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ + $(LOCAL_PATH)/etc/audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration.xml \ + $(LOCAL_PATH)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_configuration_bluetooth_legacy_hal.xml \ + frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/primary_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/primary_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/usb_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/usb_audio_policy_configuration.xml \ + frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \ + frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml + +# Copy media codecs config file +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/etc/media_codecs.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs.xml \ + frameworks/av/media/libeffects/data/audio_effects.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_effects.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_video.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_video.xml \ + frameworks/av/media/libstagefright/data/media_codecs_google_audio.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_google_audio.xml + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediacodec.policy \ + $(LOCAL_PATH)/seccomp_policy/mediaswcodec.policy:$(TARGET_COPY_OUT_VENDOR)/etc/seccomp_policy/mediaswcodec.policy + +# Copy hardware config file(s) +PRODUCT_COPY_FILES += \ + device/linaro/dragonboard/etc/permissions/android.software.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.xml + + +# External Web Cam support +PRODUCT_PACKAGES += \ + android.hardware.camera.provider@2.4-impl \ + android.hardware.camera.provider@2.4-external-service + +PRODUCT_COPY_FILES += \ + frameworks/native/data/etc/android.hardware.camera.front.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.camera.front.xml \ + $(LOCAL_PATH)/etc/media_profiles.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_profiles_V1_0.xml \ + $(LOCAL_PATH)/etc/external_camera_config.xml:$(TARGET_COPY_OUT_VENDOR)/etc/external_camera_config.xml + +# Keymaster +PRODUCT_PACKAGES += \ + android.hardware.keymaster@3.0-impl \ + android.hardware.keymaster@3.0-service + +# Gatekeeper +PRODUCT_PACKAGES += \ + android.hardware.gatekeeper@1.0-service.software + +# Health +PRODUCT_PACKAGES += \ + android.hardware.health@2.1-impl-cuttlefish \ + android.hardware.health@2.1-service + +# TODO: disable this service once we implement system suspend +PRODUCT_PACKAGES += \ + suspend_blocker + +# mkbootimg host tool to build boot.img separately +PRODUCT_HOST_PACKAGES := \ + mkbootimg + +# Userspace vendor services for WiFi/Audio to work +PRODUCT_PACKAGES += \ + pd-mapper \ + qrtr-ns \ + qrtr-cfg \ + qrtr-lookup \ + rmtfs \ + tqftpserv + +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/qcom/init.qcom.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.qcom.rc + +# Copy standard platform config files +PRODUCT_COPY_FILES += \ + $(LOCAL_PATH)/ueventd.common.rc:$(TARGET_COPY_OUT_VENDOR)/ueventd.rc \ + frameworks/native/data/etc/android.software.cts.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.cts.xml \ + frameworks/native/data/etc/android.software.app_widgets.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.app_widgets.xml \ + frameworks/native/data/etc/android.software.backup.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.backup.xml \ + frameworks/native/data/etc/android.software.voice_recognizers.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.voice_recognizers.xml \ + frameworks/native/data/etc/android.hardware.ethernet.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.ethernet.xml \ + frameworks/native/data/etc/android.software.print.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.print.xml \ + frameworks/native/data/etc/android.hardware.usb.accessory.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.accessory.xml \ + frameworks/native/data/etc/android.hardware.usb.host.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.hardware.usb.host.xml \ + frameworks/native/data/etc/android.software.opengles.deqp.level-2020-03-01.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.opengles.deqp.level.xml \ + frameworks/native/data/etc/android.software.device_admin.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/android.software.device_admin.xml + +DEVICE_MANIFEST_FILE := device/linaro/dragonboard/manifest.xml +DEVICE_MATRIX_FILE := device/linaro/dragonboard/compatibility_matrix.xml + +$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) diff --git a/rb5.mk b/rb5.mk index 2cda9b0..8d4f174 100644 --- a/rb5.mk +++ b/rb5.mk @@ -1,27 +1,7 @@ -ifndef TARGET_KERNEL_USE -TARGET_KERNEL_USE := 5.15 -endif -RB5_KERNEL_DIR := device/linaro/dragonboard-kernel/android-$(TARGET_KERNEL_USE) - -# Inherit the full_base and device configurations -$(call inherit-product, $(SRC_TARGET_DIR)/product/core_64_bit.mk) +$(call inherit-product, device/linaro/dragonboard/full.mk) $(call inherit-product, device/linaro/dragonboard/rb5/device.mk) -$(call inherit-product, device/linaro/dragonboard/device-common.mk) -$(call inherit-product, $(SRC_TARGET_DIR)/product/full_base.mk) # Product overrides PRODUCT_NAME := rb5 PRODUCT_DEVICE := rb5 PRODUCT_BRAND := Android - -ifndef RB5_USES_GKI - RB5_USES_GKI := true -endif - -ifeq ($(RB5_USES_GKI), true) - RB5_MODS := $(wildcard $(RB5_KERNEL_DIR)/*.ko) - ifneq ($(RB5_MODS),) - RB5_SKIP_MODS := %/venus-core.ko %/venus-dec.ko %/venus-enc.ko - BOARD_VENDOR_RAMDISK_KERNEL_MODULES := $(filter-out $(RB5_SKIP_MODS),$(RB5_MODS)) - endif -endif diff --git a/rb5/device.mk b/rb5/device.mk index 55388d9..c5f6774 100644 --- a/rb5/device.mk +++ b/rb5/device.mk @@ -19,25 +19,10 @@ $(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-he include $(LOCAL_PATH)/../vendor-package-ver.mk -# Enable Virtual A/B -AB_OTA_UPDATER := true -AB_OTA_PARTITIONS += \ - product \ - system \ - system_ext \ - vendor - $(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota/launch_with_vendor_ramdisk.mk) PRODUCT_COPY_FILES := \ - $(RB5_KERNEL_DIR)/Image.gz:kernel \ - $(RB5_KERNEL_DIR)/qrb5165-rb5.dtb:dtb.img \ $(LOCAL_PATH)/mixer_paths.xml:$(TARGET_COPY_OUT_VENDOR)/etc/mixer_paths.xml \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_RAMDISK)/fstab.rb5 \ - device/linaro/dragonboard/fstab.common:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.rb5 \ - device/linaro/dragonboard/init.common.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.rb5.rc \ - device/linaro/dragonboard/init.common.usb.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/init.rb5.usb.rc \ - device/linaro/dragonboard/common.kl:$(TARGET_COPY_OUT_VENDOR)/usr/keylayout/rb5.kl # Build generic Audio HAL PRODUCT_PACKAGES := audio.primary.rb5 @@ -55,3 +40,11 @@ PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=160 # Copy firmware files $(call inherit-product-if-exists, vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION)/device.mk) + +TARGET_DTB := qrb5165-rb5.dtb +TARGET_HARDWARE := rb5 +TARGET_KERNEL_USE ?= 5.15 + +include device/linaro/dragonboard/device-common.mk + +PRODUCT_COPY_FILES += $(TARGET_KERNEL_DIR)/qrb5165-rb5.dtb:dtb.img -- cgit v1.2.3 From c7a8d59d894f572da1a519970897c2a99d120523 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Wed, 2 Feb 2022 11:25:06 -0800 Subject: Create a mini configuration for the dragonboards. The goal of the mini configuration is to define a device configuration with minimal driver dependencies. The only strict requirements are storage (UFS) and USB which provides an ADB connection. This also implies software crypto for userdata because drivers for the hardware crypto engine are not necessarily available. This allows for development of low level pieces of the stack such as the kernel and libc on hardware which does not have a full set of drivers available in the mainline kernel. Currently this implies no zygote because of a lack of support for headless mode. This limits the amount of testing possible but if this becomes possible in the future we could add the zygote to the mini configuration. To show what this would look like for existing devices, add db845c_mini and rb5_mini targets. Bug: 217455793 Tested: db845c and db845c_mini boot tested, rb5 and rb5_mini build tested Change-Id: I8f8b467a4dfad68f6e2e53954b5944c6155de782 --- AndroidProducts.mk | 2 ++ build/tasks/kernel.mk | 2 +- db845c_mini.mk | 7 +++++++ mini-manifest.xml | 2 ++ mini.mk | 44 ++++++++++++++++++++++++++++++++++++++++++++ rb5_mini.mk | 7 +++++++ 6 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 db845c_mini.mk create mode 100644 mini-manifest.xml create mode 100644 mini.mk create mode 100644 rb5_mini.mk diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 3982277..485438f 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -11,7 +11,9 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/db845c.mk \ + $(LOCAL_DIR)/db845c_mini.mk \ $(LOCAL_DIR)/rb5.mk \ + $(LOCAL_DIR)/rb5_mini.mk \ COMMON_LUNCH_CHOICES := \ db845c-userdebug \ diff --git a/build/tasks/kernel.mk b/build/tasks/kernel.mk index a16c54f..7723dc3 100644 --- a/build/tasks/kernel.mk +++ b/build/tasks/kernel.mk @@ -1,4 +1,4 @@ -ifneq ($(filter db845c, $(TARGET_DEVICE)),) +ifneq ($(filter db845c db845c_mini, $(TARGET_DEVICE)),) $(PRODUCT_OUT)/dtb.img: $(TARGET_KERNEL_DIR)/sdm845-db845c.dtb $(wildcard $(TARGET_KERNEL_DIR)/qrb5165-rb5.dtb) cat $^ > $@ diff --git a/db845c_mini.mk b/db845c_mini.mk new file mode 100644 index 0000000..01ff129 --- /dev/null +++ b/db845c_mini.mk @@ -0,0 +1,7 @@ +$(call inherit-product, device/linaro/dragonboard/mini.mk) +$(call inherit-product, device/linaro/dragonboard/db845c/device.mk) + +# Product overrides +PRODUCT_NAME := db845c_mini +PRODUCT_DEVICE := db845c +PRODUCT_BRAND := Android diff --git a/mini-manifest.xml b/mini-manifest.xml new file mode 100644 index 0000000..6d93a06 --- /dev/null +++ b/mini-manifest.xml @@ -0,0 +1,2 @@ + + diff --git a/mini.mk b/mini.mk new file mode 100644 index 0000000..eb2d366 --- /dev/null +++ b/mini.mk @@ -0,0 +1,44 @@ +# +# Copyright (C) 2022 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_no_zygote.mk) +$(call inherit-product, device/generic/goldfish/minimal_system.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/updatable_apex.mk) + +PRODUCT_PACKAGES += \ + android.hardware.keymaster@4.1-service \ + android.hidl.allocator@1.0-service \ + android.system.suspend@1.0-service \ + com.android.i18n \ + com.android.runtime \ + keystore2 \ + init_vendor \ + libstatshidl \ + mediaserver \ + selinux_policy_nonsystem \ + system_compatibility_matrix.xml \ + system_manifest.xml \ + tune2fs \ + vdc \ + vendor_compatibility_matrix.xml \ + vendor_manifest.xml \ + +# Disable vintf manifest checking. The mini targets do not have the usual +# set of hardware interfaces, some of which are required by the vintf +# compatibility matrix. +PRODUCT_ENFORCE_VINTF_MANIFEST_OVERRIDE := false +DEVICE_MANIFEST_FILE := device/linaro/dragonboard/mini-manifest.xml diff --git a/rb5_mini.mk b/rb5_mini.mk new file mode 100644 index 0000000..302e217 --- /dev/null +++ b/rb5_mini.mk @@ -0,0 +1,7 @@ +$(call inherit-product, device/linaro/dragonboard/mini.mk) +$(call inherit-product, device/linaro/dragonboard/rb5/device.mk) + +# Product overrides +PRODUCT_NAME := rb5_mini +PRODUCT_DEVICE := rb5 +PRODUCT_BRAND := Android -- cgit v1.2.3 From 157c3964185da74683665259f88e0e573de09116 Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Mon, 31 Jan 2022 18:19:06 -0800 Subject: Add a sm8450_mini target. This is a mini configuration target for the SM8450 QRD. Bug: 217455793 Change-Id: I9ef8e57207aa96ec1f8193e8d8cd5dfc47567d38 --- AndroidProducts.mk | 1 + sm8450/BoardConfig.mk | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++ sm8450/device.mk | 26 +++++++++++++++++++++++ sm8450_mini.mk | 7 +++++++ 4 files changed, 92 insertions(+) create mode 100644 sm8450/BoardConfig.mk create mode 100644 sm8450/device.mk create mode 100644 sm8450_mini.mk diff --git a/AndroidProducts.mk b/AndroidProducts.mk index 485438f..3492246 100644 --- a/AndroidProducts.mk +++ b/AndroidProducts.mk @@ -14,6 +14,7 @@ PRODUCT_MAKEFILES := \ $(LOCAL_DIR)/db845c_mini.mk \ $(LOCAL_DIR)/rb5.mk \ $(LOCAL_DIR)/rb5_mini.mk \ + $(LOCAL_DIR)/sm8450_mini.mk \ COMMON_LUNCH_CHOICES := \ db845c-userdebug \ diff --git a/sm8450/BoardConfig.mk b/sm8450/BoardConfig.mk new file mode 100644 index 0000000..de61cea --- /dev/null +++ b/sm8450/BoardConfig.mk @@ -0,0 +1,58 @@ +# +# Copyright (C) 2022 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. +# + +include device/linaro/dragonboard/BoardConfigCommon.mk + +# Primary Arch +TARGET_ARCH := arm64 +TARGET_ARCH_VARIANT := armv8-a-branchprot +TARGET_CPU_VARIANT := kryo385 +TARGET_CPU_ABI := arm64-v8a + +# Secondary Arch +TARGET_2ND_ARCH := arm +TARGET_2ND_ARCH_VARIANT := armv8-2a +TARGET_2ND_CPU_VARIANT := kryo385 +TARGET_2ND_CPU_ABI := armeabi-v7a +TARGET_2ND_CPU_ABI2 := armeabi + +# Board Information +TARGET_BOOTLOADER_BOARD_NAME := sm8450 +TARGET_BOARD_PLATFORM := sm8450 + +TARGET_NO_KERNEL := false +BOARD_KERNEL_BASE := 0x80000000 +BOARD_KERNEL_PAGESIZE := 4096 + +BOARD_INCLUDE_DTB_IN_BOOTIMG := true +BOARD_BOOT_HEADER_VERSION := 2 +BOARD_MKBOOTIMG_ARGS := --header_version $(BOARD_BOOT_HEADER_VERSION) + +BOARD_KERNEL_CMDLINE := earlycon firmware_class.path=/vendor/firmware/ androidboot.hardware=sm8450 +BOARD_KERNEL_CMDLINE += init=/init androidboot.boot_devices=soc@0/1d84000.ufshc printk.devkmsg=on +BOARD_KERNEL_CMDLINE += allow_mismatched_32bit_el0 + +# Image Configuration +BOARD_BOOTIMAGE_PARTITION_SIZE := 67108864 #64M +BOARD_VENDOR_BOOTIMAGE_PARTITION_SIZE := 67108864 #64M +BOARD_USERDATAIMAGE_PARTITION_SIZE := 21474836480 +BOARD_FLASH_BLOCK_SIZE := 131072 + +# Super/Dynamic partition +BOARD_SUPER_PARTITION_SIZE := 6442450944 +BOARD_DB_DYNAMIC_PARTITIONS_SIZE := 6438256640 # Reserve 4M for DAP metadata +BOARD_SUPER_PARTITION_METADATA_DEVICE := super +BOARD_SUPER_IMAGE_IN_UPDATE_PACKAGE := true diff --git a/sm8450/device.mk b/sm8450/device.mk new file mode 100644 index 0000000..90b5c12 --- /dev/null +++ b/sm8450/device.mk @@ -0,0 +1,26 @@ +# +# Copyright (C) 2022 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. +# + +# setup dalvik vm configs +$(call inherit-product, frameworks/native/build/tablet-10in-xhdpi-2048-dalvik-heap.mk) +$(call inherit-product, $(SRC_TARGET_DIR)/product/virtual_ab_ota.mk) + +TARGET_HARDWARE := sm8450 +TARGET_KERNEL_USE ?= mainline + +include device/linaro/dragonboard/device-common.mk + +PRODUCT_COPY_FILES += $(TARGET_KERNEL_DIR)/sm8450-qrd.dtb:dtb.img diff --git a/sm8450_mini.mk b/sm8450_mini.mk new file mode 100644 index 0000000..c286d32 --- /dev/null +++ b/sm8450_mini.mk @@ -0,0 +1,7 @@ +$(call inherit-product, device/linaro/dragonboard/mini.mk) +$(call inherit-product, device/linaro/dragonboard/sm8450/device.mk) + +# Product overrides +PRODUCT_NAME := sm8450_mini +PRODUCT_DEVICE := sm8450 +PRODUCT_BRAND := Android -- cgit v1.2.3 From 4258135988051a50efa69a4ad8d8b6ffca273d50 Mon Sep 17 00:00:00 2001 From: Jason Macnak Date: Thu, 24 Feb 2022 18:39:20 +0000 Subject: Remove sysfs_gpu type definition ... as it has moved to system/sepolicy. Bug: b/161819018 Test: presubmit Change-Id: I77afd0d7019e0ea0cc475de3817bc2c8e7fcd4bd Merged-In: I77afd0d7019e0ea0cc475de3817bc2c8e7fcd4bd --- sepolicy/file.te | 1 - 1 file changed, 1 deletion(-) diff --git a/sepolicy/file.te b/sepolicy/file.te index e5a0bd1..b149497 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -1,4 +1,3 @@ -type sysfs_gpu, fs_type, sysfs_type; type sysfs_mss, fs_type, sysfs_type; type sysfs_rmtfs, fs_type, sysfs_type; type sysfs_remoteproc, fs_type, sysfs_type; -- cgit v1.2.3 From c6aace797c256fc14df978fe3452892444a1c400 Mon Sep 17 00:00:00 2001 From: Amit Pundir Date: Thu, 17 Feb 2022 23:26:34 +0530 Subject: db845c: Make TARGET_USES_BOOT_HDR_V3 visible to vendor package Move TARGET_USES_BOOT_HDR_V3 build flag from db845c/BoardConfig.mk to db845c.mk, so that TARGET_USES_BOOT_HDR_V3 flag can be used in vendor/ firmware package' .mk files. Needed for certain conditional PRODUCT_COPY_FILES in vendor package to work correctly. Signed-off-by: Amit Pundir Change-Id: Ia81e4cad55d7a8de20d5353e7cfd3d297fa6482c --- db845c.mk | 2 ++ db845c/BoardConfig.mk | 1 - 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/db845c.mk b/db845c.mk index a402ce2..e949af1 100644 --- a/db845c.mk +++ b/db845c.mk @@ -1,6 +1,8 @@ $(call inherit-product, device/linaro/dragonboard/full.mk) $(call inherit-product, device/linaro/dragonboard/db845c/device.mk) +TARGET_USES_BOOT_HDR_V3 ?= true + # Product overrides PRODUCT_NAME := db845c PRODUCT_DEVICE := db845c diff --git a/db845c/BoardConfig.mk b/db845c/BoardConfig.mk index 5d6ed24..2c1fb25 100644 --- a/db845c/BoardConfig.mk +++ b/db845c/BoardConfig.mk @@ -19,7 +19,6 @@ TARGET_BOARD_PLATFORM := db845c TARGET_NO_KERNEL := false BOARD_INCLUDE_DTB_IN_BOOTIMG := true -TARGET_USES_BOOT_HDR_V3 ?= true ifeq ($(TARGET_USES_BOOT_HDR_V3), true) BOARD_BOOT_HEADER_VERSION := 3 BOARD_KERNEL_PAGESIZE := 4096 -- cgit v1.2.3 From 0ff5e9f68c304cf08403937fbffc43b260c02aff Mon Sep 17 00:00:00 2001 From: Amit Pundir Date: Thu, 17 Feb 2022 23:44:54 +0530 Subject: rb5: Fix HDMI audio playback Recently updated audio.primary HAL pick up and set the board specific HDMI mixer control based on the vendor.hw property. This patch copies and start the service responsible for setting that vendor.hw property for RB5. Signed-off-by: Amit Pundir Change-Id: I811d7e80f97c616ea342002a2c33029367e7a559 --- rb5/device.mk | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rb5/device.mk b/rb5/device.mk index c5f6774..8fc29a5 100644 --- a/rb5/device.mk +++ b/rb5/device.mk @@ -33,6 +33,10 @@ PRODUCT_PACKAGES += \ android.hardware.boot@1.2-impl.recovery \ android.hardware.boot@1.2-service +# Install scripts to set vendor.* properties +PRODUCT_COPY_FILES += \ + device/linaro/dragonboard/qcom/set_hw.sh:$(TARGET_COPY_OUT_VENDOR)/bin/set_hw.sh + PRODUCT_VENDOR_PROPERTIES += ro.soc.manufacturer=Qualcomm PRODUCT_VENDOR_PROPERTIES += ro.soc.model=QRB5165 -- cgit v1.2.3 From 0c8fa494b121d4815a463f1c90d6b8b33086d98a Mon Sep 17 00:00:00 2001 From: John Stultz Date: Wed, 2 Mar 2022 23:13:34 +0000 Subject: dragonboards: Update vendor-package to 20220303 release Update to the 20220303 release, which adds: * Mesa/main based prebuilt binaries * audio firmware path fixes for 5.4 Signed-off-by: John Stultz Change-Id: I81b381e92df6119457ef6653752b10bb70d173c9 --- vendor-package-ver.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/vendor-package-ver.sh b/vendor-package-ver.sh index 12f4a6f..6179fc9 100755 --- a/vendor-package-ver.sh +++ b/vendor-package-ver.sh @@ -1,8 +1,9 @@ #!/bin/bash -export EXPECTED_LINARO_VENDOR_VERSION=20220210 -export EXPECTED_LINARO_VENDOR_SHA=75efc8471f299f64716140712c0785b8e8aeaf5aa7e389a6f12f78ad4962420740da32f4535d795006e78c5f0b77a1cee8c168192a87f668103c00d87d480e6d -export VND_PKG_URL=https://releases.linaro.org/android/aosp-linaro-vendor-package/extract-linaro_devices-20220210.tgz +export EXPECTED_LINARO_VENDOR_VERSION=20220303 +#make sure to use sha512sum here +export EXPECTED_LINARO_VENDOR_SHA=1119c59e80094fc11624b19531f584e798fd048f0adfdbb5113d2539202898c7d2b13dc1d2ad679c555f1c79a64d3ffc1b45cdf414787e5a821499276ca0b36c +export VND_PKG_URL=https://releases.linaro.org/android/aosp-linaro-vendor-package/extract-linaro_devices-20220303.tgz if [ "$1" = "url" ]; then echo $VND_PKG_URL -- cgit v1.2.3 From b1014352f43eff1661f1f170992e8ecabfb7ae36 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Tue, 1 Feb 2022 06:32:16 +0000 Subject: dragonboards: Create build option to use prebuilt mesa bits Enables the build to utilize prebuilt mesa binaries found in the 20220303 linaro-vendor-package. Also provides a TARGET_BUILD_MESA build option such that building with the aosp/master or aosp/upstream-main branches of external/mesa3d are still possible by setting: TARGET_BUILD_MESA=true Change-Id: Ibeee5cd578df6e8462427d0f3757007ed30c6148 Signed-off-by: John Stultz --- BoardConfigCommon.mk | 6 +++++- device-common.mk | 1 - full.mk | 11 ++++++++++- 3 files changed, 15 insertions(+), 3 deletions(-) diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk index 2f3be01..87cde99 100644 --- a/BoardConfigCommon.mk +++ b/BoardConfigCommon.mk @@ -42,10 +42,14 @@ BOARD_VNDK_VERSION := current BOARD_USES_DRM_HWCOMPOSER := true BOARD_GPU_DRIVERS := freedreno TARGET_USES_HWC2 := true + +ifeq ($(TARGET_BUILD_MESA),true) BOARD_MESA3D_USES_MESON_BUILD := true BOARD_MESA3D_GALLIUM_DRIVERS := freedreno BOARD_MESA3D_VULKAN_DRIVERS := freedreno - +else +BOARD_USE_CUSTOMIZED_MESA := true +endif # WiFi WPA_SUPPLICANT_VERSION := VER_0_8_X diff --git a/device-common.mk b/device-common.mk index ee24e4f..6601cda 100644 --- a/device-common.mk +++ b/device-common.mk @@ -53,7 +53,6 @@ endif PRODUCT_SOONG_NAMESPACES += \ device/linaro/dragonboard \ - external/mesa3d \ vendor/linaro/linux-firmware/$(EXPECTED_LINARO_VENDOR_VERSION) \ vendor/linaro/db845c/$(EXPECTED_LINARO_VENDOR_VERSION) \ vendor/linaro/rb5/$(EXPECTED_LINARO_VENDOR_VERSION) diff --git a/full.mk b/full.mk index a87cb1c..96c3f9f 100644 --- a/full.mk +++ b/full.mk @@ -39,7 +39,10 @@ PRODUCT_PRODUCT_PROPERTIES := \ # Display PRODUCT_PACKAGES += \ android.hardware.drm@1.3-service.clearkey \ - android.hardware.drm@1.3-service.widevine \ + android.hardware.drm@1.3-service.widevine + +# Mesa +PRODUCT_PACKAGES += \ libGLES_mesa \ libEGL_mesa \ libGLESv1_CM_mesa \ @@ -47,6 +50,12 @@ PRODUCT_PACKAGES += \ libgallium_dri \ libglapi +TARGET_BUILD_MESA ?= false +ifeq ($(TARGET_BUILD_MESA), true) + PRODUCT_SOONG_NAMESPACES += \ + external/mesa3d +endif + PRODUCT_PROPERTY_OVERRIDES += \ ro.hardware.gralloc=minigbm_msm \ ro.hardware.hwcomposer=drm \ -- cgit v1.2.3 From 7f6a618b2b57dad18dca94ce1f597d35a51b3cdb Mon Sep 17 00:00:00 2001 From: Bob Badour Date: Mon, 7 Mar 2022 13:39:57 -0800 Subject: Add license_note Comments not preserved during refresh. Bug: 68860345 Test: m nothing Change-Id: Idc33b99358ed750471801b313b4106573ea4639e --- METADATA | 1 + 1 file changed, 1 insertion(+) diff --git a/METADATA b/METADATA index 3814b8d..9b2a1bc 100644 --- a/METADATA +++ b/METADATA @@ -2,5 +2,6 @@ # CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE # DEPENDING ON IT IN YOUR PROJECT. *** third_party { + license_note: "proprietary" license_type: BY_EXCEPTION_ONLY } -- cgit v1.2.3 From 8a3b0e3b88f52c55b11b6296356ed7a0af366004 Mon Sep 17 00:00:00 2001 From: Amit Pundir Date: Mon, 21 Mar 2022 23:44:06 +0530 Subject: db845c: rb5: Enable console access on android13-5.15 kernel version android13-5.15 commit 98f1e6b5a0db ("ANDROID: gki_defconfig: Disable SERIAL_QCOM_GENI_CONSOLE_DEFAULT_ENABLED") broke console access on DB845c and RB5. Renable the console access by adding qcom_geni_serial.con_enabled=1 to the kernel cmdline as suggested in the commit message. Signed-off-by: Amit Pundir Change-Id: Ibce09eecd4cbb44d7b3d2841956eec0b6bf042d1 --- db845c/BoardConfig.mk | 1 + rb5/BoardConfig.mk | 1 + 2 files changed, 2 insertions(+) diff --git a/db845c/BoardConfig.mk b/db845c/BoardConfig.mk index 2c1fb25..018213a 100644 --- a/db845c/BoardConfig.mk +++ b/db845c/BoardConfig.mk @@ -33,6 +33,7 @@ BOARD_KERNEL_CMDLINE := earlycon firmware_class.path=/vendor/firmware/ androidbo BOARD_KERNEL_CMDLINE += init=/init androidboot.boot_devices=soc@0/1d84000.ufshc printk.devkmsg=on BOARD_KERNEL_CMDLINE += deferred_probe_timeout=30 BOARD_KERNEL_CMDLINE += pcie_pme=nomsi #For WiFi to work on rb5 +BOARD_KERNEL_CMDLINE += qcom_geni_serial.con_enabled=1 # Image Configuration BOARD_BOOTIMAGE_PARTITION_SIZE := 103079215104 #96M diff --git a/rb5/BoardConfig.mk b/rb5/BoardConfig.mk index a4f1d09..53b21f0 100644 --- a/rb5/BoardConfig.mk +++ b/rb5/BoardConfig.mk @@ -29,6 +29,7 @@ BOARD_KERNEL_CMDLINE := earlycon firmware_class.path=/vendor/firmware/ androidbo BOARD_KERNEL_CMDLINE += init=/init androidboot.boot_devices=soc@0/1d84000.ufshc printk.devkmsg=on BOARD_KERNEL_CMDLINE += pcie_pme=nomsi #For WiFi to work BOARD_KERNEL_CMDLINE += deferred_probe_timeout=30 +BOARD_KERNEL_CMDLINE += qcom_geni_serial.con_enabled=1 # Image Configuration BOARD_BOOTIMAGE_PARTITION_SIZE := 103079215104 #96M -- cgit v1.2.3 From 05d64225dbc4b51939f1dd19cff4701adcac9cbd Mon Sep 17 00:00:00 2001 From: Etienne Ruffieux Date: Tue, 22 Mar 2022 15:03:41 +0000 Subject: Removed audio A2dp and Hearing Aid from device.mk Bug: 220306859 Test: atest Tag: #feature Change-Id: Ic1995d926e1c80f5f097df681c55bb272eda00fe --- full.mk | 1 - 1 file changed, 1 deletion(-) diff --git a/full.mk b/full.mk index 96c3f9f..fc1c0be 100644 --- a/full.mk +++ b/full.mk @@ -146,7 +146,6 @@ PRODUCT_PACKAGES += \ # Build default bluetooth a2dp and usb audio HALs PRODUCT_PACKAGES += \ - audio.a2dp.default \ audio.bluetooth.default \ audio.usb.default \ audio.r_submix.default -- cgit v1.2.3 From 8c86e3763675f99cd63c6e30d2a951160ac456d8 Mon Sep 17 00:00:00 2001 From: Amit Pundir Date: Mon, 28 Mar 2022 19:20:04 +0530 Subject: sepolicy: Fix rmtfs sysfs path for v5.18+ kernel versions Upstream commit 63a4021fef47 ("arm64: dts: qcom: sdm845: rename memory@ nodes to more descriptive names") in v5.18 merge window broke selinux policies for rmtfs. So add the new path to fix those selinux denials on v5.18+ kernel versions Signed-off-by: Amit Pundir Change-Id: I9ad554fc2d5d3f3fbb66a1b9dd0dd46e62f9ff1d --- sepolicy/genfs_contexts | 1 + 1 file changed, 1 insertion(+) diff --git a/sepolicy/genfs_contexts b/sepolicy/genfs_contexts index e8ddb12..2a50d9c 100644 --- a/sepolicy/genfs_contexts +++ b/sepolicy/genfs_contexts @@ -1,4 +1,5 @@ genfscon sysfs /devices/platform/88f00000.memory/rmtfs u:object_r:sysfs_rmtfs:s0 +genfscon sysfs /devices/platform/88f00000.rmtfs/rmtfs u:object_r:sysfs_rmtfs:s0 genfscon sysfs /devices/platform/remoteproc-adsp/remoteproc u:object_r:sysfs_remoteproc:s0 genfscon sysfs /devices/platform/remoteproc-cdsp/remoteproc u:object_r:sysfs_remoteproc:s0 genfscon sysfs /devices/platform/soc@0/4080000.remoteproc u:object_r:sysfs_remoteproc:s0 -- cgit v1.2.3 From a58e74ea0635d7547df58aec669fe45b56504df7 Mon Sep 17 00:00:00 2001 From: John Stultz Date: Thu, 14 Apr 2022 23:17:14 +0000 Subject: dragonboard: sepolicy: Add sepolicy rules to fix problems seen adb remount overlays When using adb remount/adb sync, I noticed some new sepolicy failures that prevented some things from working. For instance, if I did adb remount right after flashing a device, on the next bootup I found that wifi would fail to work. This was due to sepolicy failures caused by the file accesses being on the overlayfs. Similarly, when testing a new version of mesa via adb sync, I found surfaceflinger would fail to start, again due to new sepolicy failures These sepolicy changes were suggested by audit2allow to fix the problems, and indeed I now have display and wifi working after adb remount/sync updates. Signed-off-by: John Stultz Change-Id: Ifd819cf34939d1e61b67d8b08c67ec9a2fadd110 --- sepolicy/kernel.te | 6 +++++- sepolicy/surfaceflinger.te | 1 + sepolicy/system_server.te | 2 ++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/sepolicy/kernel.te b/sepolicy/kernel.te index 3fad122..176d6f6 100644 --- a/sepolicy/kernel.te +++ b/sepolicy/kernel.te @@ -2,6 +2,10 @@ allow kernel device:chr_file { create setattr }; allow kernel device:dir { add_name create write }; allow kernel self:capability mknod; -allow kernel vendor_file:file { open read }; +allow kernel vendor_file:file { open read getattr}; +allow kernel vendor_file:dir read; allow kernel self:system module_request; allow vendor_init kernel:system module_request; +allow kernel sepolicy_file:file getattr; +allow kernel system_bootstrap_lib_file:dir getattr; +allow kernel system_bootstrap_lib_file:file getattr; diff --git a/sepolicy/surfaceflinger.te b/sepolicy/surfaceflinger.te index 17b66a8..9bffa3f 100644 --- a/sepolicy/surfaceflinger.te +++ b/sepolicy/surfaceflinger.te @@ -1 +1,2 @@ gpu_access(surfaceflinger) +allow surfaceflinger vendor_file:dir read; diff --git a/sepolicy/system_server.te b/sepolicy/system_server.te index 80957cc..e801436 100644 --- a/sepolicy/system_server.te +++ b/sepolicy/system_server.te @@ -1 +1,3 @@ gpu_access(system_server) +allow system_server wifi_hal_prop:file {open read getattr map}; +allow system_server vendor_file:dir read; -- cgit v1.2.3 From 974bda17ecbfa352ba51b57886784c69ee920119 Mon Sep 17 00:00:00 2001 From: Jason Macnak Date: Thu, 24 Feb 2022 18:39:20 +0000 Subject: Remove sysfs_gpu type definition ... as it has moved to system/sepolicy. Bug: b/161819018 Test: presubmit Change-Id: I77afd0d7019e0ea0cc475de3817bc2c8e7fcd4bd Merged-In: I77afd0d7019e0ea0cc475de3817bc2c8e7fcd4bd --- sepolicy/file.te | 1 - 1 file changed, 1 deletion(-) diff --git a/sepolicy/file.te b/sepolicy/file.te index e5a0bd1..b149497 100644 --- a/sepolicy/file.te +++ b/sepolicy/file.te @@ -1,4 +1,3 @@ -type sysfs_gpu, fs_type, sysfs_type; type sysfs_mss, fs_type, sysfs_type; type sysfs_rmtfs, fs_type, sysfs_type; type sysfs_remoteproc, fs_type, sysfs_type; -- cgit v1.2.3