Create a bootable homebrew disc

From GC-Forever Wiki
Revision as of 12:56, 23 July 2011 by Infact (talk | contribs) (howto created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

This guide explains the necessary steps to produce a homebrew iso9660 bootable disc for the Nintendo GameCube.

It can be booted with any modchip or drivechip installed and through IPL replacements like GCOS or Swiss.

What you need

  • A working PC with Linux or Windows
  • A homebrew dol program, that will be booted
  • dolLZ 3 or udolrel (dolLZ preferred)
  • A gbi.hdr file
  • mkisofs

What you may need, depends on your needs

  • A DVD Writer and a (mini)DVD-R
  • A Drive Replacement like Wiikey Fusion or WODE
  • A SD(HC) Card

Making a bootable disc

We will build an iso9660 image with the "El Torito Specification" boot extensions, with a Boot Image (gbi.hdr) and with a DOL file we want to boot (bootldr.dol).

1. Create the a directory with the following structure:

homebrew_disc\gbi.hdr
homebrew_disc\disc\

2. Copy all files you want to include in the disc to the "disc" directory. The directory must not be bigger than 1,35 GB.

3. Relocate the DOL program you want executed during disc boot

dollz3 my.dol bootldr.dol -m

4. Move the "bootldr.dol" to the "disc" directory

5. Build the iso9660 disc image.

mkisofs -R -J -G gbi.hdr -no-emul-boot -b bootldr.dol -o homebrew_disc.iso disc/

6. Burn the image you have created to DVD-R media or transfer it to sd card or hard disc for use with swiss, wiikey fusion or WODE (additional steps may be required)

Booting a bootable disc

In order to boot the homebrew disc built, use the appropiate option of your GameCube IPL replacement (GCOS, NinjaShell, Qoob, Viper, ...) or direct boot it through XenoGC or DuoQ.

Additional Information

This Howto is based on this one (thx gc-linux.org)

It has been tested with Swiss r47 and XenoGC.

A sample package (gbi.hdr, swiss r47 as bootldr.dol, mkisofs, dollz3) can be found in the forum (link follows)