Installing Ubuntu on the HP MediaSmart EX490

I recently bought a HP MediaSmart EX490 for use as a home backup- and media server. In my eagerness to getting a new plaything however - I only looked at the pros:

Now, Windows Home Server is a great home server operating system, but Linux is what really rocks my boat, so I started thinking about how to get Linux on this box even before ever booting the pre-installed Windows Server.

Problem is though, there are a couple of small quirks with the MediaSmart.

  1. It’s completely headless - i.e. no chance of connecting a monitor (not really a problem, but a minor hassle)
  2. According to the almighty internet, the network card (a SiS191) isn’t supported by the default SiS190 drivers.

These two problems combined makes installing Linux a tad bit harder than normal, but still a fairly trivial exercise.

My plan

Move the hard drive to my main desktop computer, install Ubuntu, recompile a set of drivers that works with the bundled network card, install an SSH server and kick back while enjoying my newfound sense of accomplishment and a new box for downloading all those Linux ISO’s.

The procedure

First of all I headed over to the Ubuntu pages for a copy of their Ubuntu 10.04 installation CD. The computer I was installing from doesn’t have a CD/DVD drive, so I created a USB boot disk using UNetbootin

While the Ubuntu image was downloading I removed the system drive from the MediaSmart. The disk tray for this drive is originally locked, and no key is bundled with the server, but it’s easy to open using a small screwdriver or kitchen knife. I then installed the drive in my other computer and waited for the UNetbootin to do it’s job.

Installing Ubuntu is probably one of the easiest tasks in the world, so no need to go into details there. I decided to install Ubuntu on the free space of the drive, leaving the Windows Home Server partition alone. I haven’t tried booting the Windows partition yet, and I certainly hope they haven’t bundled any stuff that will wipe the rest of the drive and create storage space in case I ever decide to boot that partition up.

While installing Ubuntu I read up a bit concerning the drivers for the SiS191 network card, finding some comments suggesting that it was now supported in the sis190 module. I decided to try and move the disk back immediately, hoping that it would work out of the box.

It did. So, to all of you who are thinking about installing Linux on one of these puppies: There is no problem with the hardware, at least if you’re using the Ubuntu 10.04 stock kernel (2.6.32) or newer, and probably a lot of older ones as well.

After having installed Ubuntu on the hard drive, there is one important step to remember before migrating the disk back to it’s original home: Remote management.

To install the openSSH server on Ubuntu, do a simple:

sudo aptitude install openssh-server

verify that the SSH server is running and that you can connect (you can with the default user you create when installing Ubuntu) and shut down the computer. Move the disk back to the MediaSmart and collect the winnings :)

If the SSH server isn’t running by standard for some reason, you can enable it using the command:

sudo update-rc.d ssh defaults

If you have control of your own switch/router you should easily be able to get a hold of the ip-address for your server from there. If this will pose a problem, you might consider setting up a static IP configuration before you move the drive back, or simply start port scanning your servers subnet until something answers.

If your network interface doesn’t start up automatically, make sure it is enabled in /etc/network/interfaces

Either for DHCP:

auto eth1
iface eth1 inet dhcp

or with static configuration:

auto eth1
iface eth1 inet static
address 192.168.1.33
netmask 255.255.255.0
network 192.168.1.1
broadcast 192.168.1.255
gateway 192.168.1.1

And make sure to adjust the values to something that’s relevant for you own network setup.

Edit October 23rd 2012: I have changed the interface name from eth0 to eth1 as most of the comments on this blog seems to agree that this works. I guess this is either due to using newer versions of Ubuntu, or because of a difference in network cards in the computer being used to install the OS. Anyways - I’d suggest using eth1, and if that fails, revert to eth0.

Next steps now are filling the last three drive slots, setting up a proper RAID array and let that server serve!

Edit November 10th 2010: Thanks to Guy in the comments for pointing out that he experienced problems with the SSH server and the network interfaces not coming up automatically. I have now added that to the tutorial as well if anyone else should experience problems.