Thanks for all the good info. If you're looking for a cheaper version of the thin client you could try the t5530. It's about $300 US but it only has 64 MB Flash. A 1GB flash module is $70 US but sounds like overkill for your application.
<br><br>
<div><span class="gmail_quote">On 9/6/07, <b class="gmail_sendername">Gordon Henderson</b> <<a href="mailto:gordon+asterisk@drogon.net">gordon+asterisk@drogon.net</a>> wrote:</span>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid">On Thu, 6 Sep 2007, Jeremy P wrote:<br><br>> I've been working on this the past few days and thought I would put it out
<br>> there to see if anyone else has interest in it. It really has nothing to do<br>> with the Digium appliance, I've just been looking for some mass produced<br>> solid state hardware to run small branch offices off of for awhile now and I
<br>> think I've finally landed on something I like.<br>><br>> Basically I've taken an HP thin client workstation which is all solid state<br>> and loaded Debian and Asterisk on it (well, Asterisk-GUI too, but just to
<br>> prove I could make it "appliance-worthy"). I'd be interested in any<br>> feedback on how to improve it, specifically on how to make Debian and<br>> Asterisk take up less space so I could buy the model that only has 512 MB of
<br>> flash rather than 1 GB.<br><br>I built my own "appliance" some time back - initially for a router<br>project, but I've since adapted it for Asterisk boxes and NAS boxes..<br><br>The basic unit has 64MB of IDE-flash, 256MB (or more) RAM. The flash IDE
<br>device has one partition and is bootable, so it has a /boot with a bzImage<br>in it, enough of a /dev/ and /etc to make Lilo work on it and an initrd.gz<br>which is unpacked into a 128MB RAM disk, then the system runs entirely
<br>from RAM once booted, so there's no continual write to flash issues (I<br>hope!) I do actually have a 2nd partition on the device which I tar all<br>the configuration files into - the bare minimal of what I need gets stored
<br>there whenever something changes. (and a copy of astdb too). I don't think<br>this is perfect, and is prone to issues like a power cycle during write,<br>but ...<br><br>I put a 2nd IDE flash device for Voicemail storage - that does have a live
<br>filesystem on it (currently just ext2, which I force an fsck of at boot<br>time, if it's dirty) I've used 64MB to 256MB devices for this (storing VM<br>in GSM format only), some customers want call recording, so they get the
<br>bigger ones, but I'm thinking of moving to a laptop drive for people who<br>want even more (and enable idle spin down, etc.)<br><br>I build the kernel and initrd.gz file on a separate box - it's Debian, but<br>
it could be anything as I don't actually put a "distribution" as such into<br>it, I just copy the files I need, and I'm lazy about it, so I copy all of<br>/bin, /lib, most of /etc and a /dev and selected bits of /usr/bin and
<br>/usr/lib. (I use ldd on all the executables to work out which libraries I<br>really need from /usr/lib) The kernel is a custom kernel for the hardware<br>with no modules apart from Zaptel, etc.<br><br>I copy everything into a 128MB file, zeroed (it compresses better)
<br>formatted ext2, mounted as a lookback device. Once the copy is complete, I<br>unmount it, gzip -9 it and that's the initrd.gz file. You need to make<br>sure that the Linix kernel you compile has the ability to load an
<br>initrd.gz file and a big enough ramdisk!<br><br>It's not that efficient, and I could save space by using uClib, busybox,<br>etc. but it's really not worth it, but 2 things I don't have on the target<br>system is perl and vim.. Perl is about 10MB, as is vim. Right now I don't
<br>have a need for either (and I use nano when I do need to tweak stuff which<br>is rarely) Perl would be nice so I could run stuff like mrtg locally on<br>the boxes, but isn't essential for now.<br><br>So if there are some new security implications on the current Debian, or
<br>an asterisk upgrade, I just upgrade/update the build box, then create a<br>new initrd.gz file and install it. (however this is in the order of 40MB<br>for an Asterisk system with apache & php) so it a bit tricky to do a field
<br>upgrade if the remote system is bandwidth limited, but I can pull it in<br>off a USB drive if necessary.<br><br>My /etc/asterisk and /var/www/docs are actually stored as part of the tar<br>file, so upgrading those is fairly trivial.
<br><br>This is what a running system looks like:<br><br>$ df -h<br>Filesystem Size Used Avail Use% Mounted on<br>/dev/ram0 124M 107M 18M 87% /<br>tmpfs 125M 0 125M 0% /dev/shm
<br>/dev/hdc2 60M 23M 37M 39% /data<br><br><br>If I mount the flash device, then:<br><br># ls -l /mnt<br>total 39019<br>drwxr-xr-x 2 root root 1024 Aug 9 14:54 boot<br>drwxr-xr-x 13 root root 24576 Dec 6 2006 dev
<br>drwxr-xr-x 2 root root 1024 Nov 15 2006 etc<br>-rw-r--r-- 1 dsx 1000 39758472 Aug 9 14:53 image.gz<br>drwx------ 2 root root 12288 Dec 12 2006 lost+found<br><br># ls -l /mnt/boot<br>total 2849<br>-rw-r--r-- 1 root root 512 Dec 12 2006
boot.0300<br>-rw-r--r-- 1 root root 512 Dec 22 2006 boot.0800<br>-rw-r--r-- 1 root root 512 Dec 12 2006 boot.1600<br>-rw-r--r-- 1 dsx 1000 1390066 Jun 5 15:47 bzImage<br>-rw------- 1 root root 31744 Aug 9 14:54 map
<br>-rw-r--r-- 1 root root 98728 Sep 21 2006 memtest86+.bin<br>-rw-r--r-- 1 root root 241 Oct 28 2006 message<br><br>Because everything is in RAM, it's actually quite fun to "play" with<br>trying to destroy it :) Eg.
<br><br> # cd / ; rm -rf *<br><br>then just reboot it to recover...<br><br>The one thing that's not "appliance" about it is the box - it's still a PC<br>at the end of the day, but I guess when I'm churning out 100's of these I
<br>can afford a custom case design ;-)<br><br>Those HP boxes do look nice though, but they're more expensive that I<br>build my own for (in the UK at least!) but I do have the option of wall<br>mount, desktop or rackmount cases I guess...
<br><br>Gordon<br><br>_______________________________________________<br><br>Sign up now for AstriCon 2007! September 25-28th. <a href="http://www.astricon.net/">http://www.astricon.net/</a><br><br>--Bandwidth and Colocation Provided by
<a href="http://www.api-digital.com--">http://www.api-digital.com--</a><br><br>asterisk-users mailing list<br>To UNSUBSCRIBE or update options visit:<br> <a href="http://lists.digium.com/mailman/listinfo/asterisk-users">
http://lists.digium.com/mailman/listinfo/asterisk-users</a><br></blockquote></div><br>