Skip to content

Wiintosh/Wiintosh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Wiintosh logo

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.

Repositories

  • 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

Installation

Requirements

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.

Wii

TODO

Wii U

Download the required boot files and place at the root of the BOOT partition:

  1. fw.img from the latest release of wiiu-loader
  2. fw.img loader Aroma payload and place at the root of the BOOT partition (should be a wiiu folder)
  3. openbios-wii.elf from the latest release of openbios
    • This must be renamed to openbios.elf
  4. 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".

Post installation

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.

Support status

Version status

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

Wii hardware support status

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

Wii U hardware support status

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

Credits