Retro Mac Mini Headless Server Hack

One of my projects this week was to put a Mac Mini I bought in 2006 back to work. It’s been taking up space in a box in the garage for a few years. Okay, the Mini doesn’t take up much space. There’s a lot of computer in a small form factor. Feels kind of wasteful not to be using it for something.

The Project

What am I going to do with the Mini? I’m not sure. Some ideas I’ve been tossing around:

  • Printer and Backup Drive Server – Give everyone access to one printer and have a central computer to run remote backups to a removable hard drive.
  • Remote Database Server
  • Development Server – A place to test web sites, software projects …?
  • Home Security Monitor – Attach some wireless cameras and sensors then get texts or login from Istanbul to see what’s happening around the house.
  • Base Station for Roaming House Drones – I have dreams of autonomous blimps monitoring (with video feed) Peanut’s whereabouts.

As you can see he even looks like trouble! 

Most of these ideas mean I need access to the Mini remotely. Remote could mean from a smart phone in the bedroom in the middle of the night checking on the garage or front door. Or logging in from Hawaii. Having some flexibility to place it in an out of the way location or a small space would be handy. Next to the printer or in a closet. For most situations I’m thinking about a monitor, keyboard, and mouse would be inconvenient space-wise.

Headless Mini Software

The Mini needs to be accessible remotely from a laptop, tablet, or smart phone. And I don’t want the machine trying to upgrade software everyday either. No need for iTunes, Word, etc….

I decided to go with Linux. Debian has an installer specifically for old Mac Minis. Apparently there’s some bugs or something in the firmware. The Debian installer worked flawlessly. I was very impressed.

For remote connection I did some experimenting and decided to go VNC4server. I don’t have it setup yet for secure connection with SSH tunneling. Doesn’t look too hard though. Starting the server with the -localhost option is important. All the details are being put in shell scripts. I’ll log in and start the server manually for security purposes with the scripts.

The only real trick to this whole thing was getting the Mini to boot without a monitor attached. I banged my head on this for a few hours! The darn thing would reboot when I sent the command on a remote connection. It was working with the monitor attached and not rebooting when I disconnected the monitor. After doing some Googling I discovered Apple designed the machine so it had to have a monitor attached to it to boot!

The solution has been floating around the Internet for a while. Depending on the model you just need some tape and a resistor. A friend suggested using a gum wrapper and duct tape. I went with a 100 ohm resistor a friend gave me instead. The ends go into pins 2 and 7 at least for older models. I did see people using pins 1 and 6 also. For newer Macs I think. The picture shows pins 2 and 7 on my Mini being used. Pins 1 and 6 are the next pins over to the right.

After trying it out I trimmed the leads a bit, stuck them back in and taped the whole thing down with packing tape. Well, at one point I did fumble the resistor. Those buggers are invisible on carpet!