When we left off, I had finally decided to use AsteriskNOW and replace my hand-crafted dialplan with something more flexible and easier to modify. Before I could do anything else, I had to get the distribution installed. What follows was a late night of problem solving and fun… 😉
The most obvious route was to install the CD as-is. Unfortunately, this machine has no optical drive attached, and I did not feel like opening the system and adjusting the cabling to support that. I also don’t have a USB/IDE adapter. So, I first thought to use Unetbootin to install from a USB flash drive. After using Unetbootin to place the files on the flash drive, I attempted to boot to it. The motherboard supports USB floppy drives and CD-ROM, but not flash drives.
My next trick was to attempt to boot the ISO over the network, which I have successfully done with pfSense and the Debian install CD. A quick copy of the ISO into my TFTP boot directory and a modification to the PXE boot config were all that were necessary before rebooting my phone system. The PXE boot system comes up, and I attempt to boot the ISO. I was hopeful, but this worked like the rest of this install, an epic fail. Looking at the logs, I discovered that the TFTP server can’t handle serving a 650MB ISO, while it has easily handled a 60 and a 130 MB one. Another dead end, or is it?
I stepped back to think about the situation… If I can’t boot the ISO, what can I do? I remembered that when I copied the ISO to the TFTP root directory, I also copied the extracted files that Unetbootin has placed on the flash drive. I knew that PXE and USB booting, as implemented on Linux, are very similar. I configured the PXE environment to boot the extracted kernel. I was delighted to see that the installer loaded at all, after everything that had not worked as expected so far.
Once the installer started, it could not find the packages to install and asked which method to use to locate the packages. One of the HTTP. I created a new symbolic link in Apache’s DocumentRoot pointing to the TFTP root directory, making it accessible via HTTP. The installer immediately found the files and was able to install almost all of the packages. One package couldn’t be found, due to Unetbootin truncating the name. I renamed the file and clicked retry in the installer. The installer finished successfully. I rebooted and was able to log into the system.
After all of this craziness, I was ecstatic at being able to finally have a usable web interface on my phone system. Now, it’s on to configuring the system… Enjoy part 3…