platform_build/target/product/base_system.mk
Mark Salyzyn fbb45227c0 llkd: moved from optional to required component
The Live Lock Killer Daemon (llkd) has provided enough hero moments to
improve system stability, by providing actionable collection of data
to resolve kernel, and some user space, misbehaviors.  It is time to
move llkd to a required component.

NB: For llkd to be effective at finding real kernel live lock
conditions, system requirements are that there are no more un-waited
for Zombie processes, and that no kernel drivers use indeterminate
periods of uninterruptible sleep.  Any kernel and user space tasks
that are killed because of suspicious behavior, must themselves have
a benefactor to restart them if necessary.  If a true live lock is
discovered, data will be collected and the kernel will be panic'd to
recover from the situation.

Signed-off-by: Mark Salyzyn <salyzyn@google.com>
Bug: 164946924
Test: llkd is ever present on a release build.
Change-Id: I986a8545252bc5b68d09a6a0f4f506a58998c8a0
2020-09-08 07:58:16 -07:00

407 lines
8.9 KiB
Makefile

#
# Copyright (C) 2018 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.
#
# Base modules and settings for the system partition.
PRODUCT_PACKAGES += \
adbd_system_api \
am \
android.hidl.allocator@1.0-service \
android.hidl.base-V1.0-java \
android.hidl.manager-V1.0-java \
android.hidl.memory@1.0-impl \
android.hidl.memory@1.0-impl.vendor \
android.system.suspend@1.0-service \
android.test.base \
android.test.mock \
android.test.runner \
ANGLE \
apexd \
appops \
app_process \
appwidget \
atrace \
audioserver \
BackupRestoreConfirmation \
bcc \
blank_screen \
blkid \
bmgr \
bootanimation \
bootstat \
boringssl_self_test \
bpfloader \
bu \
bugreport \
bugreportz \
cgroups.json \
charger \
cmd \
com.android.adbd \
com.android.apex.cts.shim.v1 \
com.android.conscrypt \
com.android.cronet \
com.android.i18n \
com.android.ipsec \
com.android.location.provider \
com.android.media \
com.android.media.swcodec \
com.android.resolv \
com.android.neuralnetworks \
com.android.sdkext \
com.android.tethering \
com.android.tzdata \
ContactsProvider \
content \
debuggerd\
device_config \
dmctl \
dnsmasq \
DownloadProvider \
dpm \
dumpstate \
dumpsys \
DynamicSystemInstallationService \
e2fsck \
ExtServices \
ExtShared \
flags_health_check \
framework-minus-apex \
framework-res \
framework-sysconfig.xml \
fsck_msdos \
fsverity-release-cert-der \
fs_config_files_system \
fs_config_dirs_system \
group_system \
gsid \
gsi_tool \
heapprofd \
heapprofd_client \
gatekeeperd \
gpuservice \
hid \
hwservicemanager \
idmap \
idmap2 \
idmap2d \
ime \
ims-common \
incident \
incidentd \
incident_helper \
init.environ.rc \
init_system \
input \
installd \
iorapd \
ip \
iptables \
ip-up-vpn \
javax.obex \
keystore \
ld.mc \
libaaudio \
libamidi \
libandroid \
libandroidfw \
libandroid_runtime \
libandroid_servers \
libartpalette-system \
libaudioeffect_jni \
libbinder \
libbinder_ndk \
libc.bootstrap \
libcamera2ndk \
libcutils \
libdl.bootstrap \
libdl_android.bootstrap \
libdrmframework \
libdrmframework_jni \
libEGL \
libETC1 \
libfdtrack \
libFFTEm \
libfilterfw \
libgatekeeper \
libGLESv1_CM \
libGLESv2 \
libGLESv3 \
libgui \
libhardware \
libhardware_legacy \
libinput \
libinputflinger \
libiprouteutil \
libjnigraphics \
libjpeg \
liblog \
libm.bootstrap \
libmdnssd \
libmedia \
libmedia_jni \
libmediandk \
libmtp \
libnetd_client \
libnetlink \
libnetutils \
libneuralnetworks_packageinfo \
libOpenMAXAL \
libOpenSLES \
libpdfium \
libpixelflinger \
libpower \
libpowermanager \
libradio_metadata \
librtp_jni \
libsensorservice \
libsfplugin_ccodec \
libskia \
libsonic \
libsonivox \
libsoundpool \
libspeexresampler \
libsqlite \
libstagefright \
libstagefright_foundation \
libstagefright_omx \
libstdc++ \
libsurfaceflinger \
libsysutils \
libui \
libusbhost \
libutils \
libvulkan \
libwifi-service \
libwilhelm \
linker \
linkerconfig \
llkd \
lmkd \
LocalTransport \
locksettings \
logcat \
logd \
lpdump \
lshal \
mdnsd \
media \
mediacodec.policy \
mediadrmserver \
mediaextractor \
mediametrics \
media_profiles_V1_0.dtd \
MediaProvider \
mediaserver \
mke2fs \
monkey \
mtpd \
ndc \
netd \
NetworkStackNext \
org.apache.http.legacy \
otacerts \
PackageInstaller \
passwd_system \
perfetto \
PermissionController \
ping \
ping6 \
platform.xml \
pm \
pppd \
privapp-permissions-platform.xml \
racoon \
recovery-persist \
resize2fs \
rss_hwm_reset \
run-as \
sanitizer.libraries.txt \
schedtest \
screencap \
sdcard \
secdiscard \
SecureElement \
selinux_policy_system \
sensorservice \
service \
servicemanager \
services \
settings \
SettingsProvider \
sgdisk \
Shell \
shell_and_utilities_system \
sm \
snapshotctl \
statsd \
storaged \
surfaceflinger \
svc \
task_profiles.json \
tc \
telecom \
telephony-common \
tombstoned \
traced \
traced_probes \
tune2fs \
tzdatacheck \
uiautomator \
uncrypt \
usbd \
vdc \
viewcompiler \
voip-common \
vold \
WallpaperBackup \
watchdogd \
wificond \
wifi-service \
wm \
# VINTF data for system image
PRODUCT_PACKAGES += \
system_manifest.xml \
system_compatibility_matrix.xml \
# Host tools to install
PRODUCT_HOST_PACKAGES += \
BugReport \
adb \
art-tools \
atest \
bcc \
bit \
e2fsck \
fastboot \
flags_health_check \
icu-data_host_i18n_apex \
icu_tzdata.dat_host_tzdata_apex \
idmap2 \
incident_report \
ld.mc \
lpdump \
mdnsd \
minigzip \
mke2fs \
resize2fs \
sgdisk \
sqlite3 \
tinyplay \
tune2fs \
tzdatacheck \
unwind_info \
unwind_reg_info \
unwind_symbols \
viewcompiler \
tzdata_host \
tzdata_host_tzdata_apex \
tzlookup.xml_host_tzdata_apex \
tz_version_host \
tz_version_host_tzdata_apex \
ifeq ($(ART_APEX_JARS),)
$(error ART_APEX_JARS is empty; cannot initialize PRODUCT_BOOT_JARS variable)
endif
# The order matters for runtime class lookup performance.
PRODUCT_BOOT_JARS := \
$(ART_APEX_JARS) \
framework-minus-apex \
ext \
com.android.i18n:core-icu4j \
telephony-common \
voip-common \
ims-common \
PRODUCT_UPDATABLE_BOOT_JARS := \
com.android.conscrypt:conscrypt \
com.android.media:updatable-media \
com.android.sdkext:framework-sdkextensions \
com.android.tethering:framework-tethering
PRODUCT_COPY_FILES += \
system/core/rootdir/init.usb.rc:system/etc/init/hw/init.usb.rc \
system/core/rootdir/init.usb.configfs.rc:system/etc/init/hw/init.usb.configfs.rc \
system/core/rootdir/etc/hosts:system/etc/hosts
# Add the compatibility library that is needed when android.test.base
# is removed from the bootclasspath.
# Default to excluding android.test.base from the bootclasspath.
ifneq ($(REMOVE_ATB_FROM_BCP),false)
PRODUCT_PACKAGES += framework-atb-backward-compatibility
PRODUCT_BOOT_JARS += framework-atb-backward-compatibility
else
PRODUCT_BOOT_JARS += android.test.base
endif
PRODUCT_COPY_FILES += system/core/rootdir/init.zygote32.rc:system/etc/init/hw/init.zygote32.rc
PRODUCT_SYSTEM_PROPERTIES += ro.zygote?=zygote32
PRODUCT_SYSTEM_PROPERTIES += debug.atrace.tags.enableflags=0
PRODUCT_PROPERTY_OVERRIDES += ro.gfx.angle.supported=true
# Packages included only for eng or userdebug builds, previously debug tagged
PRODUCT_PACKAGES_DEBUG := \
adb_keys \
arping \
gdbserver \
idlcli \
init-debug.rc \
iotop \
iperf3 \
iw \
logpersist.start \
logtagd.rc \
procrank \
remount \
showmap \
sqlite3 \
ss \
start_with_lockagent \
strace \
su \
sanitizer-status \
tracepath \
tracepath6 \
traceroute6 \
unwind_info \
unwind_reg_info \
unwind_symbols \
# The set of packages whose code can be loaded by the system server.
PRODUCT_SYSTEM_SERVER_APPS += \
SettingsProvider \
WallpaperBackup
# Packages included only for eng/userdebug builds, when building with SANITIZE_TARGET=address
PRODUCT_PACKAGES_DEBUG_ASAN := \
fuzz \
honggfuzz
PRODUCT_PACKAGES_DEBUG_JAVA_COVERAGE := \
libdumpcoverage
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
frameworks/base/config/preloaded-classes:system/etc/preloaded-classes)
# Note: it is acceptable to not have a dirty-image-objects file. In that case, the special bin
# for known dirty objects in the image will be empty.
PRODUCT_COPY_FILES += $(call add-to-product-copy-files-if-exists,\
frameworks/base/config/dirty-image-objects:system/etc/dirty-image-objects)
$(call inherit-product, $(SRC_TARGET_DIR)/product/runtime_libart.mk)