Skip to content. | Skip to navigation

Sections
Personal tools
What is this?
Hi, my name is Tom Lazar and I'm a Plone and Zope developer based in Berlin, Germany and this is my personal and professional (no big difference, really...) website.
 

Netboot installing Ubuntu on a SunFire X2200

Filed Under:

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.