i netbooted my mac to install ubuntu

I wanted to put Linux on my Powerbook G3 (Pismo/dual firewire). The CD-ROM is long dead, since those CD-ROMs are known defective.

This afternoon I tried, for the life of me, every possibility. I booted the Ubuntu warty CD with another Mac connecting mine with Firewire and "target disk mode." I got a Firewire enclosure and made a Firewire CD-ROM. I tried booting off of a USB CD-ROM. I tried dd'ing the ISO to a bus-powered Firewire drive and booting off of that.

The closest I got this way was target disk mode. However, the installation would finish by installing yaboot. Unfortunately, yaboot didn't like the fact that I was trying to install a bootloader over Firewire and was thoroughly convinced that it didn't support Firewire.

I spent another trying to manually hack yaboot and screwed around with Open Firmware. No luck.

So, I've heard of this whole netbooting thing and decided to try it. I found this page which gave me some pointers. I decided to use a spare Mac to host the tftp daemon. I dropped four files into the tftpd root directory:

(Since this spare mac was already running Ubuntu and I had installed the tftpd-hpa package, I dropped all of the files into /var/lib/tftpboot)

I then tested the tftp server with another machine that had a tftp client:
tftp> connect recon.example.com
tftp> get yaboot.conf
Received 344 bytes in 0.0 seconds
tftp>
DHCP was already set up on the network, so I ignored that step. Both the tftp-serving machine and my laptop were on the same subnet. However, the DHCP server and tftp server were different machines. That requires some extra Open Firmware syntax!

I booted into Open Firmware (Cmd-Option-O-F during startup) and ran the following, given that the machine serving tftp had the IP address 10.0.0.43:
boot enet:10.0.0.43,yaboot
Boom! Ubuntu installer.

© Ian Langworth