In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "IOS4"

From WiiBrew
Jump to navigation Jump to search
(Factory uses of v1)
(created a whole section for differences)
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Infobox IOS
 
{{Infobox IOS
 +
| initialRelease = [[boot2v0]]
 +
| update = [[3.3rev03]]
 
| version = v65280
 
| version = v65280
 
| type = menu
 
| type = menu
 
| status = private
 
| status = private
 +
| stubvariant = 2008
 
}}
 
}}
 +
'''IOS4''' was a very primitive [[IOS]] that was used by both the [[Startup Disc Menu]] and the [[System Menu]] used in the factory process. This IOS and the System Menu come preburnt at the factory, before any other discs are inserted.
 +
 +
IOS4 has code for USB, SD, the disc drive, and USB Ethernet, but does not have code for [[WiiConnect24]] (which was added in [[IOS5]]), SSL, or WiFi.
 +
 +
Like [[IOS10]] and older versions of [[IOS9]], this IOS does not have a build tag.
 +
 +
U.S. update partitions are set to use this IOS in their [[TMD]]. Other regions are not yet known.
 +
 +
[[IOS3]] and IOS4 are also the only two [[IOS]]es stubbed on the [[Wii mini]], since most IOSes will hang on the Wii mini due to the WiFi module not responding.
 +
 +
The [[SDK]] version that uses IOS4 probably only supports 4:3 video; this is evident in the [[Wii Startup Disc]]'s SDK, which most likely uses IOS4.
  
'''IOS4''' was a very primitive [[IOS]] that was used by both the [[Startup Disc Menu]] and the [[System Menu]] used in the factory process. This IOS and the System Menu come preburnt at the factory, before any other discs are inserted.
+
Unlike most IOSes, IOS4 seems to do some verification of the TMD to be loaded involving [[:/sys/cert.sys]] when it starts up. The depth of this verification is not yet known, and it is not known why this code was removed from IOS9 and later.
 +
 
 +
== Differences from other IOSes ==
 +
* The kernel only allows 68 threads
 +
* Threads are not stored at FFFE0000
 +
* There is a [[:/dev/sdio/WiFi]] device
 +
** There is no [[:/dev/sdio/slotw]], although it appears that slotw may have been an equivalent of WiFi on the main host controller.
 +
* The kernel unmaps [[boot0]] later in its startup
 +
 
 +
== Titles using this IOS ==
 +
* Factory System Menu
 +
* [[Drive Test Disc]]
 +
* [[Startup Disc Menu]]
 +
* [[Wii Startup Disc]]
 +
* Update partitions
 +
* 0000
  
{| class="wikitable"
+
== Version history ==
|-
+
{{IOS version history|
! Version
+
{{IOS version|v1|none|Used by older versions of the Factory System Menu and 0000. Uses CID 35016B91, which is -CAFE946F. 946F in decimal is 37999, which is most likely a global content ID similar to what the iQue Player had.}}
! [[Signing bug]]?
+
{{IOS version|v3|none|Used in Startup Disc Menu and newer versions of the Factory System Menu. Present on launch-day Wiis. Uses CID 0.}}
! [[STM Release Exploit]]?
+
{{IOS version|v259|?|Preinstalled on Korean consoles. Also uses CID 0 (no build tag or $IOSVersion tags), probably reset for release.}}
! Notes
+
{{IOS version|v65280|stub|[[Stub IOS]] released in [[3.3rev03]] and [[3.5]]. Probably v65280 because different locations were unaware of the versions of IOS4 released. Uses content IDs 9-b, so there are 9 versions between v1 and v65280.}}
|-
+
}}
| v1
 
| Yes
 
| ?
 
| Used by the Factory System Menu and 0000.
 
|-
 
| v3
 
| Yes
 
| ?
 
| Used in Startup Disc Menu
 
|-
 
| v259
 
| N/A
 
| N/A
 
| [[Stub IOS]] found on Korean consoles.  
 
|-
 
| v65280
 
| N/A
 
| N/A
 
| [[Stub IOS]] released in [[3.3rev03]].  
 
|}
 
  
 
{{Navbox IOS}}
 
{{Navbox IOS}}

Latest revision as of 03:29, 7 August 2022

IOS4
WiiDrawing.png
Release
Initialboot2v0
System Update3.3rev03
Technical info
TypeSystem Menu IOS
StatusPrivate Corporate IOS
Stub variant2008

IOS4 was a very primitive IOS that was used by both the Startup Disc Menu and the System Menu used in the factory process. This IOS and the System Menu come preburnt at the factory, before any other discs are inserted.

IOS4 has code for USB, SD, the disc drive, and USB Ethernet, but does not have code for WiiConnect24 (which was added in IOS5), SSL, or WiFi.

Like IOS10 and older versions of IOS9, this IOS does not have a build tag.

U.S. update partitions are set to use this IOS in their TMD. Other regions are not yet known.

IOS3 and IOS4 are also the only two IOSes stubbed on the Wii mini, since most IOSes will hang on the Wii mini due to the WiFi module not responding.

The SDK version that uses IOS4 probably only supports 4:3 video; this is evident in the Wii Startup Disc's SDK, which most likely uses IOS4.

Unlike most IOSes, IOS4 seems to do some verification of the TMD to be loaded involving /sys/cert.sys when it starts up. The depth of this verification is not yet known, and it is not known why this code was removed from IOS9 and later.

Differences from other IOSes

  • The kernel only allows 68 threads
  • Threads are not stored at FFFE0000
  • There is a /dev/sdio/WiFi device
    • There is no /dev/sdio/slotw, although it appears that slotw may have been an equivalent of WiFi on the main host controller.
  • The kernel unmaps boot0 later in its startup

Titles using this IOS

Version history

Version Signing bug? /dev/flash access? ES_Identify? STM Release Exploit? STM IOCTL overflow? SDI register index bug? Notes
v1 Yes Yes Yes Yes Yes Yes Used by older versions of the Factory System Menu and 0000. Uses CID 35016B91, which is -CAFE946F. 946F in decimal is 37999, which is most likely a global content ID similar to what the iQue Player had.
v3 Yes Yes Yes Yes Yes Yes Used in Startup Disc Menu and newer versions of the Factory System Menu. Present on launch-day Wiis. Uses CID 0.
v259 ? ? ? ? ? ? Preinstalled on Korean consoles. Also uses CID 0 (no build tag or $IOSVersion tags), probably reset for release.
v65280 No No No N/A N/A N/A Stub IOS released in 3.3rev03 and 3.5. Probably v65280 because different locations were unaware of the versions of IOS4 released. Uses content IDs 9-b, so there are 9 versions between v1 and v65280.