How to install an IP-PBX (VoIP) on Alix

Parts I used on this project:





  • Alix 2c2 for PC Engines ( )Here’s the board specifications alix2c.pdf
  • PC running Windows with Vmware (in my case, I used the workstation edition, but probably the free-server edition could be used)
  • Seagate Micro-drive 2.5G (bigger sizes work as well)
  • USB-CF interface
  • 2G thumb-drive
What we’ll do in a nutshell is installing the IP-PBX on a Micro-drive using the Vmware to create the image on the micro-drive, modify some boot preference and install the drive on to Alix.
These are the steps:
Insert the Micro-drive in to the USB-CF interface and plug it into your pc
Open Vmware and create a configuration similar to the Alix pcboard

Vmware configuration

Vmware configuration

– 256 Mb of memory
– 2 bridge networks
– 1 usb
– 1 serial
– for the CD use the image of the pbx you want to instal.
– as a Hard-drive use the 2.5G Micro-drive PhisycalDrive

It’s important that you use the PhisycalDrive option of the vmware instead of the default one (create a file), so the Micro-drive is going to be he disk of our PBX.
If you use a different alix board, just make suer to include the configuration that best matches your board, for example, if you have an alix with ONE ethernet card, just use ONE

You also have to match the type of kernel you are using, in our project, we use 2 different pbx, Trixbox, and Elastix, both are based on 2.6.x linux kernel.


To learn more about Trixbox, go to their website at, you also can download there the latest ISO image. For consitancy purposes we include here the image we use for this project so you can replicat it exactlly.

Click here to download the 2.6.1 ISO image.


To learn more about Elastix, go to their website And here’s the ISO image as well.


After mounting the ISO image on the CD/DVD of the virtual machine, just boot and install it.

Once your are done, we’ll need to change some boot parameters that are more appropriate for an embedded solution:

edit /etc/grub.conf

Comment out these 2 lines by putting a # at the beginning of the line:



Add these 2 lines:

serial –unit=0 –speed=9600 –word=8 –parity=no –stop=1

terminal –timeout=10 serial console

And add this to the end of each line that begins with “kernel”:

console=tty0 console=ttyS0,9600n8

(This tells Grub to direct console output to both the standard ttys (the ones you get with a keyboard and monitor) as well as the serial port (ttySx).)


Grubu config

Grubu config


Add this to the bottom of /etc/inittab:

S0:12345:respawn:/sbin/agetty ttyS0 9600 linux

(the “S0? is just a unique identifier; no two entries in inittab can start with the same thing. 12345 means all run levels (they correspond to /etc/rc2.d, rc3.d, etc) and respawn will ensure that it will accept another login after you log out.)

If you want to allow root to login over the console (versus logging in as a normal user and su-ing), add “ttyS0? to the bottom of /etc/securetty:

echo ttyS0 >> /etc/securetty

edit /etc/sysconfig/init and change




to prevent the graphical startup from blowing up your terminal.

If you have kudzu running (use chkconfig or look in /etc/rc3.d to see if it runs during boot):

edit /etc/sysconfig/kudzu

set SAFE=yes

(Do only ’safe’ probes that won’t disturb hardware. Currently, this disables the serial probe, the DDC monitor probe, and the PS/2 probe.) This prevents kudzu from hiccuping the serial port while you’re connected to it during boot.


Shut down the virtual machine and remove the CF card. Plug the CF card into the Alix and boot. You can use a serial cable to watch it boot, or wait about 2.5 minutes, and it will be ready to use.

And here you have it, 2 different VoIP pbx running on your embedded platform

Elastix 2


Elastix 1


Tirxbox 1

Tirxbox 1

Trixbox 2

Trixbox 2




Now, let’s backup the images:

Mount to the ALIX a thumb-drive big enough to hold the CF disk, in our case 2G is enough.


mount /dev/sda1 /mnt/usb

dd if=/dev/hda bs=1k conv=noerror,sync | gzip -c > /mnt/usb/trixbox-backup.img

umount /mnt/usb

Now you have the backups.

For your convenience and if you want to skip the project and jump to the results, I’m including here the 2 backup images of this 2 pbx


Download here the Trixbox backup image and here the Elastix one.

You can use physdiskwrite on windows to dump the backup image to the Micro-drive.





You can download physdiskwrite from their official website ( ) or from here, this is the version I sued for the project.