最近遇到一个如题的bug,这样的话首先看那些地方会动这个sn号,sn号放在devinfo里,平时正常情况下都是写保护的也就是没人可以动,在fac img里可以用phonetestinfo去修改。
比如:cd system/bin之后./Phonetestinfo 0 0先读出sn值,然后写的话就是./Phonetestinfo 0 1 sn号。
那么那些地方限定了这个devinfo的权限呢,在bootable/bootloader/lk/app/aboot.c里的
if (target_build_variant_user() && devinfo_present && mmc_write_protect("devinfo", 1))
{
dprintf(INFO, "Failed to write protect dev info\n");
ASSERT(0);
}
这里的 mmc_write_protect("devinfo", 1)就是限定读写权限的地方
如果修改了权限。那就要重新make aboot 然后fastboot flash aboot emmc_appsboot.mbn,然后make bootimage之后重烧bootimg才能生效。
至于这个bug为何发生还得继续研究