[Description]
protect_f和protect_s分区的作用是什么?
[Solution]
在没有Protect_s和Protect_f分区之前,SIM ME LOCK数据存在USER DATA分区内,详细路径为/data/nvram/md/NVRAM/IMPORTANT。
当恢复出厂设置时,会将/data/nvram/md/下的文件全部清除,其后开机时会将NVRAM BIN Region中备份的数据recovery到/data/nvram/md/下。
-
如NVRAM BIN REGION中数据为空,则会按照默认值生成SIM ME LOCK数据。
-
如NVRAM BIN REGION中数据不为空,则会将SIM ME LOCK数据恢复为NVRAM BIN REGION保存的状态。
针对case 2,由于NVRAM BIN REGION中保存的状态并不总是同恢复出厂之前/data/nvram/md/NVRAM/IMPORTANT下的SIM ME LOCK数据状态一致,因此可能无法满足SML 的更新一致性要求。
为了对SML数据进行持久化保存以及更新一致性的目的,我们将SML数据移入Protect_s和Protect_f分区。
Protect_s和Protect_f分区的特点有:
-
Download的时候若要format USERDATA分区时,不会format Protect_s和Protect_f。
-
恢复出厂设置时,也不会清除 Protect_s和Protect_f。但若此时BIN Region中无内容,开机时会判断出USERDATA分区中/data/nvram/md不存在且BIN Region中无内容,进而断定是第一次开机从而根据默认值生成SIM ME LOCK。