Platform: RK3399-MID
OS: Android 7.1.2
Kernel: v4.4.83
问题:
FwFactoryTool可以提供给客户自主拆包,修改kernel logo 、开机动画、以及一些版本号等等再重新打包成update.img镜像包等;有客户反馈烧录了用工具生成的update.img镜像包,无法正常开机,画面黑屏;
问题日志:
[ 2.774201] init: property 'ro.serialno' doesn't exist while expanding '${ro. serialno}'
[ 2.774998] init: write: cannot expand '${ro.serialno}'
[ 2.775516] init: property 'ro.product.manufacturer' doesn't exist while expa nding '${ro.product.manufacturer}'
[ 2.776447] init: write: cannot expand '${ro.product.manufacturer}'
[ 2.777060] init: property 'ro.product.model' doesn't exist while expanding ' ${ro.product.model}'
[ 2.777875] init: write: cannot expand '${ro.product.model}'
[ 2.780783] file system registered
[ 2.783625] using random self ethernet address
[ 2.784067] using random host ethernet address
[ 2.784558] init: write_file: Unable to open '/config/usb_gadget/g1/functions /rndis.gs4/wceis': Permission denied
[ 2.794222] init: cannot find '/system/bin/sh' (No such file or directory), d isabling 'console'
[ 2.795212] init: Starting service 'adbd'...
[ 2.796133] resource = 4, RLIM_NLIMITS = 16 pid = 1 tgid = 1
[ 3.760735] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 4.761312] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 5.761893] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 6.762475] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 7.763058] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 8.763442] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 9.764026] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 10.764607] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 11.765188] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 12.765772] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 13.021772] read descriptors
[ 13.021918] read descriptors
[ 13.021944] read strings
[ 13.766354] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 14.766932] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 15.767513] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 16.768097] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 17.768689] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 18.769270] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 19.769850] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 20.426480] do_delay_timer init level = 0, is_delay = 1 **************
[ 20.426615] pull up GPIO gpio_mute success
[ 20.770431] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 21.771013] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 22.771594] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 23.772178] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 24.772745] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 25.773388] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 26.773980] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 27.774561] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 28.775145] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 29.775725] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 30.776384] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 31.776968] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 32.777550] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 33.778132] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 34.778713] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 35.779301] binder: 196:196 transaction failed 29189/0, size 0-0 line 2868
[ 36.043216] random: nonblocking pool is initialized
解决方法:
看到FWFactoryTool5.50 使用手册有一项注意事项:
修改文件: build//target/product/verity.mk
diff --git a/target/product/verity.mk b/target/product/verity.mk
old mode 100644
new mode 100755
index 0badb9f..2c45250
--- a/target/product/verity.mk
+++ b/target/product/verity.mk
@@ -20,7 +20,7 @@user_variant := $(filter user userdebug,$(TARGET_BUILD_VARIANT))ifneq (,$(user_variant))PRODUCT_SUPPORTS_BOOT_SIGNER := true
- PRODUCT_SUPPORTS_VERITY := true
+ PRODUCT_SUPPORTS_VERITY := falsePRODUCT_SUPPORTS_VERITY_FEC := true# The dev key is used to sign boot and recovery images, and the verity
修改完确实可以进系统了,但是我到RK3288的源码上查看相同的地方,RK3288相同的地方还是true,为什么RK3288可以拆包打包并正常进系统呢?
参考:
Android 中的dm-verity
Android dm-verity 实现原理深入研究