Android默认没有单编recovery-ramdisk.img的命令,我们可以自己修改Makefile实现
修改:build/core/Makefile
添加:
.PHONY: recovery-ramdisk-nodeps
recovery-ramdisk-nodeps: $(MKBOOTFS) | $(COMPRESSION_COMMAND_DEPS)
@echo "make $@: ignoring dependencies"
$(hide) $(MKBOOTFS) -d $(TARGET_OUT) $(TARGET_RECOVERY_ROOT_OUT) | $(COMPRESSION_COMMAND) > $(recovery_ramdisk)
我们一般整编代码后,有时只修改部分代码,为快速验证,或者想预置一些问题到此image都可以使用此方法。
注意:这个image是开启了Android AB系统时才有用,未开启AB系统,使用的是ramdisk.img
生成recovery-ramdisk.img后,再使用打包boot脚本,即可快速验证。
参考boot打包脚本:
$ANDROID_TOP/out/host/linux-x86/bin/mkbootimg --kernel ./ap.Image --ramdisk recovery-ramdisk.img --pagesize 4096 --cmdline "printk.devkmsg=off androidboot.hardware=mt6752 androidboot.hardware.platform=mt6752 loop.max_part=7 androidboot.selinux=permissive androidboot.boot_devices=e36c0000.ufs androidboot.wificountrycode=CN buildvariant=userdebug" --os_version 11 --os_patch_level 2021-09-05 --header_version 3 --output boot_new.img