Wiintosh is a collection of projects to enable creation of a Hackintosh on the Wii and Wii U consoles. These used a variant of the PowerPC 750 (named Broadway and Espresso respectively) which is the same as the PowerPC G3 used in a variety of Macs supported by Mac OS X 10.0 to 10.4.
Running Mac OS X is accomplished with an Open Firmware implementation (OpenBIOS) loaded from a CFW running on the Starlet or Starbuck. Patches to XNU/BootX are applied and drivers are injected during the BootX load process.
Note: This is still very much a work in progress and there will be instablity and bugs encountered, and not all hardware or possible Mac OS X versions are supported at this time. Currently Wii U is the best supported as the Wii does not have enough resources to run most OS X versions. Contributions/suggestions to code and documentation is welcome.
- wii-loader - First stage MINI-based loader for Wii consoles
- wiiu-loader - First stage linux-loader based loader for Wii U consoles
- openbios - OpenBIOS implementation for the Wii and Wii U hardware
- osx-drivers - Kernel extensions for Mac OS X supporting Wii and Wii U hardware
Either a Wii with BootMii or a Wii U with Aroma is required. You will also need a reasonably sized SD card and a USB keyboard/mouse. Currently instructions are provided for macOS only, but Linux can be used as well.
Partition the card as Apple Partition Map (APM), creating three partitions:
- FAT32 boot partition
- Mac OS X system partition
- Mac OS X installer partition
The installer partition can eventually be removed later once Mac OS X has been installed.
diskutil partitionDisk diskX APM \
FAT32 "BOOT" 128M \
HFS+ "Hackintosh HD" R \
HFS+ "Installer" 4G
Mount the OS X ISO and restore it to the Installer partition, i.e:
sudo asr restore --source /Volumes/Mac\ OS\ X\ Install\ Disc\ 1 --target /Volumes/Installer --erase
Download make-hybrid-mbr.sh and create the hybrid MBR / APM to allow the Wii to boot off the SD card. The script will prompt for the disk and modify the MBR.
TODO
Download the required boot files and place at the root of the BOOT partition:
- fw.img from the latest release of wiiu-loader
- fw.img loader Aroma payload and place at the root of the BOOT partition (should be a wiiu folder)
- openbios-wii.elf from the latest release of openbios
- This must be renamed to openbios.elf
- Wii.mkext from the latest release of osx-drivers
Insert the SD card into the Wii U and startup fw.img loader from the SD card. Once in OpenBIOS, load the OS X installer using load hd:X,\\:tbxi where X is the partition number of the installer partition. The system should then load into the OS X installer. Once in the installer, you can install OS X as normal to the previously created system partition.
Upon reboot, boot the installed system with load hd:X,\\:tbxi where X is the partition number of the installed system.
The system can be booted in verbose by running setenv boot-args "-v" prior to booting Mac OS X. Single user mode can be entered with setenv boot-args "-s".
Some versions of OS X will require modifications to IOAudioFamily and IOGraphicsFamily for audio and the framebuffer to work. You'll need to edit both to ensure they are loaded at bootup.
sudo vi /System/Library/Extensions/IOAudioFamily.kext/Contents/Info.plist
sudo vi /System/Library/Extensions/IOGraphicsFamily.kext/Info.plist
For both files, type i to enter insert mode and append the following after the last key, but before the closing plist:
<key>OSBundleRequired</key>
<string>Root</string>
Save and quit with :wq.
After both edits are made, run sudo touch /System/Library/Extensions to force a kext cache rebuild and reboot. The next bootup may take several minutes as the system will boot without a kext cache. Once booted, graphics framebuffer and audio should be fully functional.
| Version | Supported |
|---|---|
| 10.0 Cheetah | No |
| 10.1 Puma | No |
| 10.2 Jaguar | Yes |
| 10.3 Panther | Yes (Wii U only) |
| 10.4 Tiger | Yes, but cannot use installer (Wii U only) |
| 10.5 Leopard | Never, requires a G4 |
| 10.6 Snow Leopard | Never, requires a G4 |
| Hardware | Supported |
|---|---|
| Broadway primary interrupt controller | Yes |
| Hollywood secondary interrupt controller | Yes |
| USB 1.1 (OHCI) controller (rear ports) | Yes |
| USB 1.1 (OHCI) controller (internal Bluetooth) | Bluetooth does not load |
| USB 2.0 (EHCI) controller (rear ports) | No |
| SD host controller (front SD slot) | Yes, SDHC only |
| WiFi via SDIO | No |
| Audio interface (rear A/V) | Yes, not all media may work |
| Flipper video interface | 32-bit framebuffer via Starlet -> XFB |
| External interface | RTC (partially), slots are nonfunctional |
| Serial interface (GameCube controllers) | No |
| DVD drive | No |
| Power/reset switches | No |
| Shutdown/reboot functionality | Yes |
| Hardware | Supported |
|---|---|
| Espresso primary interrupt controller | Yes |
| Latte secondary interrupt controller | Yes |
| USB 1.1 (OHCI) controller (rear ports) | Yes |
| USB 1.1 (OHCI) controller (internal Bluetooth) | Bluetooth does not load |
| USB 1.1 (OHCI) controller (front ports) | Yes |
| USB 2.0 (EHCI) controller (rear ports) | No |
| USB 2.0 (EHCI) controller (front ports) | No |
| USB 2.0 (EHCI) controller (GamePad) | No |
| SD host controller (front SD slot) | Yes, SDHC only |
| WiFi via SDIO | No |
| Audio interface (rear A/V) | Yes, not all media may work |
| Audio interface (GamePad) | Yes, not all media may work |
| GX2 video interface | 32/16/8-bit TV framebuffer, hardware cursor |
| External interface | RTC (partially) |
| DVD drive | No |
| Power/reset switches | No |
| Shutdown/reboot functionality | Yes |
- Apple for Mac OS X
- Goldfish64 for this software
- Wiibrew.org / Wiiubrew.org for various documents/info
- Yet Another Gamecube Documenation
