// Copyright 2020 Google Inc. All rights reserved. // // 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. package { // See: http://go/android-license-faq default_applicable_licenses: ["Android-Apache-2.0"], } filegroup { name: "vndk_lib_lists", srcs: [ "*.txt", ], } prebuilt_etc { name: "gsi_skip_mount.cfg", filename: "skip_mount.cfg", src: "gsi_skip_mount.cfg", system_ext_specific: true, relative_install_path: "init/config", required: ["gsi_skip_mount_compat_symlink"], } // Adds a symlink under /system/etc/init/config pointing to /system/system_ext/etc/init/config // because first-stage init in Android 10.0 will read the skip_mount.cfg from /system/etc/* after // chroot /system. // TODO: remove this symlink when no need to support new GSI on Android 10. // The actual file needs to be under /system/system_ext because it's GSI-specific and does not // belong to core CSI. install_symlink { name: "gsi_skip_mount_compat_symlink", installed_location: "etc/init/config", symlink_target: "/system/system_ext/etc/init/config", } // init.gsi.rc, GSI-specific init script. prebuilt_etc { name: "init.gsi.rc", src: "init.gsi.rc", system_ext_specific: true, relative_install_path: "init", } prebuilt_etc { name: "init.vndk-nodef.rc", src: "init.vndk-nodef.rc", system_ext_specific: true, relative_install_path: "gsi", } gsi_symlinks = [ { target: "/system/system_ext", name: "system_ext", }, { target: "/system/product", name: "product", }, { target: "/odm/odm_dlkm/etc", name: "odm_dlkm/etc", }, { target: "/vendor/vendor_dlkm/etc", name: "vendor_dlkm/etc", }, ] android_filesystem_defaults { name: "android_gsi_defaults", defaults: [ "system_image_defaults", "system_ext_image_defaults", "product_image_defaults", ], symlinks: gsi_symlinks, dirs: ["cache"], deps: [ /////////////////////////////////////////// // gsi_system_ext /////////////////////////////////////////// // handheld packages "Launcher3QuickStep", "Provision", "Settings", "StorageManager", "SystemUI", // telephony packages "CarrierConfig", /////////////////////////////////////////// // gsi_release /////////////////////////////////////////// "gsi_skip_mount.cfg", "init.gsi.rc", "init.vndk-nodef.rc", // Overlay the GSI specific setting for framework and SystemUI "gsi_overlay_framework", "gsi_overlay_systemui", /////////////////////////////////////////// // VNDK /////////////////////////////////////////// "com.android.vndk.v30", "com.android.vndk.v31", "com.android.vndk.v32", "com.android.vndk.v33", "com.android.vndk.v34", /////////////////////////////////////////// // gsi_product /////////////////////////////////////////// "Browser2", "Camera2", "Dialer", "LatinIME", "apns-full-conf.xml", "frameworks-base-overlays", ], multilib: { lib64: { deps: [ /////////////////////////////////////////// // AVF /////////////////////////////////////////// "com.android.compos", "features_com.android.virt.xml", ], }, both: { // PRODUCT_PACKAGES_SHIPPING_API_LEVEL_34 deps: ["android.hidl.memory@1.0-impl"], }, }, type: "ext4", } // system.img for gsi_{arch} targets android_system_image { name: "android_gsi", defaults: ["android_gsi_defaults"], enabled: select(soong_config_variable("ANDROID", "PRODUCT_INSTALL_DEBUG_POLICY_TO_SYSTEM_EXT"), { "true": true, default: false, }), deps: [ // Install a copy of the debug policy to the system_ext partition, and allow // init-second-stage to load debug policy from system_ext. // This option is only meant to be set by compliance GSI targets. "system_ext_userdebug_plat_sepolicy.cil", ], } // system.img for aosp_{arch} targets android_system_image { name: "aosp_system_image", defaults: ["android_gsi_defaults"], deps: [ // handheld_system_ext "AccessibilityMenu", "WallpaperCropper", // telephony_system_ext "EmergencyInfo", // handheld_product "Calendar", "Contacts", "DeskClock", "Gallery2", "Music", "preinstalled-packages-platform-handheld-product.xml", "QuickSearchBox", "SettingsIntelligence", "frameworks-base-overlays", // telephony_product "ImsServiceEntitlement", "preinstalled-packages-platform-telephony-product.xml", // more AOSP packages "initial-package-stopped-states-aosp.xml", "messaging", "PhotoTable", "preinstalled-packages-platform-aosp-product.xml", "ThemePicker", ] + select(product_variable("debuggable"), { true: ["frameworks-base-overlays-debug"], default: [], }), enabled: select(soong_config_variable("gsi", "building_gsi"), { true: true, default: false, }), multilib: { common: { deps: select(release_flag("RELEASE_AVATAR_PICKER_APP"), { true: [ "AvatarPicker", // handheld_system_ext (RELEASE_AVATAR_PICKER_APP) ], default: [], }), }, }, }