Netboot installing Ubuntu on a SunFire X2200
Because installing from CD is soooo nineties ;-)
After receiving my new toy at work three days ago, a SunFire X2200 with 16Gb RAM, today I finally got around to set it up.
Now, while my server OS of choice is definitely FreeBSD this particular machine is going to be used as a development machine for a Plone project which will eventually be hosted at a provider who doesn't support FreeBSD but instead Ubuntu. Also, the machine came without an optical drive. So after a few fruitless attempts to boot from an USB stick, I simply stuck to what I already know and chose a TFTP based route using Mac OS X's built-in tftp server.
Basically, I just followed my previous how-to on how to install FreeBSD on a (headless, keyboardless) soekris machine. Only, this time, I installed the dhcp server from mac ports, instead of compiling it manually:
sudo port install dhcp
Then I downloaded the Ubuntu Server ISO image and mounted it.
In my dhcpd.conf I modified the root-path and filename options thus:
option root-path "/Volumes/Ubuntu-Server 8./install/netboot/";
filename "pxelinux.0";
Next modified the (existing) /System/Library/LaunchDaemons/tftp.plist so that it looked like this:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>InitGroups</key>
<true/>
<key>Label</key>
<string>com.apple.tftpd</string>
<key>ProgramArguments</key>
<array>
<string>/usr/libexec/tftpd</string>
<string>-i</string>
<string>/Volumes/Ubuntu-Server 8./install/netboot</string>
<string>-u</string>
<string>root</string>
<string>-s</string>
<string>/Volumes/Ubuntu-Server 8./install/netboot</string>
<string>-l</string>
</array>
<key>Sockets</key>
<dict>
<key>Listeners</key>
<dict>
<key>SockServiceName</key>
<string>tftp</string>
<key>SockType</key>
<string>dgram</string>
</dict>
</dict>
<key>inetdCompatibility</key>
<dict>
<key>Wait</key>
<true/>
</dict>
</dict>
</plist>
Now all I needed to do was to start both daemons...
sudo /opt/local/sbin/dhcpd
sudo service tftp start
...finally fire up the machine and press F12 at the boot prompt and Bob was my proverbial uncle.
