Android8.1 MTK Vendor分区大小调整无效分析
最近想修改一下MTK Vendor分区大小,结果被 坑。只能说MTK真的太laji。
查找资料,正规的流程是:
1. device/mediatek/build/build/tools/ptgen/MT6763/partition_table_MT6763.xls
修改里面对应的分区大小。
2. 重编译make, 但是发现一个很鬼的问题, 编译log显示vendor根本没变
Partition_Name: vendor
Region: EMMC_USER
Reserved: N
Size_KB: 671744
Start_Addr: 486539264
3,重新验证,不需要修改xls,删掉 这个rm out/target/product/k63v1us_64_bsp/obj/PTGEN/partition_size.mk
定位:
从编译log打印看,没有发现,只好修改python脚本,ptgen.pl
关键函数:
printf("Need adjust start address for %s, because it is 0x%x now. ", $partition_layou....
加入log $partition_layout_process[$partition_idx]->{Size_KB}
#modify size for some part by project ==== 恶心
$board_config_path = load_boardconfig_partition_info($ArgList{mtk_platform});
$board_config = &open_for_read("$board_config_path");
$board_config_path ==== 打印这个 device/mediatek/mt6763/BoardConfig.mk
if ($line =~ /\A\s*BOARD_MTK_${part_name}_SIZE_KB\s*:=\s*(
====== 对应log
by platform size vendor = 665600 KB
by platform enable vendor partition
查找代码 device/mediatek/mt6763/BoardConfig.mk
#Force setting vendor parition for MT6763
BOARD_MTK_VENDOR_SIZE_KB := 665600
MTK给人的感觉就是 业余,又想搞出自己的一套,傻瓜化,又自作聪明,随意修改,破坏规则。
记录一下问题排查过程。
device/mediateksample/k63v1us_64_bsp/system.prop
-ro.sf.lcd_density=320
+ro.sf.lcd_density=480
本文地址:https://blog.csdn.net/junwua/article/details/110539317