How-to Install AskoziaPBX on An Embedded PC

October 17, 2008 by

I’ve been running and testing a lot of VoIP systems, all or most of them based on Asterisk. For a long time now I’ve had a pretty beefy dedicated server running for my home office VoIP. It’s a complete overkill and it costs a lot of money in just electricity to run the server. So, to save a buck or two I set out to see if I could find a small Asterisk based distribution that I could install on an embedded system.

I found AskoziaPBX, a very small distribution (currently) based on FreeBSD. AskoziaPBX is designed with a minimal footprint and runs well on low powered, embedded platforms.

Looking around in my stash of hardware I found a mini-ITX system with a 1.2 GHz VIA CPU, 512KB RAM, and a 1GB Disk on Module (DOM). A DOM is essentially just a solid state hard drive that mounts directly into the IDE socket on the motherboard. Plenty of horsepower to run Askozia PBX.

Since the system I had is essentially a standard x86 PC I downloaded the “Live Install / CD,” an .iso, and burned it to a CD. I connected an external USB CD-ROM and booted the system from my newly burned AskoziaPBX ISO image. Well, that didn’t work so well because of some error with the BTX boot loader, which apparently is a known issue with VIA and FreeBSD. My great master plan of a “simple” installation had failed. So now what? I had to come up with an alternate way of getting the AskoziaPBX image on my DOM. So, this is what I ended up doing, which was really pretty fast and simple.

Besides the hardware, this is what you need:

  • Download the AskoziaPBX generic PC image (.img) and put it on a USB drive
  • Download an the latest version of Ubuntu and burn the .iso to a CD.

And this is what you need to do to get the AskoziaPBX image onto your computer’s DOM.

  1. Boot from the live Ubuntu CD
  2. Insert the USB drive (let’s assume it’s named “USB-Drive”)
  3. Start Terminal (it runs as user “ubuntu” when in “live” mode)
  4. Create a password for the root account
    sudo passwd root
  5. Type in the password you want twice
  6. Now, still in Terminal, log in as root:
    su
  7. Type in the password you just created
  8. Change directory (cd) to where the USB drive is mounted (normally in /media). Assuming the USB drive is name USB-Drive:
    cd /media/usb-drive
  9. Check that the AskoziaPBX image is there by listing files in the /media/usb-drive directory, by issuing:
    ls

    The image should have a name similar to: pbx-generic-pc-xxx.img

  10. If the image is there, which it should be, check the mount point of your DOM by issuing:
    fdisk -l
  11. Be sure to find the right drive. In the next few steps you’ll be overwriting everything on the drive you select, so make really sure you know which drive to write to.
  12. Assuming your DOM is mounted as /dev/sda, issue the following command:
    gunzip -c pbx-generic-pc-xxx.img | dd of=/dev/sda bs=16k
  13. The process of writing the image to the DOM could take up to a minute. If all went well, your DOM should now be flashed with the AskoziaPBX image.
  14. Shut down Ubuntu.
  15. Remove the external CD-ROM.
  16. Boot up your system again and it should boot into AskoziaPBX

Now, all you need to do is to configure AskoziaPBX on your network and get a SIP trunk to use for incoming and outgoing calls. Configuring AskoziaPBX is a different article …

Comments (1)

 

  1. […] followed this guide to install the Askozia image onto the internal flash […]

Leave a Reply