Skip to content

Hey, Let‘s Build a Router with This Retro Software Called FreeSCO

Have an old 386 computer sitting around collecting dust? Want to put it to use as a router? Well let me introduce you to a cool little software project called FreeSCO that makes exactly that possible!

In this beginner-friendly guide, I‘ll walk you through…

  • What FreeSCO actually is
  • What hardware you‘ll need
  • How to install and configure it
  • Some tips to take your routing to the next level

So whether you just enjoy tinkering with tech, or truly want to deploy that Pentium machine from the 90s again, read on to learn how FreeSCO can turn it into a functional router for your home or office!

FreeSCO – A Blast From the Past That Still Delivers

Alright, first things first – what exactly is FreeSCO?

FreeSCO is an open source operating system distribution created in the late 90s that is designed entirely for routing. It boots from a single 1.4MB floppy disk and converts an old 386 computer into a basic, yet customizable, network router.

Originally based on the SCO UNIX operating system, a team of developers stripped it down to only the networking essentials to produce a ~5MB OS capable of running entirely from a floppy. This produced one of the very first "micro routers" available.

It came at a time when consumer routers began entering homes as the internet exploded in popularity through the 90s. Expensive hardware routers were still out of reach for many smaller networks. So FreeSCO presented a welcome open source option to repurpose outdated computers into low-cost routing solutions.

And today in 2023, FreeSCO somehow still maintains a small but dedicated following – likely the same DIY techies keeping those dusty 386s running!

While there are obviously more performant software router options now, sometimes retro computing is just fun. Plus enthusiasts still appreciate…

  • The open ethos of FreeSCO
  • The hackability / customization
  • Running on retired hardware

So if you fancy a project to setup routing in a quirky way, grab those floppy disks and let‘s check this baby out!

Hardware You‘ll Need to Join the Party

Part of the appeal here is that ancient hardware that is normally scrap can run FreeSCO just fine. But you do have some minimum system requirements:

Processor

Any Intel 386 processor or newer will work. This was a mid-range chip in its heyday, powering computers from the early 90s onward. The venerable Intel 80486 and Pentium chips of course also work splendidly.

  • Fun fact: The 386 was released in 1985 with 275,000 transistors. Compare that to today‘s CPUs packing billions of transistors!

RAM

You‘ll want at least 16MB of RAM, with 8MB being the true bear minimum to even boot FreeSCO. Additional RAM never hurts.

More memory means you can load additional services beyond basic routing and better overall performance. I‘d shoot for 16-32MB.

Going big with a full 128MB would let you run all the services plus load add-on packages!

Boot Device

Obviously you‘ll need a 1.44MB 3.5" floppy disk drive to boot that big ol‘ floppy disk!

You can run FreeSCO from other media like a 100MB Zip disk, USB drive, or hard disk. But where‘s the fun in that?? Gotta keep it authentic with the A: drive!

Network Interfaces

FreeSCO supports up to two modems or ISDN terminal adapters. This gives you flexibility in your internet connectivity method.

For LAN interfaces, you‘ll realistically want:

  • 1 x Ethernet card – Bare minimum to route between WAN and LAN
  • 2+ x Ethernet cards – Allows you to create multiple isolated network segments if needed

So rummage around and dig up some old ISA or PCI NICs! Pro tip – the Intel EtherExpress series with those memorable floppy disk holders are great.

Step-By-Step Guide to Installation

Once your PC time capsule is prepped with the basics, we can move on to firing up FreeSCO itself. Just follow these steps:

1. Download the Disk Image

Grab the latest FreeSCO floppy disk image from their downloads page. The .img file you want is under "Floppy only" for the standard edition.

2. Write It to Floppy

Use your tool of choice to write the disk image onto a floppy. I like WinImage but there are disk imaging utils for every OS.

3. Configure the BIOS

Boot into your BIOS setup utility to ensure your computer is configured to:

  • Boot from A: drive first
  • Detect all your network cards properly

4. Install FreeSCO

Insert the freshly minted FreeSCO floppy disk and boot up the computer.

You‘ll see text flying by until the boot loader prompts you to "Press <Enter> to boot FreeSCO or <setup> + <Enter> to change system settings".

Hit the setup option which will initiate the installer. This is where we‘ll configure all our routing functionality.

5. Setup Networking

Work through the setup menus to define core settings like hostname, DNS, DHCP, firewall rules, and your various network interfaces.

I‘ll provide specifics on optimal configurations next. But that‘s the gist – set it all up, save changes, reboot…presto a running router!

With those basics down, you‘re well on your way to repurposing that old hardware into a respectable network router.

Now let‘s look at some example network configurations…

Configuration Templates for Your Internet Connection

FreeSCO uses text-based menus for configuration during initial setup. There are a ton of tunable options, but only a few mandatory ones to establish basic routing.

I‘ll provide templates to configure FreeSCO based on whether your ISP provides:

  • A static IP address
  • A dynamic IP address

Follow one of these recipes to easily get FreeSCO routing your internet connection:

Static IP Configuration

If you have a static public IP from your ISP, use this setup:

1. Hostname – Set a friendly name like "freedosrouter"
2. Domainname – Leave default as "inet"
3. eth0 Address – Assign your static IP, subnet mask, gateway, and DNS per ISP
4. eth1 Address – Leave as default 192.168.0.1 on 255.255.255.0 subnet
5. Enable Services – DHCP, DNS cache, time server, etc as desired

Done! Reboot to commit changes.

Dynamic IP Configuration

For automatic dynamic IP assignment from ISP:

1. Hostname
2. Domainname – Leave as default
3. eth0 Address – Leave blank for dynamic DHCP IP and set DNS only
4. eth1 Address – Again leave LAN as default 192.168.0.1
5. Enable Services – DNS, DHCP at minimum

Much simpler! Your WAN interface gets a public IP automatically while your LAN side has a static private subnet.

And that‘s enough to get off the ground. Tweak other settings as you go.

Tips to Level Up Your FreeSCO Router

Okay, with your FreeSCO router up and running, here are some power user tips:

Multi-WAN

Connect up to two modems or ISDN lines for redundant internet connections. Failed over or load balanced. Sweet!

Add Storage

Boot from hard disk or add IDE/SCSI drives to enable web serving repositories.

Secure Remote Access

Leverage FreeSCO‘s SSH server for secure shell access instead of telnet. Use key authentication.

Lock It Down

The built-in packet filter firewall is limited. Add a dedicate PF sense / IPFire box behind it.

Fun With Packages

Enable add-ons like OpenVPN for secure connections, Traffic Control for QoS, etc. So much potential!

Keep It Updated

Monitor logs, keep firmware updated, schedule tasks with cron. Don‘t let it drift!

I‘m just scratching the surface here. But hopefully this gives you ideas of what‘s possible to keep stretching the usefulness of this router.

Check out the active community forums for more tips from users.

Have fun experimenting!

Closing Thoughts

And there you have it! Everything you need to know to resurrect that old 386 hardware with the FreeSCO software and get routing.

It‘s amazing that this product from the late 90s intended for repurposing outdated machines is still relevant today in the era of hyperconverged infrastructure and Kubernetes.

But sometimes going small and simple works. And I hope you find both some nostalgia and legitimate functionality out of deploying FreeSCO.

If you run into any hiccups with the setup or just want to chat routers, drop me a note below!