Stub IOS

A Stub IOS is an IOS that serves no purpose other than a placeholder. They are released to overwrite other IOSes, either to overwrite a cIOS in a specific slot and break homebrew, or to remove an unused IOS, freeing up space and removing the need to maintain the unused branch as new exploits are found.

Stub IOSes generally have 3 contents: a 0x40 byte build tag, and two shared contents, which depend on the variant. The first shared content generally contains ES, while the second contains FFSP and the kernel (including IOSP).

Variants

There are several variants of stub IOSes.

2008 variant

The first stub IOSes were released in 3.3rev03 to IOS4, IOS10, IOS11 and IOS20, with a size of 245760. They were built by someone named yasuh-to@TONKAT. This variant was also used for the IOS30 stub distributed in 3.4, and the IOS3 stub that was never released on NUS.

The 2008 variant was based on IOS51, although the IOS51 stub was not of this variant.

3.5 variant

The 3.5 variant also has a size of 245760, but was built by kenshu@MAENORYU. It was used by IOS40, as well as IOS16, despite being released the same day as the IOS50 stub, which was the 4.0 variant.

4.0 variant

The 4.0 variant has a size of 229376, and was built by @SAITOT.

4.2 variant

The 4.2 stubs, including both IOS60 and the cIOS stubs, also have a size of 229376 just like the 4.0 variant, but were built by kenshu@MAENORYU. It is based on the functional version of IOS60.

Interestingly, IOS222 and IOS223 have the same build tag, and IOS249 and IOS250 have the same build tag (different from IOS222 and IOS223).

In addition to the 4.2 stubs, IOS52 (stubbed in 4.1rev02K) is of this variant.

IOS70

IOS70 has size 245760, but has nothing in common with the 2008 variant of stub IOSes. It was built by saito_tomoya@IR and is based on the functional version of IOS70.

IOS254

IOS254 also has size 245760, but it has nothing common with IOS70 or the 2008 stubs. It was built by tokunaga_yasuhi and based on IOS80.