We walked through the RedHat ISO creation procedure a couple years ago, but we wanted to revisit the issue using the 64-bit Scientific Linux 6.9 platform for those that want a current ISO image with Asterisk® 13 LTS. We recommend setting up your build environment on a VirtualBox virtual machine. Then you’ll have something to store away on your desktop computer in the event you ever want to create more customized ISOs. For today, you’ll need the 64-bit SL 6.9 DVD 1 ISO and the Nerd Vittles build environment and scripts. Should you ever decide to create all of the pieces from scratch, we’d recommend you begin with a careful review of Jason Priebe’s tutorial on Smorgasbork. But we’ll save you several hours of pain by providing the build environment and tools used to create the new Incredible PBX 13-13 ISO.

Getting Started. Begin by installing VirtualBox on your desktop computer. Then download the 64-bit SL 6.9 DVD 1 ISO. We chose Scientific Linux instead of CentOS or another RedHat derivative to minimize issues with copyrights and trademarks. Scientific Linux was partially developed with U.S. government employees and funding which imposes clear boundaries on attempts to limit redistribution of open source, GPL packages and packaging. Since we are merely adjusting the collection of GPL components in the ISO build and then adding our own GPL-licensed installation scripts in the kickstart files, the ISO is as close to worry-free as one can get in the litigious world in which we find ourselves.

Once you have created a virtual machine for Scientific Linux 6.9 and specified SL 6.9 DVD 1 ISO as your Virtual Drive in the Storage:Empty tree, start your VM and walk through the basic SL 6.9 install specifying a Minimal Install as your platform of choice. When the install finishes, reboot your server and login as root using SSH or Putty. Issue the following commands to add a few missing packages which we will need down the road:

cd /root
yum -y install net-tools nano wget tar
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -Uvh epel-release-6-8.noarch.rpm

While it’s not normally good practice to build ISO images as the root user, we’ll do it anyway since we’ve built a virtual machine that will be dedicated exclusively to building ISO images. In the /root folder, the directory structure for our build environment will look like this:

/root
 -kickstart_build
  --isolinux
  --Packages
  --repodata
  --images
    ---pxeboot

Typically, most of the kickstart_build environment is populated from the isolinux directory on SL 6.9 disc 1. Then kickstart customizations are added to isolinux and the RPM packages to be loaded as part of the initial install are added to Packages. Finally, each of the kickstart files includes an opening install script, followed by a %packages section listing all of the main RPMs to be loaded (not the dependencies), followed by a %post section which specifies what tasks to complete once all of the RPM packages have been installed.

Our goodie bag for today sets all of this up for you. In addition, it adds a script (add-packages-tmp) which downloads all of the packages for the ISO as well as any required package dependencies. There’s also a text file (add-packages-kickstart) that lists all of the main packages that are going into the ISO build. This list will be used to populate the %packages section of each of the kickstart files (ks*.cfg) in isolinux. For the Incredible PBX 13-13 ISO, we’ve already moved the list of RPMs into each of the kickstart files so all you have to do is run /root/add-packages-tmp to download the RPMs and move them into place. Finally, there’s a script (create-ISO-new) in the /root folder that will actually generate the Incredible PBX 13-13 ISO file. Once it completes its tasks, the ISO file can be found in /root/kickstart_build.

Now let’s put the build environment and the Incredible PBX 13-13 ISO components into place and create our first ISO. While logged into your server as root, issue the following commands. NOTE: Over 1,000 packages make up the Incredible PBX 13-13 ISO so the add-packages-tmp script takes a good long while to run since each RPM has to be downloaded and moved into place in our build environment.

cd /root
wget http://incrediblepbx.com/create-ISO-6.9.tar.gz
tar zxvf create-ISO-6.9.tar.gz
./add-packages-tmp
./create-ISO-new
ls /root/kickstart_build/*.iso

To add your own RPMs to an ISO, simply edit add-packages-tmp and add each new RPM in two places, in the reinstall AND the install sections of the script. This assures that RPMs will be added whether they already exist on your virtual machine or not. For each new RPM you add, be sure to also add an entry in add-packages-kickstart. We prefer to keep the packages alphabetical which makes it easier to make changes down the road. Finally, cut and paste the add-packages-kickstart list into the %packages section of each of your kickstart files in kickstart_build/isolinux/ks*.cfg. The isolinux.cfg file is where you set up the install menu for the ISO and specify the names of the kickstart files to associate with each menu selection. Once you’ve customized things, simply rerun add-packages-tmp and create-ISO-new to generate a new ISO. Enjoy!

Published: Monday, January 29, 2018




NEW YEAR’S TREAT: If you could use one or more free DIDs in the U.S. with unlimited inbound calls and unlimited simultaneous channels, then today’s your lucky day. TelecomsXChange and Bluebird Communications have a few hundred thousand DIDs to give away so you better hurry. You have your choice of DID locations including New York, New Jersey, California, Texas, and Iowa. The DIDs support Voice, Fax, Video, and even Text Messaging (by request). The only requirement at your end is a dedicated IP address for your VoIP server. Once you receive your welcome email with your number, be sure to whitelist the provider’s IP address in your firewall. For Incredible PBX servers, use add-ip to whitelist the UDP SIP port, 5060, using the IP address provided in your welcoming email.

Here’s the link to order your DIDs.

Your DID Trunk Setup in your favorite GUI should look like this:

Trunk Name: IPC
Peer Details:
type=friend
qualify=yes
host={IP address provided in welcome email}
context=from-trunk

Your Inbound Route should specify the 10-digit DID. Enjoy!




Need help with Asterisk? Visit the PBX in a Flash Forum.


 

Special Thanks to Our Generous Sponsors

FULL DISCLOSURE: RentPBX, Amazon, Vitelity, DigitalOcean, Vultr, Digium, Sangoma, 3CX, TelecomsXchange and others have provided financial support to Nerd Vittles and our open source projects through advertising, referral revenue, and/or merchandise. We’ve chosen these providers not the other way around. Our decisions are based upon their corporate reputation and the quality of their offerings and their pricing. Our recommendations regarding technology are reached without regard to financial compensation except in situations in which comparable products at comparable pricing are available from multiple sources. In this limited case, we support our sponsors because our sponsors support us.

Awesome Vitelity Special. Vitelity has generously offered a terrific discount for Nerd Vittles readers. You now can get an almost half-price DID 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. When you use our special link to sign up, Nerd Vittles gets a few shekels down the road to support our open source development efforts 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 our 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 and four simultaneous channels for just $3.99 a month. To check availability of local numbers and tiers of service from Vitelity, click here. NOTE: You can only use the Nerd Vittles sign-up link to order your DIDs, or you won’t get the special pricing! 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. Any balance is refundable if you decide to discontinue service with Vitelity.


RentPBX, a long-time partner and supporter of PIAF project, is offering generous discounts for Nerd Vittles readers. For all of your Incredible PBX hosting needs, sign up at www.RentPBX.com and use code NOGOTCHAS to get the special pricing. The code will lower the price to $14.99/month, originally $24.99/month. It’s less than 50¢/day.


Some Recent Nerd Vittles Articles of Interest…

Be Sociable, Share!