Changes

463 bytes removed ,  05:13, 19 September 2018
Line 13: Line 13:  
At this point, a disc would be inserted to actually begin the process of setting up the system. While this disc presumably has an official name which is currently unknown, it will be referred to as "123J", as 123J is the Title ID of the disc (as evidenced by its presence in the uid.sys logs of all Wiis, as well as other NAND remnants). This disc most likely runs on IOS4 or IOS9 (it is possible that this changed over the Wii's lifecycle as well with updates to the disc), and, as far as we are aware, serves one main purpose; writing to the OTP chip and encrypting the NAND filesystem. However, there is one other possible task that 123J may have performed; updating boot1. As Nintendo issued various updates to boot1 throughout the Wii's lifecycle (most infamously the update that fixed the trucha bug within it, aka disabling bootmii/boot2 on newer Wiis), the most logical way to issue these updates would be by implementing a function to update boot1 within 123J before writing to the OTP area (since the OTP area contains the hash of boot1, if you want to update boot1, you have to update it before writing the hash). Nintendo also could have simply updated the boot1 version in their pre-prepared set of files programmed onto the system physically before it even hits the factory stations, although doing this through 123J seems more logical.
 
At this point, a disc would be inserted to actually begin the process of setting up the system. While this disc presumably has an official name which is currently unknown, it will be referred to as "123J", as 123J is the Title ID of the disc (as evidenced by its presence in the uid.sys logs of all Wiis, as well as other NAND remnants). This disc most likely runs on IOS4 or IOS9 (it is possible that this changed over the Wii's lifecycle as well with updates to the disc), and, as far as we are aware, serves one main purpose; writing to the OTP chip and encrypting the NAND filesystem. However, there is one other possible task that 123J may have performed; updating boot1. As Nintendo issued various updates to boot1 throughout the Wii's lifecycle (most infamously the update that fixed the trucha bug within it, aka disabling bootmii/boot2 on newer Wiis), the most logical way to issue these updates would be by implementing a function to update boot1 within 123J before writing to the OTP area (since the OTP area contains the hash of boot1, if you want to update boot1, you have to update it before writing the hash). Nintendo also could have simply updated the boot1 version in their pre-prepared set of files programmed onto the system physically before it even hits the factory stations, although doing this through 123J seems more logical.
   −
After writing data to the OTP (therefore locking boot1, and setting all of the sysem's console-unique encryption keys), 123J encrypts the console's NAND filesystem using the newly generated NAND keys; these are the very same keys you get in your keys.bin file along with a BootMii dump, which are needed to decrypt the NAND. An odd behavior that many of the factory discs have which begins in 123J is "outsourcing" tasks by installing WADs to the NAND and then executing them in order to perform certain tasks, instead of just performing them with code on the disc. While it's not entirely clear why they chose to do this, it's good news for us since it means far more remnants are left on NAND for us to look at. 123J does this for the NAND encryption process by installing a title known as "0000dead"; you can see this for yourself in your very own Wii NAND dump by examining the installed titles; you will find one by this name which possesses no content, but it does still have a folder hierarchy and a TMD. This title also shows up in uid.sys, but not under the 0000dead name; instead, it shows up as a strange "√û" character, which is actually "DE AD" in hex.
+
After writing data to the OTP (therefore locking boot1, and setting all of the sysem's console-unique encryption keys), 123J encrypts the console's NAND filesystem using the newly generated NAND keys; these are the very same keys you get in your keys.bin file along with a BootMii dump, which are needed to decrypt the NAND. Next, a disc known as 100J, 0000dead, RVL_DIAG, or RVLAGING is inserted; this disc contains the bulk of the factory testing procedures, and runs the majority of hardware tests. This disc was also used with [[RVT-H Reader]] development units, and as such we have obtained a copy of it, and are able to provide more exact information about how it works. More to be added soon {TODO)
    
Now that 123J has finished running, having written the OTP, encrypted the NAND, and possibly updated boot1, it's time to start our testing procedure to make sure the console is in working order. The next disc inserted to start this procedure is known by its title ID as 121J; 121J is probably the most mysterious of the factory discs, as its apparent purpose doesn't make much sense, and we don't have many remnants of it or information about it. It appears that 121J is a disc focused around the GameCube mode of the Wii; it installs BC and MIOS (files needed for GC compatibility), and performs a test of the GameCube compatibility mode. This seemingly makes sense, but as you'll see soon, 121J isn't the last disc to run tests; it's not known why it specifically was used for testing GC compatibility. While this is all we really know about the mysterious 121J, there is one more tidbit; 121J creates the factory test log file, which is then written to by the next factory disc. It's not known why the file isn't created by the next disc, but this may indicate '''that 121J had a larger part in the testing role than we believe'''. As GameCube testing information isn't written to the testlog, it's possible that originally it was, and this was simply removed but the testlog was still created by 121J so the next disc wouldn't have to be modified.
 
Now that 123J has finished running, having written the OTP, encrypted the NAND, and possibly updated boot1, it's time to start our testing procedure to make sure the console is in working order. The next disc inserted to start this procedure is known by its title ID as 121J; 121J is probably the most mysterious of the factory discs, as its apparent purpose doesn't make much sense, and we don't have many remnants of it or information about it. It appears that 121J is a disc focused around the GameCube mode of the Wii; it installs BC and MIOS (files needed for GC compatibility), and performs a test of the GameCube compatibility mode. This seemingly makes sense, but as you'll see soon, 121J isn't the last disc to run tests; it's not known why it specifically was used for testing GC compatibility. While this is all we really know about the mysterious 121J, there is one more tidbit; 121J creates the factory test log file, which is then written to by the next factory disc. It's not known why the file isn't created by the next disc, but this may indicate '''that 121J had a larger part in the testing role than we believe'''. As GameCube testing information isn't written to the testlog, it's possible that originally it was, and this was simply removed but the testlog was still created by 121J so the next disc wouldn't have to be modified.