安卓15的MTK平台(mt6768),如何添加分区
目前我已经在
1、新建vnd/device/mediateksample/zelus8786p1_64_k66_P3000/peakdata.mk内容为
CUSTOM_IMAGE_MOUNT_POINT := peakdata
CUSTOM_IMAGE_PARTITION_SIZE := 268435456
CUSTOM_IMAGE_FILE_SYSTEM_TYPE := ext4
CUSTOM_IMAGE_SELINUX := true
2、在vnd/device/mediateksample/zelus8786p1_64_k66_P3000/BoardConfig.mk添加
BOARD_PEAKDATAIMAGE_PARTITION_SIZE?=268435456
3、在vnd/device/mediateksample/zelus8786p1_64_k66_P3000/BoardConfig.mk添加
+#Create root/peakdata
+BOARD_ROOT_EXTRA_FOLDERS += peakdata
+
+#Add peakdata.mk to the project image compilation
+PRODUCT_CUSTOM_IMAGE_MAKEFILES += $(MTK_PROJECT_FOLDER)/peakdata.mk
4、在vnd/vendor/mediatek/proprietary/tools/ptgen/common/ptgen_unfz_android_s.mk添加
BOARD_PEAKDATAIMAGE_PARTITION_SIZE="${BOARD_PEAKDATAIMAGE_PARTITION_SIZE}" \
5、在vnd/vendor/mediatek/proprietary/tools/ptgen/common/ptgen_android_u.mk添加
vendor/mediatek/proprietary/tools/ptgen/common/ptgen_android_u.mk
6、在vnd/vendor/mediatek/proprietary/tools/ptgen/MT6768/partition_table_emmc_ab.csv
vendor_b,EXT4,EMMC_USER,,main,N,N,NONE,Y,N,AUTO,8388608,
system_b,EXT4,EMMC_USER,,main,N,Y,system_other.img,Y,N,AUTO,8388608,
super,Raw data,EMMC_USER,,,N,Y,super.img,Y,N,AUTO,8388608,"ne(DYNAMIC_PARTITION_SUPPORT,yes) or eq(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS,yes)"
+peakdata,EXT4,EMMC_USER,,,N,Y,peakdata.img,N,N,AUTO,,
userdata,EXT4,EMMC_USER,,,N,Y,userdata.img,N,N,NEEDRESIZE,,
mrdump,Raw data,EMMC_USER,,,Y,N,NONE,N,N,RESERVED,,
7、在vnd/vendor/mediatek/proprietary/hardware/fstab/mt6768/fstab.in添加
DEVPATH(peakdata) /peakdata ext4 FS_FLAG_COMMIT FSMGR_FLAG_FMT
8、在vnd/build/make/core/tasks/tools/build_custom_image.mk添加
@@ -26,7 +26,7 @@
intermediates := $(call intermediates-dir-for,PACKAGING,$(my_custom_image_name))
my_built_custom_image := $(intermediates)/$(my_custom_image_name).img
-my_staging_dir := $(intermediates)/$(CUSTOM_IMAGE_MOUNT_POINT)
+my_staging_dir := $(PRODUCT_OUT)/$(CUSTOM_IMAGE_MOUNT_POINT)
# Collect CUSTOM_IMAGE_MODULES's installd files and their PICKUP_FILES.
my_built_modules :=
@@ -126,6 +126,7 @@
$(hide) echo "fs_type=$(PRIVATE_FILE_SYSTEM_TYPE)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt
$(hide) echo "partition_size=$(PRIVATE_PARTITION_SIZE)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt
$(hide) echo "ext_mkuserimg=$(notdir $(MKEXTUSERIMG))" >> $(PRIVATE_INTERMEDIATES)/image_info.txt
+ $(hide) echo "extfs_sparse_flag=-s" >> $(PRIVATE_INTERMEDIATES)/image_info.txt
$(if $(PRIVATE_SELINUX),$(hide) echo "selinux_fc=$(SELINUX_FC)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt)
$(if $(filter eng, $(TARGET_BUILD_VARIANT)),$(hide) echo "verity_disable=true" >> $(PRIVATE_INTERMEDIATES)/image_info.txt)
$(hide) echo "avb_avbtool=$(PRIVATE_AVB_AVBTOOL)" >> $(PRIVATE_INTERMEDIATES)/image_info.txt
9、在vnd/device/mediatek/sepolicy/base/vendor/device.te添加
type peakdata_block_device, dev_type;
10、在vnd/device/mediatek/sepolicy/base/vendor/file.te添加
type peakdata_data_file, file_type, data_file_type;
11、在vnd/device/mediatek/sepolicy/base/vendor/file_contexts添加
+#Forcibly bind a fixed SELinux security context to /peakdata
+/dev/block/platform/mtk-\b(msdc|ufs)\b\.0/[0-9]+\.\b(msdc0|ufs0)\b/by-name/peakdata u:object_r:peakdata_block_device:s0
+/dev/block/by-name/peakdata u:object_r:peakdata_block_device:s0
+/peakdata(/.*)? u:object_r:peakdata_data_file:s0
我修改以上内容,为什么peakdata分区没有添加出来。