有时需要修改在recovery里面开启adb console或者加些命令用来排查问题,这就需要快速打包一个recovery.img
ramdisk-recovery.img制作和ramdisk类似,指令如下
out/host/linux-x86/bin/mkbootfs -d out/target/product/$(PRODUCT)/system out/target/product/$(PRODUCT)/recovery/root | out/host/linux-x86/bin/minigzip > out/target/product/$(PRODUCT)/recovery_new.img
制作recovery.img
out/host/linux-x86/bin/mkbootimg --kernel out/target/product/$(PRODUCT)/kernel --ramdisk out/target/product/$(PRODUCT)/ramdisk-recovery-new.img --cmdline "printk.devkmsg=off androidboot.hardware=mt6752 androidboot.hardware.platform=mt6752 androidboot.selinux=permissive androidboot.boot_devices=e36c0000.ufs androidboot.wificountrycode=CN buildvariant=userdebug" --pagesize 4096 --os_version 11 --os_patch_level 2021-09-05 --output out/target/product/$(PRODUCT)/recovery-new.img
如果没开AVB这样就可以,开AVB再执行下面指令
out/host/linux-x86/bin/avbtool add_hash_footer --image out/target/product/$(PRODUCT)/recovery-new.img --partition_size 50331648 --partition_name recovery --algorithm SHA256_RSA4096 --key external/avb/test/data/testkey_rsa4096.pem --prop com.android.build.recovery.fingerprint:$(cat out/target/product/$(PRODUCT)/build_fingerprint.txt) --rollback_index 4
请注意上面PRODUCT 和mt6752 等参数需要替换为自己平台信息
如何抓取打包命令?