diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-06-08 17:16:58 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2023-06-08 17:16:58 +0000 |
commit | f914383c9fc8449f9403e93ed73d0cb04c70230d (patch) | |
tree | 0bbc3b103f6a817ebe14201d1926146f75d8bf94 | |
parent | bb1a7830212cacff4664610896f17cb0af490ffc (diff) | |
parent | 67214105f57dd0a0ead0a796199620898a2dbe2d (diff) | |
download | goldfish-android13-platform-release.tar.gz |
Snap for 10276566 from 67214105f57dd0a0ead0a796199620898a2dbe2d to tm-platform-releaseandroid-platform-13.0.0_r9android-platform-13.0.0_r8android-platform-13.0.0_r19android-platform-13.0.0_r18android-platform-13.0.0_r17android-platform-13.0.0_r16android-platform-13.0.0_r15android-platform-13.0.0_r14android-platform-13.0.0_r13android-platform-13.0.0_r12android-platform-13.0.0_r11android-platform-13.0.0_r10android13-platform-release
Change-Id: Ib74cc6f86c359337ba43f425578c3ad89fe96fd4
41 files changed, 190 insertions, 247 deletions
diff --git a/64bitonly/manifest.xml b/64bitonly/manifest.xml index 964fd245..a2f67889 100644 --- a/64bitonly/manifest.xml +++ b/64bitonly/manifest.xml @@ -11,7 +11,7 @@ <hal format="hidl"> <name>android.hardware.bluetooth.audio</name> <transport>hwbinder</transport> - <version>2.0</version> + <version>2.1</version> <interface> <name>IBluetoothAudioProvidersFactory</name> <instance>default</instance> diff --git a/64bitonly/product/arm64-vendor.mk b/64bitonly/product/arm64-vendor.mk index e47cfd75..ee39483c 100644 --- a/64bitonly/product/arm64-vendor.mk +++ b/64bitonly/product/arm64-vendor.mk @@ -13,32 +13,13 @@ TARGET_USES_MKE2FS := true # Note: the following lines need to stay at the beginning so that it can # take priority and override the rules it inherit from other mk files # see copy file rules in core/Makefile -ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) - PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd.arm.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.arm.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.arm.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \ - device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \ - device/generic/goldfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json -else - PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd.arm:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.arm:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ +PRODUCT_COPY_FILES += \ device/generic/goldfish/fstab.ranchu.arm:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \ + device/generic/goldfish/fstab.ranchu.arm:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \ - device/generic/goldfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json -endif - - -PRODUCT_COPY_FILES += \ + device/generic/goldfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json \ $(EMULATOR_KERNEL_FILE):kernel-ranchu \ device/generic/goldfish/data/etc/advancedFeatures.ini.arm:advancedFeatures.ini \ device/generic/goldfish/camera/media_codecs_performance_c2_arm64.xml:$(TARGET_COPY_OUT_VENDOR)/etc/media_codecs_performance_c2.xml \ EMULATOR_VENDOR_NO_GNSS := true - -ifeq ($(QEMU_DISABLE_AVB),true) - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - -endif diff --git a/64bitonly/product/vendor.mk b/64bitonly/product/vendor.mk index 9a613d45..909fb230 100644 --- a/64bitonly/product/vendor.mk +++ b/64bitonly/product/vendor.mk @@ -68,7 +68,8 @@ PRODUCT_PACKAGES += \ goldfish_overlay_connectivity_gsi \ EmulatorTetheringConfigOverlay \ MultiDisplayProvider \ - libGoldfishProfiler + libGoldfishProfiler \ + dlkm_loader ifneq ($(EMULATOR_VENDOR_NO_FINGERPRINT), true) PRODUCT_PACKAGES += \ @@ -290,7 +291,6 @@ PRODUCT_COPY_FILES += \ device/generic/goldfish/init.ranchu-net.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-net.sh \ device/generic/goldfish/init.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ranchu.rc \ device/generic/goldfish/init.system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.system_ext.rc \ - device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \ device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \ device/generic/goldfish/input/virtio_input_rotary.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_rotary.idc \ device/generic/goldfish/input/qwerty2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty2.idc \ diff --git a/64bitonly/product/x86_64-vendor.mk b/64bitonly/product/x86_64-vendor.mk index 10797041..dc334a54 100644 --- a/64bitonly/product/x86_64-vendor.mk +++ b/64bitonly/product/x86_64-vendor.mk @@ -32,30 +32,6 @@ TARGET_USES_MKE2FS := true PRODUCT_PROPERTY_OVERRIDES += \ debug.stagefright.ccodec=4 -ifeq ($(QEMU_DISABLE_AVB),true) - ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - device/generic/goldfish/fstab.ranchu.initrd.noavb.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.noavb.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.noavb.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu - else - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - device/generic/goldfish/fstab.ranchu.initrd.noavb:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.noavb:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.noavb:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu - endif -endif - -ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu -else -PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu -endif + device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ + device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu diff --git a/arm64-kernel.mk b/arm64-kernel.mk index b679e17a..6326121c 100644 --- a/arm64-kernel.mk +++ b/arm64-kernel.mk @@ -1,8 +1,32 @@ TARGET_KERNEL_USE ?= 5.15 -KERNEL_MODULES_PATH := kernel/prebuilts/common-modules/virtual-device/$(TARGET_KERNEL_USE)/arm64 +KERNEL_ARTIFACTS_PATH := kernel/prebuilts/$(TARGET_KERNEL_USE)/arm64 -BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \ - $(filter-out $(KERNEL_MODULES_EXCLUDE), $(wildcard $(KERNEL_MODULES_PATH)/*.ko)) +VIRTUAL_DEVICE_KERNEL_MODULES_PATH := \ + kernel/prebuilts/common-modules/virtual-device/$(TARGET_KERNEL_USE)/arm64 -EMULATOR_KERNEL_FILE := kernel/prebuilts/$(TARGET_KERNEL_USE)/arm64/kernel-$(TARGET_KERNEL_USE)-gz +# The list of modules to reach the second stage. For performance reasons we +# don't want to put all modules into the ramdisk. +RAMDISK_KERNEL_MODULES := \ + virtio_blk.ko \ + virtio_console.ko \ + virtio_dma_buf.ko \ + virtio_mmio.ko \ + virtio_pci.ko \ + virtio_pci_modern_dev.ko \ + virtio-rng.ko \ + vmw_vsock_virtio_transport.ko \ + +BOARD_SYSTEM_KERNEL_MODULES := $(wildcard $(KERNEL_ARTIFACTS_PATH)/*.ko) + +BOARD_VENDOR_RAMDISK_KERNEL_MODULES := \ + $(patsubst %,$(VIRTUAL_DEVICE_KERNEL_MODULES_PATH)/%,$(RAMDISK_KERNEL_MODULES)) + +BOARD_VENDOR_KERNEL_MODULES := \ + $(filter-out $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES),\ + $(wildcard $(VIRTUAL_DEVICE_KERNEL_MODULES_PATH)/*.ko)) + +BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := \ + device/generic/goldfish/kernel_modules.blocklist + +EMULATOR_KERNEL_FILE := $(KERNEL_ARTIFACTS_PATH)/kernel-$(TARGET_KERNEL_USE)-gz diff --git a/arm64-vendor.mk b/arm64-vendor.mk index 32eddf3c..daa8280e 100644 --- a/arm64-vendor.mk +++ b/arm64-vendor.mk @@ -13,31 +13,12 @@ TARGET_USES_MKE2FS := true # Note: the following lines need to stay at the beginning so that it can # take priority and override the rules it inherit from other mk files # see copy file rules in core/Makefile -ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) - PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd.arm.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.arm.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.arm.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \ - device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \ - device/generic/goldfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json -else - PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd.arm:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.arm:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ +PRODUCT_COPY_FILES += \ + device/generic/goldfish/fstab.ranchu.arm:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ device/generic/goldfish/fstab.ranchu.arm:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \ device/generic/goldfish/data/etc/encryptionkey.img:encryptionkey.img \ - device/generic/goldfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json -endif - - -PRODUCT_COPY_FILES += \ + device/generic/goldfish/task_profiles.json:$(TARGET_COPY_OUT_VENDOR)/etc/task_profiles.json \ $(EMULATOR_KERNEL_FILE):kernel-ranchu \ device/generic/goldfish/data/etc/advancedFeatures.ini.arm:advancedFeatures.ini \ EMULATOR_VENDOR_NO_GNSS := true - -ifeq ($(QEMU_DISABLE_AVB),true) - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - -endif diff --git a/data/etc/dummy.vbmeta.img b/data/etc/dummy.vbmeta.img Binary files differdeleted file mode 100644 index 79892eae..00000000 --- a/data/etc/dummy.vbmeta.img +++ /dev/null diff --git a/emulator-info.txt b/emulator-info.txt index 43c68fc3..bb25bb12 100644 --- a/emulator-info.txt +++ b/emulator-info.txt @@ -1,2 +1,2 @@ # Emulator (stable) version -require version-emulator=8735603 +require version-emulator=9458377 diff --git a/fstab.goldfish b/fstab.goldfish deleted file mode 100644 index 77f6b138..00000000 --- a/fstab.goldfish +++ /dev/null @@ -1,7 +0,0 @@ -# Android fstab file. -#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK -/dev/block/mtdblock0 /system ext4 ro,barrier=1 wait -/dev/block/mtdblock1 /data ext4 noatime,nosuid,nodev,barrier=1,nomblk_io_submit wait,check,latemount -/devices/platform/goldfish_mmc.0* auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata diff --git a/fstab.ranchu b/fstab.ranchu deleted file mode 100644 index 157c9ed1..00000000 --- a/fstab.ranchu +++ /dev/null @@ -1,8 +0,0 @@ -# Android fstab file. -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,avb=vbmeta,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,quota,fileencryption=aes-256-xts:aes-256-cts,reservedsize=128M,latemount -/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount -/devices/*/block/vdf auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata -dev/block/zram0 none swap defaults zramsize=75% diff --git a/fstab.ranchu.arm b/fstab.ranchu.arm index 9ef7f023..a365e6da 100644 --- a/fstab.ranchu.arm +++ b/fstab.ranchu.arm @@ -4,5 +4,10 @@ # specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK system /system ext4 ro,barrier=1 wait,logical,first_stage_mount vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,quota,latemount -/devices/*/block/vde auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata +product /product ext4 ro,barrier=1 wait,logical,first_stage_mount +system_dlkm /system_dlkm erofs ro wait,logical,first_stage_mount +system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount +/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,quota,fileencryption=aes-256-xts:aes-256-cts,reservedsize=128M,fsverity,keydirectory=/metadata/vold/metadata_encryption,latemount +/dev/block/platform/a003c00.virtio_mmio/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount +/devices/*/block/vdf auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata +/dev/block/zram0 none swap defaults zramsize=75% diff --git a/fstab.ranchu.arm.ex b/fstab.ranchu.arm.ex deleted file mode 100644 index 837deef0..00000000 --- a/fstab.ranchu.arm.ex +++ /dev/null @@ -1,11 +0,0 @@ -# Android fstab file. -#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK -system /system ext4 ro,barrier=1 wait,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -product /product ext4 ro,barrier=1 wait,logical,first_stage_mount -system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,quota,fileencryption=aes-256-xts:aes-256-cts,reservedsize=128M,fsverity,keydirectory=/metadata/vold/metadata_encryption,latemount -/dev/block/platform/a003c00.virtio_mmio/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount -/devices/*/block/vdf auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata diff --git a/fstab.ranchu.early b/fstab.ranchu.early deleted file mode 100644 index 915d9231..00000000 --- a/fstab.ranchu.early +++ /dev/null @@ -1,6 +0,0 @@ -# Android fstab file. -#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK -/dev/block/vda /system ext4 ro wait -/dev/block/vde /vendor ext4 ro wait diff --git a/fstab.ranchu.early.arm b/fstab.ranchu.early.arm deleted file mode 100644 index 5854b59d..00000000 --- a/fstab.ranchu.early.arm +++ /dev/null @@ -1,6 +0,0 @@ -# Android fstab file. -#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK -/dev/block/vda /system ext4 ro wait -/dev/block/vdd /vendor ext4 ro wait diff --git a/fstab.ranchu.initrd b/fstab.ranchu.initrd deleted file mode 100644 index c3799601..00000000 --- a/fstab.ranchu.initrd +++ /dev/null @@ -1,5 +0,0 @@ -# Android fstab file for ramdisk -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,avb=vbmeta,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount diff --git a/fstab.ranchu.initrd.arm b/fstab.ranchu.initrd.arm deleted file mode 100644 index 56056634..00000000 --- a/fstab.ranchu.initrd.arm +++ /dev/null @@ -1,4 +0,0 @@ -# Android fstab file. -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount diff --git a/fstab.ranchu.initrd.arm.ex b/fstab.ranchu.initrd.arm.ex deleted file mode 100644 index b9e30f17..00000000 --- a/fstab.ranchu.initrd.arm.ex +++ /dev/null @@ -1,7 +0,0 @@ -# Android fstab file. -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -product /product ext4 ro,barrier=1 wait,logical,first_stage_mount -system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/platform/a003c00.virtio_mmio/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount diff --git a/fstab.ranchu.initrd.ex b/fstab.ranchu.initrd.ex deleted file mode 100644 index 971d83a0..00000000 --- a/fstab.ranchu.initrd.ex +++ /dev/null @@ -1,7 +0,0 @@ -# Android fstab file for ramdisk -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,avb=vbmeta,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -product /product ext4 ro,barrier=1 wait,logical,first_stage_mount -system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount diff --git a/fstab.ranchu.initrd.noavb b/fstab.ranchu.initrd.noavb deleted file mode 100644 index 53da533c..00000000 --- a/fstab.ranchu.initrd.noavb +++ /dev/null @@ -1,5 +0,0 @@ -# Android fstab file for ramdisk -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount diff --git a/fstab.ranchu.initrd.noavb.ex b/fstab.ranchu.initrd.noavb.ex deleted file mode 100644 index c3be28a7..00000000 --- a/fstab.ranchu.initrd.noavb.ex +++ /dev/null @@ -1,7 +0,0 @@ -# Android fstab file for ramdisk -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -product /product ext4 ro,barrier=1 wait,logical,first_stage_mount -system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount diff --git a/fstab.ranchu.mips b/fstab.ranchu.mips deleted file mode 100644 index 251966ba..00000000 --- a/fstab.ranchu.mips +++ /dev/null @@ -1,6 +0,0 @@ -# Android fstab file. -#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags> -# The filesystem that contains the filesystem checker binary (typically /system) cannot -# specify MF_CHECK, and must come before any filesystems that do specify MF_CHECK -/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,latemount -/devices/*/block/vde auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata diff --git a/fstab.ranchu.noavb b/fstab.ranchu.noavb deleted file mode 100644 index cec831e3..00000000 --- a/fstab.ranchu.noavb +++ /dev/null @@ -1,8 +0,0 @@ -# Android fstab file. -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,quota,fileencryption=aes-256-xts:aes-256-cts,reservedsize=128M,latemount -/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount -/devices/*/block/vdf auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata -dev/block/zram0 none swap defaults zramsize=75% diff --git a/fstab.ranchu.noavb.ex b/fstab.ranchu.noavb.ex deleted file mode 100644 index 9a0df81b..00000000 --- a/fstab.ranchu.noavb.ex +++ /dev/null @@ -1,10 +0,0 @@ -# Android fstab file. -#<dev> <mnt_point> <type> <mnt_flags options> <fs_mgr_flags> -system /system ext4 ro,barrier=1 wait,logical,first_stage_mount -vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount -product /product ext4 ro,barrier=1 wait,logical,first_stage_mount -system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount -/dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,quota,fileencryption=aes-256-xts:aes-256-cts,reservedsize=128M,latemount -/dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount -/devices/*/block/vdf auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata -dev/block/zram0 none swap defaults zramsize=75% diff --git a/fstab.ranchu.ex b/fstab.ranchu.x86 index 5fe5b801..0de03e63 100644 --- a/fstab.ranchu.ex +++ b/fstab.ranchu.x86 @@ -3,8 +3,9 @@ system /system ext4 ro,barrier=1 wait,logical,avb=vbmeta,first_stage_mount vendor /vendor ext4 ro,barrier=1 wait,logical,first_stage_mount product /product ext4 ro,barrier=1 wait,logical,first_stage_mount +system_dlkm /system_dlkm erofs ro wait,logical,first_stage_mount system_ext /system_ext ext4 ro,barrier=1 wait,logical,first_stage_mount /dev/block/vdc /data ext4 noatime,nosuid,nodev,nomblk_io_submit,errors=panic wait,check,quota,fileencryption=aes-256-xts:aes-256-cts,reservedsize=128M,fsverity,keydirectory=/metadata/vold/metadata_encryption,latemount /dev/block/pci/pci0000:00/0000:00:06.0/by-name/metadata /metadata ext4 noatime,nosuid,nodev wait,formattable,first_stage_mount /devices/*/block/vdf auto auto defaults voldmanaged=sdcard:auto,encryptable=userdata -dev/block/zram0 none swap defaults zramsize=75% +/dev/block/zram0 none swap defaults zramsize=75% diff --git a/init.ranchu.rc b/init.ranchu.rc index 870947e8..2688f18a 100644 --- a/init.ranchu.rc +++ b/init.ranchu.rc @@ -24,6 +24,8 @@ on early-init # GTS tests are migrated to ro.boot.qemu. setprop ro.kernel.qemu 1 + start vendor.dlkm_loader + on init # set RLIMIT_MEMLOCK to 8MB for BPF network statistics setrlimit memlock 8388608 8388608 @@ -103,6 +105,13 @@ on boot # Create an unused USB gadget to allow sysfs testing mkdir /config/usb_gadget/g1 0770 root root +service vendor.dlkm_loader /vendor/bin/dlkm_loader + class main + user root + group root system + disabled + oneshot + service ranchu-setup /vendor/bin/init.ranchu-core.sh class core user root diff --git a/kernel_modules.blocklist b/kernel_modules.blocklist new file mode 100644 index 00000000..8dc5e712 --- /dev/null +++ b/kernel_modules.blocklist @@ -0,0 +1 @@ +blocklist vkms.ko diff --git a/manifest.xml b/manifest.xml index 1d2e7c8a..b4a4bdb5 100644 --- a/manifest.xml +++ b/manifest.xml @@ -11,7 +11,7 @@ <hal format="hidl"> <name>android.hardware.bluetooth.audio</name> <transport>hwbinder</transport> - <version>2.0</version> + <version>2.1</version> <interface> <name>IBluetoothAudioProvidersFactory</name> <instance>default</instance> diff --git a/pc/data/etc/pc.xml b/pc/data/etc/pc.xml index 3eb3c786..4dc8493e 100644 --- a/pc/data/etc/pc.xml +++ b/pc/data/etc/pc.xml @@ -26,8 +26,14 @@ <!-- For PC-like device we mainly uses hardware keyboards. --> <unavailable-feature name="android.software.input_methods" /> - <!-- For PC-like device we usually don't have telephony. --> + <!-- For PC-like device we usually don't have telephony. --> + <!-- These features are added in handheld_core_hardware.xml. --> <unavailable-feature name="android.hardware.telephony" /> + <unavailable-feature name="android.hardware.telephony.data" /> + <unavailable-feature name="android.hardware.telephony.gsm" /> + <unavailable-feature name="android.hardware.telephony.ims" /> + <unavailable-feature name="android.hardware.telephony.radio.access" /> + <unavailable-feature name="android.hardware.telephony.subscription" /> <!-- PC-like device should not support MOTION_TRACKING capability level. --> <unavailable-feature name="android.hardware.camera.ar" /> diff --git a/sensors/multihal_sensors.cpp b/sensors/multihal_sensors.cpp index e9c2edcf..f7eea987 100644 --- a/sensors/multihal_sensors.cpp +++ b/sensors/multihal_sensors.cpp @@ -71,7 +71,6 @@ MultihalSensors::MultihalSensors() } m_availableSensorsMask = hostSensorsMask - & ~(1U << kSensorHandleGyroscopeFieldUncalibrated) & ((1u << getSensorNumber()) - 1); ALOGI("%s:%d: host sensors mask=%x, available sensors mask=%x", diff --git a/sensors/multihal_sensors.h b/sensors/multihal_sensors.h index 37b58f9e..60d6b927 100644 --- a/sensors/multihal_sensors.h +++ b/sensors/multihal_sensors.h @@ -20,6 +20,7 @@ #include <atomic> #include <condition_variable> #include <cstdint> +#include <random> #include <queue> #include <thread> #include <vector> @@ -104,6 +105,8 @@ private: void qemuSensorListenerThread(); void batchThread(); + double randomError(float lo, float hi); + static constexpr char kCMD_QUIT = 'q'; bool qemuSensorThreadSendCommand(char cmd) const; @@ -147,6 +150,9 @@ private: std::atomic<bool> m_batchRunning = true; mutable std::mutex m_mtx; + + std::random_device rd; + std::mt19937 gen = std::mt19937(rd()); }; } // namespace goldfish diff --git a/sensors/multihal_sensors_qemu.cpp b/sensors/multihal_sensors_qemu.cpp index fbb3e34a..778ffc6e 100644 --- a/sensors/multihal_sensors_qemu.cpp +++ b/sensors/multihal_sensors_qemu.cpp @@ -18,6 +18,7 @@ #include <utils/SystemClock.h> #include <math.h> #include <qemud.h> +#include <random> #include "multihal_sensors.h" #include "sensor_list.h" @@ -82,6 +83,11 @@ bool MultihalSensors::setAllQemuSensors(const bool enabled) { return true; } +double MultihalSensors::randomError(float lo, float hi) { + std::uniform_real_distribution<> distribution(lo, hi); + return distribution(gen); +} + void MultihalSensors::parseQemuSensorEvent(const int pipe, QemuSensorsProtocolState* state) { char buf[256]; @@ -92,13 +98,11 @@ void MultihalSensors::parseQemuSensorEvent(const int pipe, const int64_t nowNs = ::android::elapsedRealtimeNano(); buf[len] = 0; const char* end = buf + len; - bool parsed = false; Event event; EventPayload* payload = &event.u; ahs10::Vec3* vec3 = &payload->vec3; ahs10::Uncal* uncal = &payload->uncal; - if (const char* values = testPrefix(buf, end, "acceleration", ':')) { if (sscanf(values, "%f:%f:%f", &vec3->x, &vec3->y, &vec3->z) == 3) { @@ -109,6 +113,19 @@ void MultihalSensors::parseQemuSensorEvent(const int pipe, postSensorEvent(event); parsed = true; } + } else if (const char* values = testPrefix(buf, end, "acceleration-uncalibrated", ':')) { + if (sscanf(values, "%f:%f:%f", + &uncal->x, &uncal->y, &uncal->z) == 3) { + // A little bias noise to pass CTS + uncal->x_bias = randomError(-0.003f, 0.003f); + uncal->y_bias = randomError(-0.003f, 0.003f); + uncal->z_bias = randomError(-0.003f, 0.003f); + event.timestamp = nowNs + state->timeBiasNs; + event.sensorHandle = kSensorHandleAccelerometerUncalibrated; + event.sensorType = SensorType::ACCELEROMETER_UNCALIBRATED; + postSensorEvent(event); + parsed = true; + } } else if (const char* values = testPrefix(buf, end, "gyroscope", ':')) { if (sscanf(values, "%f:%f:%f", &vec3->x, &vec3->y, &vec3->z) == 3) { @@ -122,9 +139,14 @@ void MultihalSensors::parseQemuSensorEvent(const int pipe, } else if (const char* values = testPrefix(buf, end, "gyroscope-uncalibrated", ':')) { if (sscanf(values, "%f:%f:%f", &uncal->x, &uncal->y, &uncal->z) == 3) { - uncal->x_bias = 0.0; - uncal->y_bias = 0.0; - uncal->z_bias = 0.0; + //Uncalibrated gyro values needs to be close to 0,0,0. + uncal->x += randomError(0.00005f, 0.001f); + uncal->y += randomError(0.00005f, 0.001f); + uncal->z += randomError(0.00005f, 0.001f); + // Bias noise + uncal->x_bias = randomError(-0.0003f, 0.0003f); + uncal->y_bias = randomError(-0.0003f, 0.0003f); + uncal->z_bias = randomError(-0.0003f, 0.0003f); event.timestamp = nowNs + state->timeBiasNs; event.sensorHandle = kSensorHandleGyroscopeFieldUncalibrated; event.sensorType = SensorType::GYROSCOPE_UNCALIBRATED; @@ -154,9 +176,10 @@ void MultihalSensors::parseQemuSensorEvent(const int pipe, } else if (const char* values = testPrefix(buf, end, "magnetic-uncalibrated", ':')) { if (sscanf(values, "%f:%f:%f", &uncal->x, &uncal->y, &uncal->z) == 3) { - uncal->x_bias = 0.0; - uncal->y_bias = 0.0; - uncal->z_bias = 0.0; + // A little bias noise to pass CTS + uncal->x_bias = randomError( -0.003f, 0.003f); + uncal->y_bias = randomError(-0.003f, 0.003f); + uncal->z_bias = randomError(-0.003f, 0.003f); event.timestamp = nowNs + state->timeBiasNs; event.sensorHandle = kSensorHandleMagneticFieldUncalibrated; event.sensorType = SensorType::MAGNETIC_FIELD_UNCALIBRATED; diff --git a/sensors/sensor_list.cpp b/sensors/sensor_list.cpp index 9eb96288..44278e72 100644 --- a/sensors/sensor_list.cpp +++ b/sensors/sensor_list.cpp @@ -40,6 +40,7 @@ const char* const kQemuSensorName[] = { "heart-rate", "rgbc-light", "wrist-tilt", + "acceleration-uncalibrated", }; const SensorInfo kAllSensors[] = { @@ -338,6 +339,25 @@ const SensorInfo kAllSensors[] = { .flags = SensorFlagBits::DATA_INJECTION | SensorFlagBits::SPECIAL_REPORTING_MODE | SensorFlagBits::WAKE_UP + }, + { + .sensorHandle = kSensorHandleAccelerometerUncalibrated, + .name = "Goldfish 3-axis Accelerometer Uncalibrated", + .vendor = kAospVendor, + .version = 1, + .type = SensorType::ACCELEROMETER_UNCALIBRATED, + .typeAsString = "android.sensor.accelerometer_uncalibrated", + .maxRange = 39.3, + .resolution = 1.0 / 4032.0, + .power = 3.0, + .minDelay = 10000, + .fifoReservedEventCount = 0, + .fifoMaxEventCount = 0, + .requiredPermission = "", + .maxDelay = 500000, + .flags = SensorFlagBits::DATA_INJECTION | + SensorFlagBits::ADDITIONAL_INFO | + SensorFlagBits::CONTINUOUS_MODE }}; constexpr int kSensorNumber = sizeof(kAllSensors) / sizeof(kAllSensors[0]); diff --git a/sensors/sensor_list.h b/sensors/sensor_list.h index a6a36f60..86e4d98f 100644 --- a/sensors/sensor_list.h +++ b/sensors/sensor_list.h @@ -38,6 +38,7 @@ constexpr int kSensorHandleHingeAngle1 = 12; constexpr int kSensorHandleHingeAngle2 = 13; constexpr int kSensorHandleHeartRate = 14; constexpr int kSensorHandleWristTilt = 16; +constexpr int kSensorHandleAccelerometerUncalibrated = 17; int getSensorNumber(); bool isSensorHandleValid(int h); diff --git a/sepolicy/common/dlkm_loader.te b/sepolicy/common/dlkm_loader.te new file mode 100644 index 00000000..6f633c7b --- /dev/null +++ b/sepolicy/common/dlkm_loader.te @@ -0,0 +1,30 @@ +type dlkm_loader, domain; +type dlkm_loader_exec, exec_type, vendor_file_type, file_type; + +init_daemon_domain(dlkm_loader) + +# Allow insmod on vendor, system and system_dlkm partitions +allow dlkm_loader self:capability sys_module; +allow dlkm_loader system_dlkm_file:dir r_dir_perms; +allow dlkm_loader system_dlkm_file:file r_file_perms; +allow dlkm_loader system_dlkm_file:system module_load; +allow dlkm_loader system_file:system module_load; +allow dlkm_loader vendor_file:system module_load; + +# needed for libmodprobe to read kernel commandline +allow dlkm_loader proc_cmdline:file r_file_perms; + +# Needed because CONFIG_USB_DUMMY_HCD adds some additional logic to +# finit_module() syscall, causing that syscall to create/update keyrings. +# Once we remove CONFIG_USB_DUMMY_HCD config, self:key write permission can be +# removed. +allow dlkm_loader self:key write; + +# Allow writing to kernel log +allow dlkm_loader kmsg_device:chr_file rw_file_perms; + +# dlkm_loader searches tracefs while looking for modules +dontaudit dlkm_loader debugfs_bootreceiver_tracing:dir search; +dontaudit dlkm_loader debugfs_mm_events_tracing:dir search; + +set_prop(dlkm_loader, vendor_dlkm_prop) diff --git a/sepolicy/common/file_contexts b/sepolicy/common/file_contexts index a999cc26..d58270b3 100644 --- a/sepolicy/common/file_contexts +++ b/sepolicy/common/file_contexts @@ -35,6 +35,7 @@ /vendor/bin/init\.ranchu-net\.sh u:object_r:goldfish_setup_exec:s0 /vendor/bin/qemu-adb-keys u:object_r:qemu_adb_keys_exec:s0 /vendor/bin/qemu-device-state u:object_r:qemu_device_state_exec:s0 +/vendor/bin/dlkm_loader u:object_r:dlkm_loader_exec:s0 /vendor/bin/qemu-props u:object_r:qemu_props_exec:s0 /vendor/bin/mac80211_create_radios u:object_r:mac80211_create_radios_exec:s0 /vendor/bin/hw/libgoldfish-rild u:object_r:rild_exec:s0 diff --git a/sepolicy/common/property.te b/sepolicy/common/property.te index 9b081d7f..126fdb54 100644 --- a/sepolicy/common/property.te +++ b/sepolicy/common/property.te @@ -1,4 +1,5 @@ system_restricted_prop(vendor_qemu_adb_prop) +vendor_restricted_prop(vendor_dlkm_prop) vendor_restricted_prop(vendor_qemu_prop) vendor_restricted_prop(vendor_net_wlan0_prop) vendor_restricted_prop(vendor_net_eth0_prop) diff --git a/sepolicy/common/property_contexts b/sepolicy/common/property_contexts index 9aecb779..316437dc 100644 --- a/sepolicy/common/property_contexts +++ b/sepolicy/common/property_contexts @@ -1,3 +1,4 @@ +vendor.dlkm.modules.ready u:object_r:vendor_dlkm_prop:s0 exact bool vendor.qemu.adb.copykey u:object_r:vendor_qemu_adb_prop:s0 exact bool vendor.qemu.keyboard_layout u:object_r:vendor_qemu_prop:s0 exact string vendor.qemu.logcat_filter u:object_r:vendor_qemu_prop:s0 exact string @@ -67,6 +67,7 @@ PRODUCT_PACKAGES += \ libstagefright_goldfish_avcdec \ MultiDisplayProvider \ libGoldfishProfiler \ + dlkm_loader ifneq ($(EMULATOR_VENDOR_NO_FINGERPRINT), true) PRODUCT_PACKAGES += \ @@ -288,7 +289,6 @@ PRODUCT_COPY_FILES += \ device/generic/goldfish/init.ranchu-net.sh:$(TARGET_COPY_OUT_VENDOR)/bin/init.ranchu-net.sh \ device/generic/goldfish/init.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/init/hw/init.ranchu.rc \ device/generic/goldfish/init.system_ext.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/init.system_ext.rc \ - device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu \ device/generic/goldfish/ueventd.ranchu.rc:$(TARGET_COPY_OUT_VENDOR)/etc/ueventd.rc \ device/generic/goldfish/input/virtio_input_rotary.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/virtio_input_rotary.idc \ device/generic/goldfish/input/qwerty2.idc:$(TARGET_COPY_OUT_VENDOR)/usr/idc/qwerty2.idc \ diff --git a/x86-vendor.mk b/x86-vendor.mk index 3a0bd024..03b7d6d8 100644 --- a/x86-vendor.mk +++ b/x86-vendor.mk @@ -26,30 +26,6 @@ PRODUCT_SHIPPING_API_LEVEL := 33 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false TARGET_USES_MKE2FS := true -ifeq ($(QEMU_DISABLE_AVB),true) - ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - device/generic/goldfish/fstab.ranchu.initrd.noavb.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.noavb.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.noavb.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu - else - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - device/generic/goldfish/fstab.ranchu.initrd.noavb:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.noavb:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.noavb:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu - endif -endif - -ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) -PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu -else PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu -endif + device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ + device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu diff --git a/x86_64-kernel.mk b/x86_64-kernel.mk index e372fc35..ea146a3a 100644 --- a/x86_64-kernel.mk +++ b/x86_64-kernel.mk @@ -1,8 +1,31 @@ TARGET_KERNEL_USE ?= 5.15 -KERNEL_MODULES_PATH := kernel/prebuilts/common-modules/virtual-device/$(TARGET_KERNEL_USE)/x86-64 +KERNEL_ARTIFACTS_PATH := kernel/prebuilts/$(TARGET_KERNEL_USE)/x86_64 -BOARD_VENDOR_RAMDISK_KERNEL_MODULES += \ - $(filter-out $(KERNEL_MODULES_EXCLUDE), $(wildcard $(KERNEL_MODULES_PATH)/*.ko)) +VIRTUAL_DEVICE_KERNEL_MODULES_PATH := \ + kernel/prebuilts/common-modules/virtual-device/$(TARGET_KERNEL_USE)/x86-64 -EMULATOR_KERNEL_FILE := kernel/prebuilts/$(TARGET_KERNEL_USE)/x86_64/kernel-$(TARGET_KERNEL_USE) +# The list of modules to reach the second stage. For performance reasons we +# don't want to put all modules into the ramdisk. +RAMDISK_KERNEL_MODULES := \ + virtio_blk.ko \ + virtio_console.ko \ + virtio_dma_buf.ko \ + virtio_pci.ko \ + virtio_pci_modern_dev.ko \ + virtio-rng.ko \ + vmw_vsock_virtio_transport.ko \ + +BOARD_SYSTEM_KERNEL_MODULES := $(wildcard $(KERNEL_ARTIFACTS_PATH)/*.ko) + +BOARD_VENDOR_RAMDISK_KERNEL_MODULES := \ + $(patsubst %,$(VIRTUAL_DEVICE_KERNEL_MODULES_PATH)/%,$(RAMDISK_KERNEL_MODULES)) + +BOARD_VENDOR_KERNEL_MODULES := \ + $(filter-out $(BOARD_VENDOR_RAMDISK_KERNEL_MODULES),\ + $(wildcard $(VIRTUAL_DEVICE_KERNEL_MODULES_PATH)/*.ko)) + +BOARD_VENDOR_KERNEL_MODULES_BLOCKLIST_FILE := \ + device/generic/goldfish/kernel_modules.blocklist + +EMULATOR_KERNEL_FILE := $(KERNEL_ARTIFACTS_PATH)/kernel-$(TARGET_KERNEL_USE) diff --git a/x86_64-vendor.mk b/x86_64-vendor.mk index b2a169a8..b62b2c5e 100644 --- a/x86_64-vendor.mk +++ b/x86_64-vendor.mk @@ -39,31 +39,6 @@ PRODUCT_SHIPPING_API_LEVEL := 33 PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS := false TARGET_USES_MKE2FS := true - -ifeq ($(QEMU_DISABLE_AVB),true) - ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - device/generic/goldfish/fstab.ranchu.initrd.noavb.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.noavb.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.noavb.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu - else - PRODUCT_COPY_FILES += \ - device/generic/goldfish/data/etc/dummy.vbmeta.img:$(PRODUCT_OUT)/vbmeta.img \ - device/generic/goldfish/fstab.ranchu.initrd.noavb:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.noavb:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.noavb:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu - endif -endif - -ifeq ($(QEMU_USE_SYSTEM_EXT_PARTITIONS),true) -PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd.ex:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.ex:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu -else PRODUCT_COPY_FILES += \ - device/generic/goldfish/fstab.ranchu.initrd:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu.initrd:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/fstab.ranchu \ - device/generic/goldfish/fstab.ranchu:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu -endif + device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR_RAMDISK)/first_stage_ramdisk/fstab.ranchu \ + device/generic/goldfish/fstab.ranchu.x86:$(TARGET_COPY_OUT_VENDOR)/etc/fstab.ranchu |