You don't really need a hard disk to run a phone system; even an IP-based softPBX doesn't need a hard drive. A CompactFlash-based PC will do the trick.
Sometime around September of 2004, I was looking at one of PC Engines' WRAP boards and wondering how well it could run Asterisk. Knowing that I would not want to run a full-size distribution, I started pulling apart a Gentoo install, removing components that are not critical to the functionality of Asterisk. After a fairly significant amount of work, I was left with a slimmed down Gentoo that fit on a 256MB CompactFlash card (which was the smallest that I had at the time) and would run mounted, read-only. After working on the init system and writing some extra scripts, I decided to put it up on my web site just in case someone else found it interesting or useful. I decided to call it AstLinux, version 0.1.0. After about 4,000 downloads, I think that I had my answer, and AstLinux was born!
By 2005, I realized that to make AstLinux truly spectacular, I was going to have to make it smaller and more flexible. Work on AstLinux 0.2.x began. After messing around quite a bit with different build systems and methodologies, I found and stuck with a wonderful combination of crosstool and PTXdist. After some serious time and effort, AstLinux was reborn, and this time it came in at just under 27 MB—small enough to fit on a 32MB CF card.
This hack will show you how to use AstLinux to create a softPBX ...