Installing FreeBSD 7.1 via eLOM on a Sun Fire X2100

Published on Fri, 2009-02-20 - 20:42

I've just finished my migration of my two servers to FreeBSD 7.1, and I thought I'd take the time to write a short walkthrough for one of the more difficult steps in the process, so others won't have as much trouble figuring it out as I did.

My web server is a rented Sun Fire X2100 from EasySpeedy. I don't have physical access, so if you want to install an operating system not supported by their automatic installation procedure, your only shot is KVM-over-IP via Sun's eLOM. However, as noted on EasySpeedy's operation system support page, eLOM has troubles with FreeBSD.

I managed to find a workaround for this, but it's not easy to figure out, so here's a short little walkthrough:

First you have to actually get to the eLOM KVM-over-IP interface, which can be a bit difficult if you're on a Mac, since the Java-app that handles it has issues with the Java shipped with Mac OS X. I handled this by remote desktopping to Windows server at the office and using that to connect, but the friendly guys at EasySpeedy are going to contact Sun's customer support and see if there's a better solution. I'll post it here if I learn anything.

Also, when you're using KVM-over-IP, make sure to keep the browser with the eLOM interface open and click one of its tabs every so often to prevent it from timing out. If it does, you'll loose your connection, although whatever you were doing will carry on, reconnecting can be a bit annoying.

That aside, when you managed to get KVM-over-IP control of the server, the first thing you're going to want to do is mount the FreeBSD install disk. I downloaded 7.1-RELEASE-amd64-bootonly.iso, but pick whatever image fits your needs. I like the bootonly, because then I only need to download the parts I'm actually going to install, since you can do it via FTP in the installer.

Regardless of what image you pick, the procedure is the same. Click the mounting button:

Select ISO image and click to select the file:

Navigate to the file and select it:

When that is done, you'll want to reboot your server to boot into the FreeBSD installer. When the server reboots, be sure to hit F8 to bring up the boot device selection:

When the boot device selector shows up (and that takes a while – it only shows up after a couple of screenfuls of BIOSy things), select the virtual USB CD-ROM drive to boot the FreeBSD install disk.

When the FreeBSD boot screen shows up, select the "Escape to boot loader" option (number 6 in the picture below), since we will have to enter a special boot command to make FreeBSD play nice with eLOM.

When the boot loader prompt shows up (a simple "OK"), type in set bge.allow_asf=1 and press enter.

After that, type boot and press enter to boot up the installer.

After that, the installer should work with no further special tricks required. Just make sure to repeat the process of entering set bge.allow_asf=1 in the boot loader when booting FreeBSD for the first time, or you won't be able to take control via eLOM.

When you get your new installation up and running, just put hw.bge.allow_asf=1 in /boot/loader.conf so you won't have to do it manually every time your server boots.

Now go enjoy your new FreeBSD installation. And sleep safely knowing that you have KVM-over-IP access :)


Hat tip to Markus Fröhlich for discovering this workaround.

The comments for this post are now closed. If you have corrections, suggestions, or other feedback, you can reach me through the contact page.