Update on Linux XServe

I’ve had quite a few emails from people around the world who seem to have similar issues with the XServe. It is nice hardware kit, but we just want to run Linux on the thing. Most have been asking how far we’ve gotten. I’ve been at conferences most of this month (I’m an academic) so havn’t had time to do any more playing with the box, so here’s where we’re at and how we think the future will proceed.

Linux will not run on an Apple XServe (right now) because the XServe uses EFI rather than BIOS. Linux has EFI support for the ia64 (Itanuim) and i386 architectures. There is no EFI support for x86_64 except for some in-development patches on LKML I pointed to last time. I mailed the author of the patches and he kindly advised me to wait until his patches get into the mainline kernel (or at least Andrew Mortons tree) before we do much testing. So bottom line, patches are being submitted by Intel and are in the wild, expect merging soon.

So currently we have a kernel on a USB stick (custom Debian installer). Using EFI we can get the kernel to be loaded by the XServe. We also installed rEFIt on the XServe, I don’t think this was necessary. The default EFI loader should load our kernel correctly. Our kernel inflates itself and then hangs. This, I believe, is because the kernel is making a BIOS call after it inflates itself. This BIOS call is not available on XServe, thus the initialisation sequence halts. I have a picure of this, but it’s not very helpful :)

When the EFI patches make it into a trustworthy kernel tree we will roll-our-own Debian installer. But there are likely to be further issues. I’m not an expert on BIOS but I suspect any power management tools and graphics drivers make BIOS calls. It’s likely that some Itanium power management stuff will have to be ported to x86_64. Basically, the kernel may boot, but some of the userspace tools will probably not be ready for production deployment for a few months. I add again that this future prognosis is a conjecture of mine. I’d be happy to be wrong and to have everything work perfectly within the next month.

If you’ve got an XServe and you need it to do some real work ;) , hang on a month or so for the EFI support in the x86_64 kernel. If you’re looking to buy XServe because the hardware looks good and you need to run Linux – don’t. Get yourself a Dell PowerEdge or something that has a proven Linux track record.

7 Responses to “Update on Linux XServe”

  1. Jason Joines says:

    It looks like the patched made it into mainline as of 2.6.24. Have you had any luck since then?

  2. balor says:

    I’ve not tried recently. I may have a look tomorrow.

  3. Jason Joines says:

    I hope it works. I have a couple of failing G5 Xserve boxes, a couple of replacement Intel Xserve boxes that were purchased before I got here and I really hate os x.

  4. drew rosen says:

    Anyone get anywhere with making a MacIntel Xserve boot from a Linux distro? 64bit?

    Thanks!

  5. Jason Joines says:

    Did you use the x86_64 version of eLILO on your USB stick?

  6. Mark says:

    I have it working on the more recent Xserves (with usb in the front) but not the original 2.00 GHz version (with firewire).

    If anyone knows how to get the older intel Xserves to work please hop onto freenode.net #maclinux and let me know.

  7. Guy says:

    Mark,

    How did you get it working on an intel Xserve? And which model of xserve if you don’t mind? 1.1, 2.1 or 3.1 ?

    Thanks.

Leave a Reply