Sunday, February 8, 2015

Installing Ubuntu Server on Mac Xserve Server

Apple Xserve Server

I had an old Xserve server laying around and wanted to put it to good use. My current Plex server is going away, so this will serve as the replacement. The Xserve line has long since been discontinued by apple and is no longer supported. What is the best solution to bring any old server back to life? Install Linux on it, of course!


Model: Intel Xserve3,1 (2009)
Processor: 2.26 GHz Quad-Core Intel Xeon
Memory: 12 GB 1066 MHz RAM
Network: 2x Intel 82574L Gigabit Network
Storage: (3 high speed SAS drives,
    but not important as controller is not supported)
Graphics: NVIDIA GeForce GT 120 with 256 MB of GDDR3 SDRAM
* 2x PCIe 2.0 ×16
* 3x USB 2.0
* 2x Firewire 800
* 1x RS-232 serial

additional details

Display Port

Unless you are a Apple enthusiast, you probably don't have a Mini DisplayPort adapter laying around. I picked up a Mini DisplayPort to DVI adapter on amazon for about $10.

Ubuntu Server ISO

For this particular installation, I have chosen to go with the latest Ubuntu Server LTS.

After downloading the Ubunut Server 14.04.1 LTS ISO (ubuntu-14.04.1-server-amd64.iso), I burned it to a CD-ROm with ImgBurn.

Install to USB Drive

One issue I ran into is I could not find a Linux driver for the Xserve RAID controller, so I ended up installing Linux onto a attached USB drive.  I had found articles online that talked about swapping out the back-plane with a standard SATA controller, but that is more effort than I wanted to put in for this project.

To keep the server from booting from the local hard drives, I pulled them slightly out.

The server only has USB 2.0 ports (could always install a USB 3.0 controller into one of the two free PCIe slots), but as USB 3.0 drives are pretty much all you can find now I used a USB 3.0 flash drive. I would recommend a SanDisk drive, but I am completely biased. :-)

Installing Ubuntu

To boot from the install CD, hold down the "Alt" key as the system boots.

You will see a white screen ("White Screen of WaitingTM"), and it won't seem like anything is happening for a long time (60+ seconds), but continue to hold down the alt key until the boot menu comes up.

Select the CD labeled "EFI Boot" (Xserver only supports UEFI supported installs), and the installer will continue to load.

After what seems like a really long time, an error will appear.  Ignore it and wait some more time, and the Ubuntu installer GRUB menu will appear.

Finally the "purple" Ubuntu installer will appear. The default options on the installer will be sufficient, but you can make any desired changes as well.

Luckily the Intel 82574L Gigabit Network is well supported by Linux.  The two connections are labeled on the back of the server.

Eventually you will be asked to choose a storage location for the install. If your USB drive has existing partitions, you will get a warning about unmounting partitions on /dev/sda, do so.

For the partitioning scheme, I am not a fan of LVM (had to many bad experiences trying to recover from issues), so I chose the "Guided - use entire disk" option.

Eventually the installation will complete, and the system will reboot.

Expect another 60 seconds of waiting at the "White Screen of Waiting", before the system actually boots and you get your expected login prompt.

Congratulations on completing the installation.


  1. Tried it on my 2,1 xserve. Installed finished but on boot it hangs at snd-hda intel no codecs found!. Any thoughts how to get around this?

  2. I am using Ubuntu 14.04.3 on Xserve Xeon 2.8 "Quad Core" (Early 2008) [Xserve2,1] and I have experienced same trouble.

    I added a following line to /etc/modprobe.d/blacklist.conf and it goes well.

    > blacklist snd_hda_intel

  3. you can also add nomodeset to the "linux" line in /boot/grub/grub.cfg

  4. your blog is worth to read, just amazing, you have shared very useful and informatve stuff about home automation and programming , i have learned a lot from this, keep posting.

  5. so were you able to use the hard drives one the install was complete? or did the raid controller prevent this?


Please be respectful.