I wanted to put Linux on this old Mac Mini so I can use it a file server. Some install instructions suggested burning a CD, but I don't have a CD burner handy. Others suggested booting off a USB stick, but the newer Debian/Ubuntu installer docs removed that section, and it's not clear how to partition the USB device. What to do?
It turns out it's relatively easy to completely install via the network due to Open Firmware's tftp support. You'll need a pretty standard networking setup (DHCP) along with a Linux box and a network wire for the Mac.
Start by searching for [debian netboot], not to be confused with netinst: the former is how to net boot the installer, the latter is minimal CD images that download the remainder of the install from the internet. What you want is the netboot version of the netinst installer, and you'll find it in the "network boot" section of the above page.
For a G4 Mac Mini, follow the link to the powerpc images, then
powerpc/netboot and download the following files into
yaboot.conf, configuration for yaboot
yaboot, the boot loader
boot.msg, the bootup message
vmlinux, the kernel
initrd.gz, the rest
(How to remember this file list? You need
yaboot.conf and all files
it references; it's a short text file.)
Next, install tftp on your hosting machine. Run it like:
sudo in.tftpd -L -s path/to/files
It runs as root due to the port it uses,
-L puts it in foreground
-s makes paths relative to the directory you give it.
To verify that tftp works, try a command like:
tftp localhost -c get yaboot.conf
Fix your setup if that command results in an error (for example, I learned the hard way that the Mac doesn't like pulling files from a subdirectory).
Then boot the Mac into Open Firmware by holding Windows-Alt-O-F (that's Command-Option-O-F on a Mac keyboard) as it boots. At the prompt, tell it to fetch yaboot:
(adjust the IP as necessary).
From that point, just follow the menus. Simple.
(But actually it was not so simple to figure out the above. If you
run into yaboot errors like
can't read elf e_ident/e_type/e_machine
info or the installer being unable to detect your disk, I found both
of those were solved by using the latest version of Debian, and not
Debian stable or the most recent PPC Ubuntu.)
PS: wow was OS X slow on this thing. I can't believe it was considered tolerable at the time of release.