Rolling Your Own Asterisk ISOs with Joe’s WonderScript

One of the enormous drawbacks of Asterisk@Home and earlier versions of trixbox was the need to generate new ISOs whenever there was a newer version of Asterisk® or the CentOS operating system. In fact, it was one of the primary motivations for creating PBX in a Flash which separated the Asterisk payload from the Linux ISO itself. Now Asterisk updates can be generated in days instead of months.

Fast forward to today when Joe Roper, one of the initial developers of PBX in a Flash, turned out a new script that lets you take a yum-updated version of PBX in a Flash and generate a new PBX in a Flash ISO that includes the very latest (as in this morning) CentOS operating system. Then, with our existing payload files, you can choose your favorite Asterisk version in both 1.4 and 1.6 flavors with Zaptel or Dahdi. Simply stated, in about an hour, you now can roll your own PBX in a Flash ISO with the very latest version of CentOS whenever you’d like. The good news for us: this decentralizes Upgrade Hell to your desktop and gets it off our plate. It also, of course, lets us generate current PBX in a Flash ISOs in just a few minutes whenever the need arises because of security issues or new operating system releases. Both of these are good things because it frees up the developers to work on new gee whiz stuff without devoting literally months each year to the task of keeping ISOs current. The other terrific part of Joe’s script is it will broaden the base of developers enormously and encourage others to add new components to these builds whenever the urge strikes. One day soon you should be able to do all of the ISO and payload generation in house by simply running a few scripts.

To give you a feel for how well this works, let us run through the process. Then you can either download our new CentOS 5.4 ISO which was built earlier today in less than an hour… or you can roll your own with Joe’s new script. The script incidentally is distributed under the GPL2 license so feel free to use it, enhance it, or rewrite it under the terms of the license.

Getting Started. If you ever watched your mom or wife bake sourdough bread, then you already know that the critical ingredient is the “bread starter” mixture. Without that, you don’t get a new loaf. The same applies here. Before you can build a new PBX in a Flash ISO, you’ll need to have a current version up and running. The current script has been engineered assuming that you’ll be starting with PBX in a Flash 1.5 beta which relies upon CentOS 5.3 as the Linux operating system. Install it in the usual fashion with your choice of Asterisk versions on either a dedicated machine or as a KVM on a virtual machine such as Proxmox. Once the install is complete, run update-scripts, update-fixes, update-source, and update-fixes. When running update-source, be sure to choose to update the operating system AND the kernel to the latest version of CentOS. When prompted, tell update-source to also run yum update. Reboot the system and make certain that Asterisk loads properly. You need not configure FreePBX at this juncture.

At this point, you actually have a version of PBX in a Flash with the latest CentOS 5.4 operating system. The problem with this approach on multiple machines is that it’s an hour-long process to update each machine using this process. Instead, what we’d like to do is take a snapshot of this newly updated system and turn it into an ISO that can be used to create additional systems with CentOS 5.4 without the hassle of the update knuckle drill.

Generating an ISO. Here are the steps to generate your new ISO. Log into your server as root and issue the following commands:

cd /root
wget http://pbxinaflash.net/source/iso/create-updated-iso.sh
chmod +x create-updated-iso.sh
./create-updated-iso.sh

When the process completes, your new ISO can be found in /root/createISO. Copy it to your favorite operating system and burn a CD from the ISO image. Boot a new machine or virtual machine using the ISO, and presto! You’ve got a PBX in a Flash boot disk featuring CentOS 5.4. Make the usual selections of keyboard, time zone, and password. Then you’re off to the races. When the Linux install completes, remove the CD before the system reboots. Then choose your favorite flavor of Asterisk and Zaptel/Dahdi once the PBX in a Flash payload file downloads. Doesn’t get much simpler than that. If you’d like to take our generated 5.4 ISO for a whirl, you can download it from the PBX in a Flash beta site. Enjoy!


Twitter Feeds on Nerd Vittles. If you glance over to the right column just above the Google Maps, you’ll see the current Twitter feed for @NerdUno. But did you know you also can read anyone else’s tweets or list from the same UI? Just scroll to the bottom of the frame and try one of these: voipusers (for the VoIP Users Conference feed) or voipusers/voip-users-conference (for recent tweets from all members of VUC). No need to type @. We’ll handle that keystroke for you. :-)


Enhanced Google Maps. In case you haven’t noticed, we’ve added yet another Google Map to Nerd Vittles. Now, in addition to showing our location with Google Latitude, we also are displaying your location based upon your IP address. We’ll show you how to add something similar to any LAMP-based Linux system in coming weeks. It’s a powerful technology that has enormous potential. If you’re unfamiliar with Google Maps, click on the Hybrid and Satellite buttons and then check out the scaling and navigation options. Double-click to zoom. Incredible!


whos.amung.us If you’re wondering what your fellow man is reading on Nerd Vittles these days, wonder no more. Visit our new whos.amung.us statistical web site and check out what’s happening. It’s a terrific resource both for us and for you.



Need help with Asterisk? Visit the PBX in a Flash Forum.
Or Try the New, Free PBX in a Flash Conference Bridge.


 
New Vitelity Special. Vitelity has generously offered a new discount for PBX in a Flash users. You now can get an almost half-price DID and 60 free minutes from our special Vitelity sign-up link. If you’re seeking the best flexibility in choosing an area code and phone number plus the lowest entry level pricing plus high quality calls, then Vitelity is the hands-down winner. Vitelity provides Tier A DID inbound service in over 3,000 rate centers throughout the US and Canada. And, when you use our special link to sign up, the Nerd Vittles and PBX in a Flash projects get a few shekels down the road while you get an incredible signup deal as well. The going rate for Vitelity’s DID service is $7.95 a month which includes up to 4,000 incoming minutes on two simultaneous channels with terminations priced at 1.45¢ per minute. Not any more! For PBX in a Flash users, here’s a deal you can’t (and shouldn’t) refuse! Sign up now, and you can purchase a Tier A DID with unlimited incoming calls for just $3.99 a month and you get a free hour of outbound calling to test out their call quality. To check availability of local numbers and tiers of service from Vitelity, click here. Do not use this link to order your DIDs, or you won’t get the special pricing! After the free hour of outbound calling, Vitelity’s rate is just 1.44¢ per minute for outbound calls in the U.S. There is a $35 prepay when you sign up. This covers future usage and any balance is fully refundable if you decide to discontinue service with Vitelity.
 


Some Recent Nerd Vittles Articles of Interest…

Be Sociable, Share!

7 Responses to “Rolling Your Own Asterisk ISOs with Joe’s WonderScript”

  1. boynas says:

    Wooooww!

    Good job! This is great!

  2. ward says:

    See our short review of the new $200 Acer Aspire Revo for some quick feedback on how well this new ISO is functioning as a SOHO Asterisk PBX.

  3. Bruce says:

    Great Job ! Does this allow for settings in FreePBX to be copied as well and all other settings?

    I am looking for something like VMware snapshot in .iso

    Thanks

  4. ralph says:

    how about a debian base distro?

  5. JD Austin says:

    Will this allow us to modify the default partition layout? The reason I ask is I’d like
    to make a high availability version using hrbd/etc which requires a replica partition on each machine. So this would either need to create the partition or at least leave un-partitioned space so I could do it via a script later.

    JD

  6. carlosmp says:

    If we load custom drivers, will these also be rolled into the ISO?

    [WM: Not yet.]

  7. Nelson says:

    I am curious how you came up with the list of RPMs to download using yumdownloader. Is there a tool I can use for this?

Ringbinder theme by Themocracy