3,819 bytes added
, 04:43, 8 November 2021
This article describes the process of how production [[Bollywood]] Wii consoles are set up at the factory, from initial manufacturing of the chips to retail shipment.
===Basic Overview===
*During hardware manufacturing, [[boot0]] is imprinted into the Mask ROM inside the [[Hollywood]]/[[Bollywood]].
*During initial programming of the NAND chip, a "prewrite" image is flashed to NAND. This image contains boot1 and a special boot2 known as "sd_boot".
*At the packaging plant, the Wii is powered on for the first time with SD card number 1 inserted. This SD card contains an image with various [[BroadOn]]-format [[WAD]]s; sd_boot will load one of these WADs, an installer program which installs the other WADs to NAND. These WADs include the System Menu and IOS4.
*The contents of the update partition of a disc called 122E are then installed, containing the standard set of channels for retail along with the production [[Wii System Menu]] and [[Data Check and Log Check]].
*Data Check and Log Check (0002) runs a set of tests from another SD card.
*A title called "0003" is found in [[uid.sys]] as well. It's currently unknown what it does, but it may be responsible for stubbing IOS3 and IOS4 after they are no longer needed.
__TOC__
==Preloading==
Every Wii is preloaded at the hardware level with a few pieces of software; these are already present on the Wii and will run when the Wii is powered on at the factory. The first of these pieces of software is [[boot0]], the first piece of code ran on the Wii after power-on (which will stay the same from when it is physically programmed onto the chip to after factory setup, since it cannot physically be modified), which will check the stored [[boot1]] hash in the Wii's [[EFuse|eFuses]], and seeing that it is blank (as it is written to later in the process, using up its one opportunity to program it), determines that it is in the factory and continues with boot by loading boot1 from the NAND. boot1 works as usual by verifying the signature of the boot2 on the NAND, then loading it.
Next, [[boot2]] loads; the version of boot2 installed at the factory is "sd_boot", a special boot2 which does not read or write to NAND and instead boots from the SD card; a SD card (designated as SD#1) is prepared containing a number of [[BroadOn]]-format [[WAD]] files (stored raw with no filesystem); one of these files has its contents executed as an ARM binary on the [[IOP]], said file being an installer program which will install the other WADs on the SD card to the NAND. On production systems, this typically includes a [[NDEV Menu]] and [[IOS]]4, although other variations have been seen such as images which install [[BC]] and [[MIOS]]. The NDEV Menu will then be booted, allowing for the next phase of setup to occur when a disc is inserted.
==122E==
[[File:0002-2.png|thumb|PUSH SD CARD, THEN REMOVE IT]]
[[File:0002-3.png|thumb|PUSH RESET BUTTON]]
''See also: [[Data Check and Log Check]]''
122E is a disc which has a game partition and an update partition; the game partition installs the title "0002" from the SD card (with filename "DataChk.wad"), and the update partition contains the final set of retail [[Wii System Menu]]/IOS/Channel data for production.
==0002==
0002 ('''DATA CHECK & LOG CHECK''') is a program which runs tests found on an SD card. While this program is meant to be deleted before the process finishes, for unknown reasons it is still present intact on some Wiis and versions 1.5.0 and 1.5.1 have been recovered.
0002's title ID makes it look like a disc, however, it is very clearly installed to the NAND.
==0003==
0003 is another disc-like title that is installed to the NAND. Not much is known about it, and it is unclear whether 122E or 0002 installs it.
{{Template:WiiNavbox}}
[[Category:Wii]]
[[Category:Factory]]