欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android8.1 MTK Vendor分区大小调整无效分析

程序员文章站 2022-03-26 10:25:53
最近想修改一下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 Reserve......

最近想修改一下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