Changes

128 bytes added ,  20:49, 18 September 2018
m
Article improvements
Line 1: Line 1: −
The Wii factory setup process, as far as we understand it.
+
This article presents known information concerning the factory process of the Nintendo Wii, a console which [https://en.wikipedia.org/wiki/Wii_launch launched in 2006.]
 
  −
Please note that our information on this topic is limited. It is mostly based on information from a single old HackMii article (which, to be fair, provides a lot of information), as well as assumptions. While that's not a great base for something like this, there isn't really a whole lot we can do about it; the only place we can really go from here is analyzing whole NAND dumps for remains, and once we figure out how to do that, we will gain some insights, but we still won't be able to answer every question without some kind of amazing discovery like the factory discs being dumped, which isn't bound to happen anytime soon. So while this may turn out to be inaccurate and end up being updated in the future, this is the process to the best of our understanding right now.
      
Before setup, boot0, 1, and 2 are flashed, which begin the necessary processes of booting up the Wii in preparation for setup. Setup begins with a disc only titled "123J", also known as Data Check & Log Check, doing everything such as encrypting the NAND flash and potentially updating boot1. Another disc is inserted titled "121J", which we have less knowledge of. However, we know it enables the GameCube functionality of the Wii, and makes a factory test log file. Another disc titled "0002", also known as "Data Check & Log Check", runs tests from an SD card. After those tests, another disk named "122E" installs the System Menu, IOSes, and channels. After the installation of those files, the Wii is done with its factory phase and it would be now ready to ship.
 
Before setup, boot0, 1, and 2 are flashed, which begin the necessary processes of booting up the Wii in preparation for setup. Setup begins with a disc only titled "123J", also known as Data Check & Log Check, doing everything such as encrypting the NAND flash and potentially updating boot1. Another disc is inserted titled "121J", which we have less knowledge of. However, we know it enables the GameCube functionality of the Wii, and makes a factory test log file. Another disc titled "0002", also known as "Data Check & Log Check", runs tests from an SD card. After those tests, another disk named "122E" installs the System Menu, IOSes, and channels. After the installation of those files, the Wii is done with its factory phase and it would be now ready to ship.
 
__TOC__
 
__TOC__
 +
== Disclaimer ==
 +
Please note that our information on this topic is limited. It is mostly based on information from a single old HackMii article (which, to be fair, provides a lot of information), as well as assumptions. While that's not a great base for something like this, there isn't really a whole lot we can do about it; the only place we can really go from here is analyzing whole NAND dumps for remains, and once we figure out how to do that, we will gain some insights, but we still won't be able to answer every question without some kind of amazing discovery like the factory discs being dumped, which isn't bound to happen anytime soon. So while this may turn out to be inaccurate and end up being updated in the future, this is the process to the best of our understanding right now.
 
== Preloading ==
 
== Preloading ==
 
Every Wii is preloaded at the hardware level with a couple 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 Wii's OTP (one-time programmable) memory chip, 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 we are in the factory and continues with boot by loading boot1 from the NAND; after factory setup, there are keys present within this area, which boot0 uses to verify your copy of boot1, but during first factory boot this is neither possible nor needed, so boot0 skips it.  Next, boot1 loads from the NAND. Boot1 works as usual by verifying the signature of the boot2 on the NAND, then loading it; this process is identical as long as you have a properly signed boot2, so there's no special factory behavior that boot1 has here.
 
Every Wii is preloaded at the hardware level with a couple 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 Wii's OTP (one-time programmable) memory chip, 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 we are in the factory and continues with boot by loading boot1 from the NAND; after factory setup, there are keys present within this area, which boot0 uses to verify your copy of boot1, but during first factory boot this is neither possible nor needed, so boot0 skips it.  Next, boot1 loads from the NAND. Boot1 works as usual by verifying the signature of the boot2 on the NAND, then loading it; this process is identical as long as you have a properly signed boot2, so there's no special factory behavior that boot1 has here.