Getting Started

From gc-linux

Jump to: navigation, search

Contents

Introduction

This document will try to help you getting started with GNU/Linux on the Nintendo GameCube.

Running the Linux operating system on a Nintendo GameCube involves booting a special port of the Linux kernel and providing it access to a filesystem containing a working Linux distribution.

The Linux kernel for the Nintendo GameCube is commonly built as a DOL file, which is the typical executable file format on this console. The choice of that specific file format gives us the freedom to use most of the already existing code loaders.

The filesystem containing the used Linux distribution can be embedded within the Linux kernel DOL or can be mounted from external media, like NFS, a Network Block Device, DVD media or SD cards. You have the option to use standard Linux distributions, like Debian, or package your own one.

Booting Code

As happens with many commercial gaming consoles, the Nintendo GameCube by default will not run your own programs. However, computer enthusiasts have already discovered ways to run arbitrary code on this console.

You can run custom programs on both modified and unmodified Nintendo GameCubes. In either case, you need first to get the right tools and extra accessories before this can happen.

Software Tricks

These boot methods do not require opening or modifying your Nintendo GameCube console in any way. If you don't want to void your console warranty or if you have questionable soldering skills this is probably your method of choice. However, you are required to perform several actions each time you want to boot custom software on your Nintendo GameCube.

SD Media Launcher

The easiest way is to use SD Media Launcher. It contains everything you need to boot custom software: a disc containing a bootloader, a GameCube SD memory card adapter, a 1GB SD card and even a USB SD memory card adapter (to transfer files to the SD card from a computer).

Minimum requirements:

  • a Nintendo GameCube console
  • a copy of SD Media Launcher

Phantasy Star Online Exploits

In these methods, a special feature of the game Phantasy Star Online Episode I&II originally designed to prevent online cheating is exploited to run arbitrary code on unmodified Nintendo GameCubes.

Because the requirements are difficult to meet nowadays (especially Phantasy Star Online Episode I&II which is hard to find and expensive), and because each boot takes a significant amount of time, most people have abandoned this method in favor of the SDload method outlined below.

Minimum requirements:

  • a Nintendo GameCube console
  • a copy of the game Phantasy Star Online Episode I&II
  • a memory card (required by the game)
  • a Nintendo GameCube BroadBand Adapter (also known as BBA)
  • a computer with an ethernet network card

Existing loaders:

Action Replay Exploits

These boot methods use the cheating engine of Action Replay against itself, taking control of it and allowing execution of arbitrary code.

Minimum requirements:

  • a Nintendo GameCube console
  • a copy of Action Replay
  • a memory card (required by Action Replay)

Existing loaders:

Hardware Modifications

PROCEED COMPLETELY AT YOUR OWN RISK!!!

These modifications will void your console warranty and will require soldering extra circuitry into your Nintendo GameCube hardware. In addition, if the modifications are not properly performed you can ruin your console and get a nice purple (put you color here) brick.

However, if you are comfortable with a soldering iron and don't mind loosing your console warranty or destroying your console, hardware modifications can provide you with the quickest and easiest boot method for your programs.

Modchips

A modchip, once installed into the console main motherboard, can permanently replace the original Initial Program bundled with your Nintendo GameCube with a custom one.

Although there have been some efforts to build a completely open source replacement for the Initial Program, you still need to encrypt it with a secret keystream or a Nintendo GameCube will refuse to accept it. Making this secret keystream available could be legally questionable, which indeed limits the practical use of these devices.

Drivechips

A drivechip, once installed into the DVD unit motherboard of the console, can temporarily patch its firmware on the fly to allow the use of standard DVD-R and DVD+R media, in addition to normal game media.

Standard iso9660 discs hosting a custom open source apploader interoperable with the Nintendo GameCube IPL can be used in combination with these devices to boot your own programs.

A drivechip plus SDload on a disc (no Action Replay required) provides a comfortable boot solution:

Booting Linux on the Nintendo GameCube

As previously mentioned, booting Linux on your Nintendo GameCube simply means booting a DOL file containing a Linux kernel built using the gc-linux patches and with the right kernel command line to locate the root filesystem. That's it.

Choosing a Comfortable "Bootloader"

Although you can use any of the existing DOL loaders to boot a kernel, if you plan on regularly using Linux on your Nintendo GameCube you should get a comfortable boot solution, and a Nintendo BroadBand Adapter!!!

If unsure, the following combinations provide a good balance between overall price and benefits for a boot solution.

For unmodified consoles:

  • Action Replay
  • memory card for the Action Replay codes (in memcard slot B)
  • SDload
  • SD card adapter (in memcard slot A)
  • SD card (patched for SDload)
  • (optional, recommended) Nintendo BroadBand Adapter

For modified consoles:

  • a drivechip
  • SDload on a disc
  • SD card adapter (in memcard slot A)
  • SD card
  • (optional, recommended) Nintendo BroadBand Adapter

A First Contact

(TO BE CONTINUED)

  • supertux
  • mfe-distro

Network Based Setups

  • scheme
  • nfs
  • nbd

(TO BE CONTINUED)

Booting Into a Debian Unconfigured Base

(TO BE CONTINUED)

Personal tools