I started this project mainly to learn the linux operating system and the wonderful things you can do with it.
I started with an old Pentium motherboard laying around with a cpu of 150Mhz, which was perfect for the project, tested it just to make sure it turns on with a post from the bios, I added a memory stick of 128MB and that was it.
Then I needed a case to put it in, I wanted the final unit to be as small as possible, so I found an old scrap 'cablebox' and made sure the motherboard fits inside.
Next, I prepped the box , drilled holes , made some openings for wires and plugs ...
I knew I had to boot linux somehow, so I found an old CDROM drive in my junk pile which was slim enough to fit on top of the board inside the box.
I could have booted linux from a USB stick , but the motherboard was too old to support booting from USB devices!
Now to make a firewall, you basically need 2 Ethernet cards , one for internet line (WAN) and the other for your local network (LAN)
I had 2 cheap USB Ethernet dungles available, and luckily, the board had 2 USB ports that I had to rewire to the back panel of my custom box.
Now, for the power supply, off course all PC power supplies are big & bulky, so what to do ?!
I knew my box power consumption would not be too high, I do not need 250 Watts of power because I'm only using 2 USB ports, cpu and cdrom (no FDD/KB/PS2/COM/LPT ports or VGA are needed), So I found an external IDE CDROM drive which was junk, and I stripped the small power board out of it and placed it inside my box & rewired it to power up the motherboard.
off course, I had to customize the wiring to power the mother board, so I only used +5 and +12 and GND connections RED/YLW/BLK/BLK which worked just fine.
I also added a Green LED to indicate the unit is turned on, also a plug in the back panel to hook up the power cable to the box (PC style), then created some colored logo and slapped it on , glued the loose parts, put the cdrom drive in and closed it.
Now to the SOFTWARE :
I used Linux "SLAX" for my project which is a derivative of its big brother SLACKWARE. I downloaded a very basic non-graphical version called "Slax Frodo", which enabled me to customize the image and add my scripts to the kernel.
Now, working with slax images is a little difficult unless you have a linux machine already running, but thankfully there are a couple of useful utilities that let you customize the image on a Windows machine. one of them is called MYSLAXCREATOR
I had to add the following lines in the /etc/rc.d/rc.local , which is the default script the slax calls upon start up (kind of like autoexec.bat) on a windows machine.
here is my rc.local contents :