From 05f07d89a6b44eef1fcec020bf9020a3429fc3ad Mon Sep 17 00:00:00 2001 From: Bowgo Tsai Date: Fri, 19 Apr 2019 22:08:56 +0800 Subject: [PATCH] Adding adb_debug.prop into debug ramdisk The debug ramdisk can only be used if the device is unlocked. When it's used, init will load adb_debug.prop and the userdebug sepolicy from the debug ramdisk, to allow adb root on a user build. Bug: 126493225 Test: 'make' and checks the file is installed Change-Id: Id6962414197fc8f47f7c07818e8fb16107dc17a3 --- init/Android.mk | 5 +++++ rootdir/Android.mk | 9 +++++++++ rootdir/adb_debug.prop | 12 ++++++++++++ 3 files changed, 26 insertions(+) create mode 100644 rootdir/adb_debug.prop diff --git a/init/Android.mk b/init/Android.mk index 39af0e686..7ab5c4815 100644 --- a/init/Android.mk +++ b/init/Android.mk @@ -65,6 +65,11 @@ LOCAL_FORCE_STATIC_EXECUTABLE := true LOCAL_MODULE_PATH := $(TARGET_RAMDISK_OUT) LOCAL_UNSTRIPPED_PATH := $(TARGET_RAMDISK_OUT_UNSTRIPPED) +# Install adb_debug.prop into debug ramdisk. +# This allows adb root on a user build, when debug ramdisk is used. +LOCAL_REQUIRED_MODULES := \ + adb_debug.prop \ + # Set up the same mount points on the ramdisk that system-as-root contains. LOCAL_POST_INSTALL_CMD := mkdir -p \ $(TARGET_RAMDISK_OUT)/apex \ diff --git a/rootdir/Android.mk b/rootdir/Android.mk index 004453442..620bc95a4 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -377,4 +377,13 @@ $(LOCAL_BUILT_MODULE): $(hide) $(foreach lib,$(PRIVATE_VNDK_SAMEPROCESS_LIBRARIES), \ echo $(lib).so >> $@;) +####################################### +# adb_debug.prop in debug ramdisk +include $(CLEAR_VARS) +LOCAL_MODULE := adb_debug.prop +LOCAL_SRC_FILES := $(LOCAL_MODULE) +LOCAL_MODULE_CLASS := ETC +LOCAL_MODULE_PATH := $(TARGET_DEBUG_RAMDISK_OUT) +include $(BUILD_PREBUILT) + include $(call all-makefiles-under,$(LOCAL_PATH)) diff --git a/rootdir/adb_debug.prop b/rootdir/adb_debug.prop new file mode 100644 index 000000000..37e2f2d71 --- /dev/null +++ b/rootdir/adb_debug.prop @@ -0,0 +1,12 @@ +# Note: This file will be loaded with highest priority to override +# other system properties, if a special ramdisk with "/force_debuggable" +# is used and the device is unlocked. + +# Disable adb authentication to allow test automation on user build GSI +ro.adb.secure=0 + +# Allow 'adb root' on user build GSI +ro.debuggable=1 + +# Introduce this property to indicate that init has loaded adb_debug.prop +ro.force.debuggable=1