I can't remember the details... but isn't there a reason why we prefer not "upgrading" to boot2v4, doesn't boot2v4 lead to problems downgrading IOSs (if we ever need 2)? Not 100% on this.
A little late, but from reading the
HackMii Blog post on Boot2v4, I understood that upgrading to boot2v4 on an older Wii has no benefit nor no negative (aside from risking a brick during the update) as far as incompatible older IOS revisions go. The timing issues in loading older IOS revisions only exists with newer Wii's. Here are the relevant quotes from the blog post:
QUOTELet’s summarize the facts:
* Wiis recently began shipping with a new boot2v4, which is based on the same code present in the set of IOSes released last October
* Reloading IOS is often “broken” on new Wiis — especially when trying to reload to an “older” version of IOS (pre-October, taken from an older Wii)
* Launching PPC titles works just fine on new Wiis, even if that requires reloading to a different version of IOS (as happens when launching the Homebrew Channel
* The same versions of IOS work differently on older Wiis, and have none of the problems noted above. The only difference in the software loaded on these Wiis is in boot1 and boot2.
* The “leaked IOS16? seems to be exempt from these problems
...
A scenario begins to emerge:
1. Nintendo develops a new PCB design to reduce cost by simplifying circuitry in mid-2008; the resulting design has fewer parts but takes a few milliseconds longer for the power supply voltages to stabilize
2. The new hardware requires a more-tolerant IOS kernel, so BroadOn rebuilds boot2 and IOS for Nintendo do use in testing the new PCB design. These IOS versions are still backwards-compatible with C/RVL-CPU-01.
3. Nintendo releases the new IOSes as an update in late 2008, to quash the strncmp() bug (as well as /dev/flash access and ES_Identify()
4. Nintendo starts producing C/RVL-CPU-01 boards with the new IOSes on them. (boot2 is not updated, since there’s no benefit to doing so)
5. Nintendo eventually starts mass-producing C/RVL-CPU-20, which requires an updated boot2(v4) in order to work, along with the new IOS versions which are already well-tested by this point.
6. Consumers receive these new C/RVL-CPU-20 Wiis. Some of them try installing old versions of IOS on them and then running libogc code that uses them
7. libogc doesn’t know that it needs to wait longer for IOS to reload; depending on the timing, this can either cause a hang or it can cause IOS initialization to fail.