什么是SPL?与非SPL的区别

什么是SPL?与非SPL的区别

SPL,Second Program Loader,实际就是android的bootloader,用来引导系统的,(和pc的BIOS有点类似。)
除了用来加载android 系统外,它还有其他的一些功能,包括恢复模式,Fastboot(刷系统),HBoot(???)。
最终SPL就是用来读写flash rom的。除此之外,SPL还会检查要刷的数据文件是否正确。
当前大多数SPL,可以让我们刷写完整的系统rom,但是无法刷写recovery rom和boot image,因为spl会检查recovery 和boot img的签名。不过有高人(Haykuro)修改了SPL,移除check功能,这就是Engineering SPL,
SPL如此重要,在刷SPL时,要加倍小心。因为一旦刷坏了SPL,没有专门的设备和技术,是无法恢复spl的。

--------------------------------
所以论坛里说的,spl和非spl 是不明确的,其实大家所说的刷spl是刷修改过的spl
---------------------------
原文:

So what is an SPL anyway? What does it do?

The SPL, or Second Program Loader, is essentially the Android bootloader. It's job is more than just loading the Android OS - it also offers several other boot options, including Recovery mode, Fastboot, and HBOOT modes, and ultimately it's the SPL that allows manipulation of the flash nand on your device. Part of the SPL's job is to ensure that the data flashed to the device is correct. Most of the current shipping SPLs (apart from the "Perfect SPL's) let us flash a complete ROM image, but don't let us flash a recovery rom or boot image as it checks the verification signature. Haykuro has modified the SPL's available to remove this check and this is what the Engineering SPL's available offer. As the SPL is so crucial to the handset though, you have to be very careful when flashing it as if it's updated incorrectly then you may be incapable of restoring it without specialised hardware and knowledge. You essentially have a very expensive brick ;)
from:http://wiki.xda-developers.com/i ... TC_Sapphire_Hacking
xda-developers.com 是国外比较著名的HTC手机论坛,英文好的,可以在这个论坛和他的wiki 淘到好的东西,

这里是Original SPL list : (from:http://forum.xda-developers.com/showthread.php?t=529019 )
Please update us on any new SPL's so we can include them in this list.

- HBOOT-1.33.0004 (SAPP10000) : Sapphire PVT 32B SHIP S-ON G : CPLD-10 (Voldafone NL + UK + Australia)
- HBOOT-1.33.0008 (SAPP10000) : Sapphire PVT 32A SHIP S-ON H : CPLD-12 (TIM (Italian))
- HBOOT-1.3300.0009 (SAPP10000) : Sapphire PVT 32A SHIP S-ON H : CPLD-12 (Nordic Magic A6161)
- HBOOT-1.33.0009 (SAPP10000) : Sapphire PVT 32A SHIP S-OFF H : CPLD-12 (Belgian HTC)
- HBOOT-1.33.0009 (SAPP10000) : Sapphire PVT 32A SHIP S-ON H : CPLD-12 (Greek)
- HBOOT-1.33.0009 (SAPP50000) : Sapphire PVT 32A SHIP S-OFF H : CPLD-11 (Rogers)
- HBOOT-1.33.0009 (SAPP50000) : Sapphire PVT 32A SHIP S-ON H : CPLD-12 (Rogers)
- HBOOT-1.33.0010 (SAPP10000) : Sapphire PVT 32A SHIP S-ON H : CPLD-12
- HBOOT-1.33.3004 (SAPP30000) : Sapphire PVT 32B DEV S-ON G : CPLD-10 (ION)
- HBOOT-1.33.3005 from the Japanese ION


Haykuro quote : "T-Mobile myTouch : 1.33.0006 and 1.33.0010 is the dreaded "perfected" SPL".
This means that it's currently not possible to run "fastboot boot image" on these SPL's, so don't try to flash them.
==(1.33.0006 and 1.33.0010 目前还没被破解,就不能刷fastboot boot image")

SPL Info
- The G or H at the end identify if it's a Google or HTC SPL
- ENG : Engineering version
- SHIP : Shipment version
- DEV : Development version (ION)
- S-off and S-on : Security on and off (writing directly to nand or not) , most probably not SPL linked.
- PVT 32A (HTC branded) : 288MB RAM / Qualcomm MSM7200a           ==(主板类型)
- PVT 32B (Google branded) : 192MB RAM / Qualcomm MSM7201a
- CPLD XX : What does this mean?

-------------------------------------------------------------------------------------------------------------------
SPL就是负责装载 OS 操作系统到 RAM 中。另外 SPL 还包括许多系统命令,如 mtty 中使用的命令等。 SPL 损坏了还可以用烧录器重写。SPL 一般提供这几部分功能:检测手机硬件、寻找系统启动分区、启动操作系统为系统的基本维护提供操作界面,可以通过数据线与操作终端(如 PC )建立连接,并接受和执行相应命令。它里面包含许多命令,像 r2sd, l, doctest (危险命令,他会擦除 gsmdata )等。我们常说的三色屏就是由 SPL 驱动的。检测 SD 卡,当你把一些特殊制作的 SD 卡插入后,SPL 可以在启动时校验并根据 SD 卡内容刷机或执行一些命令。这有点类似于 PC 的从软驱启动。

由于 G1 的存储空间较少,无法满足一部分用户的日常使用,所以才会出现通过刷新 SPL 文件来增加 G1 的存储空间。因此,SPL 版比非 SPL 版多出了 15M 的可用储存空间。但是,除此之外,在日常使用过程中,两者几乎没有差别。

说明白点.,.SPL就像电脑的BIOS ,非SPL就是用的是原版的BIOS ,SPL就是要刷自制的BIOS..唯一的区别就是SPL比非SPL系统内存大..

原文地址:https://www.cnblogs.com/AlexCheng/p/2120291.html