blob: ac6e05529618cd9c2d3343d86a03b3a8299d0faf [file] [log] [blame]
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
microdroid_shell_and_utilities = [
"reboot",
"sh",
"toolbox",
"toybox",
]
microdroid_rootdirs = [
"dev",
"proc",
"sys",
// TODO(b/180267599): clean up unnecessary partition mount points
"system",
"system_ext",
"vendor",
"vendor_dlkm",
"product",
"odm",
"odm_dlkm",
"debug_ramdisk",
"mnt",
"apex",
"linkerconfig",
"second_stage_resources",
"postinstall",
]
microdroid_symlinks = [
{
target: "/sys/kernel/debug",
name: "d",
},
]
android_filesystem {
name: "microdroid",
use_avb: true,
avb_private_key: "microdroid.pem",
avb_algorithm: "SHA256_RSA4096",
deps: [
"init_second_stage",
"microdroid_init_rc",
"libbinder",
"libstdc++",
"logcat",
"logd",
"run-as",
"secilc",
"adbd",
"apexd",
"debuggerd",
"linker",
"linkerconfig",
"servicemanager",
"tombstoned",
"cgroups.json",
// These two files are temporary and only for test.
// TODO(b/178993690): migrate cil files to Soong
"microdroid_plat_sepolicy.cil",
"microdroid_plat_mapping_file",
] + microdroid_shell_and_utilities,
multilib: {
common: {
deps: [
"com.android.runtime",
"plat_file_contexts",
"plat_hwservice_contexts",
"plat_property_contexts",
"plat_service_contexts",
"plat_keystore2_key_contexts",
],
},
},
base_dir: "system",
dirs: microdroid_rootdirs,
symlinks: microdroid_symlinks,
file_contexts: "microdroid_file_contexts",
}
prebuilt_etc {
name: "microdroid_init_rc",
filename: "init.rc",
src: "init.rc",
relative_install_path: "init/hw",
installable: false, // avoid collision with system partition's init.rc
}
android_filesystem {
name: "microdroid_vendor",
use_avb: true,
deps: [
"microdroid_plat_sepolicy_vers.txt",
"microdroid_vendor_sepolicy.cil",
"microdroid_plat_pub_versioned.cil",
],
avb_private_key: "microdroid.pem",
avb_algorithm: "SHA256_RSA4096",
file_contexts: "microdroid_vendor_file_contexts",
}
prebuilt_etc {
name: "microdroid_plat_sepolicy_vers.txt",
src: "plat_sepolicy_vers.txt",
filename: "plat_sepolicy_vers.txt",
sub_dir: "selinux",
installable: false,
}
logical_partition {
name: "microdroid_super",
sparse: true,
// TODO(b/181107248): remove this hard-coded value
size: "104857600",
groups: [
{
name: "mygroup",
// TODO(b/181107248): remove this hard-coded value
size: "80000000",
partitions: [
{
name: "system",
filesystem: ":microdroid",
},
{
name: "vendor",
filesystem: ":microdroid_vendor",
},
],
},
],
}
bootimg {
name: "microdroid_boot-5.10",
ramdisk_module: "microdroid_ramdisk-5.10",
enabled: false,
arch: {
arm64: {
kernel_prebuilt: ":kernel_prebuilts-5.10-arm64",
enabled: true,
},
x86_64: {
kernel_prebuilt: ":kernel_prebuilts-5.10-x86_64",
enabled: true,
},
},
// TODO(jiyong): change the name to init, cause it's confusing
cmdline: "rdinit=/bin/init_vendor",
dtb_prebuilt: "dummy_dtb.img",
header_version: "3",
partition_name: "boot",
}
android_filesystem {
name: "microdroid_ramdisk-5.10",
deps: [
"init_first_stage_soong",
],
dirs: [
"dev",
"proc",
"sys",
// TODO(jiyong): remove these
"mnt",
"debug_ramdisk",
"second_stage_resources",
],
type: "compressed_cpio",
}
bootimg {
name: "microdroid_vendor_boot-5.10",
ramdisk_module: "microdroid_vendor_ramdisk-5.10",
dtb_prebuilt: "dummy_dtb.img",
header_version: "3",
vendor_boot: true,
partition_name: "vendor_boot",
enabled: false,
arch: {
arm64: {
enabled: true,
},
x86_64: {
enabled: true,
},
},
}
android_filesystem {
name: "microdroid_vendor_ramdisk-5.10",
arch: {
arm64: {
deps: ["virt_device_prebuilts_kernel_modules-5.10-arm64"],
},
x86_64: {
deps: ["virt_device_prebuilts_kernel_modules-5.10-x86_64"],
},
},
deps: [
"microdroid_fstab",
],
base_dir: "first_stage_ramdisk",
type: "compressed_cpio",
symlinks: [
{
target: "etc/fstab",
name: "first_stage_ramdisk/fstab.microdroid",
},
{
target: "first_stage_ramdisk/lib",
name: "lib",
},
],
}
prebuilt_etc {
name: "microdroid_fstab",
src: "fstab",
filename: "fstab",
installable: false,
}
prebuilt_etc {
name: "microdroid_uboot_env",
src: ":microdroid_uboot_env_gen",
filename: "uboot_env.img",
}
genrule {
name: "microdroid_uboot_env_gen",
tools: ["mkenvimage_host"],
srcs: ["uboot-env.txt"],
out: ["output.img"],
cmd: "$(location mkenvimage_host) -s 4096 -o $(out) $(in)",
}