Tutorial Project
Updated
How to set up ISFShax
Warning
Although this is in use by many users and has proven itself as safe and reliable, you still use this at your own risk. Messing with the isfs superblocks is dangerous and can brick your Wii U. Make sure to make a SLC backup before installing isfshax. If something goes wrong, you will need defuse to restore this backup. The superblock linked here was tested and confirmed working. Installing an broken superblock will brick your Wii U.
Also keep in mind: if you are restoring a old SLC backup, which was taken before installing ISFShax, ISFShax will be removed by restoring that backup. Newer versions of minute try to preserve ISFShax when restoring the SLC.
To protect against Nintendo pushing a boot1 update (very unlikely, but you newer know), which would brick a console with ISFShax, system updates get blocked by the wafel_isfshax_patch.ipx plugin. If you need to do a system update, you can use the v1.0 of said plugin, which doesn't contain the update block. Game updates are not affected.
Update
13.07.2024 - No longer require the
wiiu/root.rpx
. Replace Tiramisu with Aroma as default. Add Haxchi as Entry Exploit.04.04.2024 - Add Fastboot
13.03.2024 - System updates now get blocked by the wafel_isfshax_patch.ipx plugin.
29.12.2023 - Standby Services are now supported. For that to work you need to have the latests ISFShax superblock installed and need to use the latest minute fw.img and wafel_core.ipx. Also autoboot needs to be enabled.
What is this for?
ISFShax exploits boot1 with specially crafted ISFS (the filesystem of the SLC) superblock. Once installed, ISFShax provides similar capabilities to defuse. Since it launches before IOSU, it can be used to apply early patches to IOSU and can be used to fix most bricks. But it won't protect you of bricks caused by: breaking boot1, seeprom bricks or installing a broken ISFShax superblock. ISFShax also doesn't help you if you already bricked the Wii U.
Use cases are:
- Rebuilding / upgrading the MLC
- Removing 64GB MLC limit and disabling SCFM
- Brick protection (e.g. before doing region change)
- Cold booting redNAND (useful when when the eMMC is failing)
- It gives a minimal CFW, which can launch old homebrew using the homebrew launcher (not sure how useful since we have Aroma and Tiramisu)
- Stop the Wii U from turning the Tablet on during boot (using a stroopwafel plugin)
Choosing the Exploit
There are multiple ways to launch the ISFShax installer:
If you already have Tiramisu or Aroma installed and can launch it follow the Instructions tagged with [Aroma]
If you already have Haxchi or CBHC installed follow Instructions tagged with [Haxchi]
If the Browser still works and you can launch the browser exploit u.wiidb.de follow the Instructions tagged with [Browser]
If you can't access the Browser, but Settings still work follow Instructions tagged with [DNSpresso]
If you your Wii U crashes in the initial setup on Mii creation follow Instructions tagged with [DNSpresso]
If your Wii U can't launch the browser anymore or can't connect to the internet follow the Instructions tagged with [UDPIH]
Steps without a prefix apply to all.
Preparing the SD card
Make sure the SD card is formatted to FAT32 (already the case if you are using it for Homebrew). You can use guiformat for that.
Get the following files and put them in the root of the SD. Choose the release tagged with "Latest" for each.
- ISFShax installer (
ios.img
) from https://github.com/isfshax/isfshax_installer/releases - ISFShax
superblock.img
andsuperblock.img.sha
from https://github.com/isfshax/isfshax/releases - Put the stroopwafel
wafel_core.ipx
from https://github.com/jan-hofmeier/stroopwafel/releases inwiiu/ios_plugins
- Put the
wafel_isfshax_patch.ipx
stroopwafel plugin from https://github.com/isfshax/wafel_isfshax_patch/releases inwiiu/ios_plugins
- [Aroma | Haxchi | Browser | DNSpresso] minute
fw_encrypted.img
from https://github.com/jan-hofmeier/minute_minute/releases and rename tofw.img
- [Browser | DNSpresso] fw_img_payload from https://github.com/wiiu-env/fw_img_payload/releases extract the zip and put the
wiiu
folder, containing thepayload.elf
on the SD - [DNSpresso] Extract the root.rpx from https://github.com/wiiu-env/PayloadFromRPX/releases and rename it to launch.rpx and place it in the root of the SD card
- [UDPIH] minute
fw.img
andboot1.img
from https://github.com/jan-hofmeier/minute_minute/releases and renameboot1.img
toboot1now.img
- [UDPIH]
recovery_menu
from https://github.com/GaryOderNichts/recovery_menu/releases
Code:
boot1.img (only for UDPIH)
fw.img
ios.img
recovery_menu (only for UDPIH)
superblock.img
superblock.img.sha
wiiu
ios_plugins
wafel_core.ipx
wafel_isfshax_patch.ipx
Launching into minute
This step heavily depends on the used Exploit.
- Hold B on the Gamepad while booting (if coldboot is enabled) or launching the H&S app
- A black and white menu should show up asking you to choose a payload.
- Select
fw_img_loader
fw_img_loader
is missing get the "fw.img loader" payload from https://aroma.foryour.cafe/- Hold A on the Gamepad while booting (if you have CBHC) or launching the Haxchi or DO NOT TOUCH ME app.
- Open the Browser and browse to u.wiidb.de
- Click on "HAXX"
If you can a access the settings just follow these instructions (you already have the right files on the SD): https://gbatemp.net/threads/dnspresso-a-wii-u-dns-exploit.642123/
If you are stuck on the Mii creation in the Inital setup:
If you are stuck on the Mii creation in the Inital setup:
- If you already connected your Wii U to your AP / Router, turn the AP / Router or the Wifi on it off.
- When the setup asks you if you already have a NNID, say yes (even if you don't have one)
- Now it tries to connect to the Internet, but will fail and ask you to take you back to the Wifi settings, follow back to thge settings.
- Turn your Router / AP on again and give it time to start.
- If you don't already have your Wifi configured there, connect to it now, but enter a wrong password.
- Edit your wifi connection and configure 85.215.57.182 as Primary DNS, if you entered a wrong password before set the right one now.
- Press (B) Back and select Connection Test.
- Load the recovery using UDPIH: https://gbatemp.net/threads/udpih-usb-host-stack-exploit-recovery-menu.613369/ (don't replace the recovery_menu)
- The LED should turn purple and a countdown timer for loading boot1now.img should appear, wait the 5 seconds
- Unplug the Pico
Now you should see the minute main menu. If not, something went wrong. Make sure you have the correct fw.img file on the SD.
In minute you move the cursor with the power button and enter with the eject button (swapped compared to the recovery menu).
Note: minute only outputs 1080p through HDMI, no picture on the gamepad, and nothing on the analog outputs.
Some people reported that the screen output is not working for them when minute was loaded from the recovery. If you made sure nothing else is the problem (right fw.img, TV supports 1080p HDMI), you can still follow along blindly by pressing the appropriate buttons. Make sure to wait long enough between the presses, so the system has time to load. Without display output skip the first backup and go directly to Installing ISFShax.
Backup
- Navigate to
Backup and Restore
Dump SEEPROM & OTP
Dump SLC.RAW
- Return to Main Menu
Installing ISFShax
- Choose
Boot `ios.img`
(6x Power, 1x Eject) - Now the ISFShax installer should launch (this takes a few seconds)
- Follow the Instructions on the screen, the buttons are the same as in minute. (3x Eject, 1x Power, 3x Eject)
- The console should now turn off.
- [Aroma | Haxchi | Browser | DNSpresso] replace the (encrypted)
fw.img
on the SD with thefw.img
(NOT the encrypted one) from https://github.com/jan-hofmeier/minute_minute/releases - If the install was successfull the Wii U should directly start into minute once you turn it on again.
Backup ISFShax
Dump the SLC.RAW again. This will overwrite the previous SLC.RAW file on the SD. This is required if you need to restore the SLC for unbricking, without loosing ISFShax. Keep that backup in a safe place.
Booting
If you came here from the redNAND or the MLC rebuild tutorial continue with that tutorial now.
For now your Wii U needs the SD card to boot. From there it loads minute (fw.img), which then applies the required patches from SD card. (IOSU needs to be patched, so it doesn't fall over the ISFShax superblock).
To boot into the Wii U OS select
Patch (sd) and boot IOS (slc)
.If your console just bootloops through minute over and over again, you are probably coldbooting Aroma and replaced the
wiiu/payload.elf
with the fw_img loader. Just replace the wiiu/payload.elf
again with the Aroma one (applies to Tiramisu too).Aroma / Tiramisu
- If you are already coldbooting Aroma / Tiramisu, undo the Autobooting: https://wiiu.hacks.guide/#/uninstall-payloadloader?id=undo-autobooting-into-payloadloader
- To install Aroma or Tiramisu put the corresponding files on the SD.
Tiramisu: https://tiramisu.foryour.cafe/
Aroma: https://aroma.foryour.cafe/ (You don't need to have install Tiramisu to have Aroma, also the FTPiiU plugin will become handy later) - Put the wafel_payloader.ipx in the
ios_plugins
folder https://github.com/jan-hofmeier/wafel_payloader/releases
wiiu/payload.elf
with the fw_img loader. Just replace the wiiu/payload.elf
again with the one from the environmentloader.zipBooting without SD
This step is optional but highly recommended. Now the Wii U doesn't show anything on the screen without the SD. That could lead to confusion if the SD ever gets lost or corrupted.
To make it from the internal memory we need to install the minute
fw.img
and the ios_plugins
to the SLC. This can be accomplished using FTPiiU Everywhere, which can be launched from Tiramisu and is already part of the Aroma Package (enable Everywhere in the settings) or you can use the haxcopy homebrew https://github.com/mackieks/haxcopy/releasesUsing haxcopy is recommended for most users, but if you copy a wrong plugin to the slc or need to delete one for whatever reason you still have to use FTP for that.
- create a folder
hax
on the SD card (this will be copied to the slc) - copy the
fw.img
to thehax
folder - create a subfolder
ios_plugins
in thehax
folder - rename the
wafel_core.ipx
to0core.ipx
and copy it to thehax/ios_plugins
folder - rename the
wafel_isfshax_patch.ipx
to6isfshax.ipx
and copy it to thehax/ios_plugins
folder - if you want to coldboot aroma or tiramisu, rename the
wafel_payloader.ipx
to9payldr.ipx
and copy it to thehax/ios_plugins
folder - If you need any other plugins like the
wafel_unlimit.ipx
, you have to rename and copy it to thehax/ios_plugins
folder - Copy the haxcopy app to the
wiiu/apps
folder (like you usually install homebrew) - Put the SD in the Wii U and run haxcopy to copy the hax folder to the slc.
On Aroma you have to make sure access to system files is enabled:
Uploading the files:
- Open the Aroma Plugin Configuration Menu using L + Down + SELECT (-) on the GamePad or Pro Controller (or B + Down + Minus (-) for WiiMotes)
- Open the FTPiiU option, then settings and set ‘Allow access to system files’ to ‘true’ by pressing A
Uploading the files:
- (Tiramisu only) Make sure FTPiiU Everywhere is running on the Wii U
- Using a FTP client on the PC browse to
/storage_slc/
- If you see a
scfm.img
file andsys
folder go into thesys
folder. If you see a bunch of folders (config import logs proc rights security title tmp) just go to the next step. - create a subfolder
hax
and enter it - Make sure your FTP client is in binary mode (not ASCII mode)
- upload the minute
fw.img
to the/storage_slc/sys/hax
folder - create another subfolder
ios_plugins
in/storage_slc/sys/hax
- enter that
/storage_slc/sys/hax/ios_plugins
folder - rename the
wafel_core.ipx
to0core.ipx
and upload it - rename the
wafel_isfshax_patch.ipx
to6isfshax.ipx
and upload it - if you want to coldboot aroma or tiramisu, rename the
wafel_payloader.ipx
to9payldr.ipx
and upload it - If you need other plugins like the
wafel_unlimit.ipx
, you have to rename and upload them too
If a SD card is inserted the minute menu should show up (even if the SD doesn't contain a fw.img). In that menu you can select the
Patch (slc) and boot IOS (slc)
to load the plugins from the slc and boot (no need to have them on the SD anymore).The Wii U will first try to load the fw.img from the SLC and if that fails it falls back to the SD.
If you installed a broken fw.img which doesn't load, you can force isfshax to load the fw.img from sd by repeatedly pressing the power button till the menu shows up.
Warning: A factory reset will delete the hax folder. Without the fw.img on the SD
Optional Autobooting with SD
To make the Wii U autoboot with an SD card inserted you need to create the file
sd:/minute/minute.ini
with the following content:
Code:
[boot]
autoboot=1
autoboot_timeout=3
autoboot
option specifies which entry from the minute menu will be loaded. 1
corresponds to Patch (slc) and boot IOS (slc)
, which loads the ios_plugins from the SLC. If you haven't installed them to the SLC or want to load them from the sd for another reason you can change that value to 3
which corresponds to Patch (sd) and boot IOS (slc)
As an Alternative check out the Fastboot option below.
Optional: Fastbooting (Advanced)
To make the Wii U boot as fast as possible, without showing minute, you can now use the fw_fastboot.img. This won't work with redNAND
It is hardcoded to go straight to the first option (booting the slc, with patches from SLC). It won't display anything and ignore any autoboot configuration in the minute.ini.
- First make sure the system can boot using the first option in minute. (see booting without SD)
- Replace the the fw.img in the hax folder on the SLC with the fw_fastboot.img (renamed to fw.img)
- Place the minute fw.img on the SD card
- repeatedly press the power button until the minute menu shows up on the screen.
Uninstalling ISFShax
DON'T just restore an older SLC backup, as that would break SCFM!
- Make sure your Wii U doesn't depend on any patches (linke wafel_unlimit_mlc.ipx or redNAND). You can check that by booting with only the wafel_core.ipx and the wafel_isfshax_ipx plugins in the ios_plugins directory on the SD and using the
Patch (sd) and boot IOS (slc)
option - Delete the
/storage_slc/sys/hax
folder if you set up the slc booting - run the ISFShax installer again from minute and follow the on-screen instructions to uninstall.
Plugins
Here is a list of currently available stroopwafel plugins, you can use with ISFShax:
- wafel_noinit_tablet - Don't run on the Tablet controller on boot
- SDUSB - Run Wii U games from the SD Card
- USB Partition - Use partitioned USB HDDs with the Wii U
- wafel_setup_mlc - Rebuild / Upgrade the MLC
Credits
- @rw-r-r_0644 for finding and implementing isfshax
- @GaryOderNichts and ashquarky for their direct contributions and help
- @vgmoose for all the support and for the Wii U that replaced the one Idestroyed during early isfshax testing
- @Maschell for his help and all other contributions to the Wii U scene
- hexkyz for the warmboot boot1 exploit which made all of this possible
- @shinyquagsire23 for de_Fuse, minute and stroopwafel
- Salt Team for the original minute CFW
- dimok789, FIX94 and others for the iosuhax CFW
- fail0verflow for mini
- and all other contributors to the Wii U scene!
Last edited by SDIO,