rk平台开启SN号写入的功能


需求:

可以写入SN号,写入的SN号可以作用于adb devices显示和setting显示

方法:

1. 修改drmservice.c,路径如下:

system/core/drmservice/drmservice.c

内容如下:

#define SERIALNO_FROM_IDB 1  //if 1 read sn from idb3;  if 0 generate sn auto

2. 若还是无效,可对应修改 init.rk30board.rc,diff如下:

 # set ro.serialno
 on property:sys.serialno=*
-    setprop ro.serialno ${sys.serialno}
+    setprop ro.serialno ${ro.boot.serialno}


原理:

1. idb3是指idblock的sector3,在机器开机时,boot会打印出sn号,sn:XXXXXXXX 这里的sn号,就是boot读取了sector3的数据得到的。
2. 文件 u-boot/board/rockchip/common/rkloader/idblock.c +617中有描述上述原理。
3. 文件 u-boot/board/rockchip/common/mediaboot/sdmmcBoot.c +114 中有 SDM_Read的信息,读取到全局变量gIdDataBuf中。
4. 文件 kernel/drivers/mtd/rknand/rknand_base_ko.c +321 这里有描述kernel获取sn号的方式。

版权所有丨如未注明,均为原创,转载请注明转自:https://whonee.net/rk-sn-number-write-enable.html

发表评论

电子邮件地址不会被公开。 必填项已用*标注