Netboot install of ubuntu 10.04 (Lucid Lynx) on a mac mini g4

Installing Ubuntu 10.04 on a g4 mac mini should be easy, right?  Not if the internal CD drive is busted, g4 minis can't boot of of USB CD/DVD drives (or it appears firewire attached CD/DVD drives), thus the only option seems to be to netboot the installer.  Once the installer is up it can access a USB CD/DVD drive and install normally.

If the ubuntu default initrd had ethernet drivers installed then I suspect it would be easy enough to just share the contents of the install iso via NFS.

This process requires an extra machine to act as a tftp server, I assume you have another ubuntu system configured, of pretty much any arch. The IP address below is this systems IP address.

On the tftp server:

Install a tftp server

$ apt-get install tftpd-hpa
$ service tftpd-hpa start

Grab and mount an install iso

$ wget http://cdimage.ubuntu.com/ports/releases/lucid/release/ubuntu-10.04-server-powerpc.iso
$ mkdir /mnt/tmp
$ mount -o loop ubuntu-10.04-server-powerpc.iso /mnt/tmp

Copy over needed installer files to tftpd directory

$ rsync -a /mnt/tmp/install/ /var/lib/tftpboot/

Grab fedora12's yaboot binary and use for tftpboot

When using the yaboot included on the install image I kept getting the error
can't read elf e_ident/e_type/e_machine info
every time it loaded the kernel. The fedora12 yaboot binary worked great the first time.

$ cd /tmp
$ wget http://fedora.osuosl.org/linux/releases/12/Fedora/ppc/os/Packages/yaboot-1.3.14-23.fc12.ppc.rpm
$ mkdir yb
$ cd yb
$ rpm2cpio ../yaboot-1.3.14-23.fc12.ppc.rpm | cpio -dvi
$ cp ./usr/lib/yaboot/yaboot* /var/lib/tftpboot/

Fix paths in yaboot.conf

Remove all '/install' references

$ vim /var/lib/tftpboot/yaboot.conf

On the mini


Power on, hold down -

load yaboot over tftp

boot enet:,yaboot

start installer

At the yaboot prompt, just hit enter to run the 'install' target

Hook up USB CD/DVD

The easiest way to finish the install process is to plug in a USB CD/DVD drive with a burned copy of the ISO loaded before getting too far into the installer

Install as usual

Post install

I selected to use LVM in my partitioning scheme but the initrd the installer built did not autoload dm-mod during the boot process and after a few minutes of screen blanking it dumped me to a busybox initrd shell. To fix this:

$ modprobe dm-mod
$ exit

The modprobe command should make some stuff show up in /dev/mapper/, exiting will continue the boot process and should land you at a login terminal. Now fix the initrd by adding "dm-mod" to /etc/initramfs-tools/modules and running

$ update-initramfs -u

The system should now reboot cleanly.


  1. The fedora yaboot package moved to:


  2. Thanks, your blog save my macmini. The dvd player was break ans i can recycled this mas in little serveur @ home.