【开发者教程】HTC S-ON机型卡刷ROM无需单独刷BOOT.IMG

文章目录

【开发者教程】HTC S-ON机型卡刷ROM无需单独刷BOOT.IMG教程:

下面介绍解决HTC S-ON机器解锁unlocked后刷入刷机包的方法,s off机型测试通过。

感谢作者:xHausx

原帖地址:http://forum.xda-developers.com/showthread.php?t=1847860

感谢技术整理者:cofface

感谢xiaolu大在其htc one s off机型测试也通过。

感谢机友ω The Dreamer じ  在G14上测试通过。


此教程适用于ROM开发者。
下面以HTC G14机型为例;
1、下载附件

HTC_S-ON_BOOT.zip 

解压后如下图所示:

其中kernel目录放置的是刷boot.img脚本,META-INF目录是定制ROM的刷机脚本和签名,boot.img是内核,system目录是内核对应的驱动文件;
2、boot.img和system下的目录替换成你机型的内核与配套文件;
3、kernel目录不需要动任何操作,复制此目录到你的ROM包即可;
4、META-INF目录下的updater-script刷机脚本代码复制到你的ROM包刷机脚本写boot.img代码覆盖即可,如下图所示;

脚本如下:

ui_print(“Installing Kernel, please wait…”);
mount(“ext4”, “EMMC”, “/dev/block/mmcblk0p22”, “/system”);
delete_recursive(“/system/lib/modules”);
package_extract_dir(“system”, “/system”);
package_extract_file(“boot.img”, “/tmp/boot.img”);
package_extract_dir(“kernel”, “/tmp/kernel”);
set_perm_recursive(0, 2000, 0777, 0777, “/tmp/kernel”);
run_program(“/tmp/kernel/install_kernel.sh”, “/tmp/boot.img”, “/tmp/bootready.tmp”);;
ifelse(file_getprop(“/tmp/bootready.tmp”,”kernel.ready”) != “READY”,(
ifelse(file_getprop(“/tmp/bootready.tmp”,”kernel.ready”) == “STARTUP”,
ui_print(“Kernel Will Be Installed On Startup.”),
ui_print(“ERROR: Kernel Not Installed!”)
)
));

温馨提示:
刷机信息最后如果任何信息都不打印表示已经自动刷入,如果是Kernel Will Be Installed On Startup,
则表示他会在重启的过程中刷入,如果出现ERROR: Kernel Not Installed!就表示无法刷入了。

原文链接:,转发请注明来源!