Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

Summary

This documents how to build your own ISO, complete with custom kickstart (system default configuration), set of RPM and splash screens. 

Step 1. Obtain the sipXiso project

git clone git://github.com/dhubler/sipXiso.git

Step 2. Download base CentOS RPMS.

Download the first CD ISO image from the CentOS operating system for 32 and/or 64 bit. Mirror lists are here

  http://isoredirect.centos.org/centos/5/isos/i386/

  http://isoredirect.centos.org/centos/5/isos/x86_64/

Put the ISOs into a single directory and do not rename them,  In this example we'll use  ~/downloads/centos

Step 3. Download or build sipXecs RPMS

Obtain a copy of all the RPMs needed to install sipXecs including the rpms built from the ./lib directory such as ruby-postgres, sipx-freeswitch, etc. into a directory.  It can be organized anyway you want, in fact it can be a directory that also acts as a yum repository.  For this example, we'll put these into ~/build/sipxecs

Step 4. Configure

Run the standard script to setup the configuration script

autoreconf -if

Then run configure pointing to your CentOS ISO and sipXecs rpms. In our example this will be.

./configure ISO_DIR=~/downloads/centos REPO_DIR=~/build/sipxecs

Step 5. Build

Now build ISO.  *NOTE: Unfortunately the make process needs to mount the ISO and only root can do that, so you have to run this with root privileges

sudo make all

if you want to just build the 32 bit or the 64 bit ISO, you can run "make all-32" or "make all-64" respectively.

Step 6. Contribute

If you have can changes you'd like to submit back, please post on sipx-dev mailing list.

Additional Information

Customizing

You don't have to customize your CD, If you don't you'll produce the standard SIPfoundry ISO.  If you do decide to customize, then to create you're own spash screen or kickstart file, create a separate directory with these files and configure your build to use this directory. For example ./configure ... OEM_DIR=~/work/ezuce

Contents of ~/work/ezuce
iso.mak.in - override various make variables used to create the ISO.  See Makefile.in for a list of all the variables you could override.  Here is an example

SPLASH_FILE = <at:var at:name="OEM_DIR" />/splash.lss
ISO_LABEL ?= ezuce
VOLUME_LABEL ?= "ezuce <at:var at:name="PACKAGE_VERSION" />"
APPLICATION_LABEL ?= "ezuce <at:var at:name="PACKAGE_VERSION" />"
PUBLISHER_ID ?= dhubler@ezuce.com
PREPARERER_ID ?= dhubler@ezuce.com

oem.m4 - Contains M4 macros that you can use to extend the kickstart file.  Look in ks.m4 for an idea of the hooks that are currently in place you can alter.  Here is an example

define(`sipx_packages',
sipx_packages()
ezuce
)
define(`welcome_message',

Welcome to eZuce
=============================
First time logon: user = root     password = setup

)
define(`repo_contents',
[ezuce]
name=ezuce CentOS \$releasever - \$basearch
baseurl=http://download.example.com/ezuce/PACKAGE_VERSION()/CentOS_\$releasever/
enabled=1
gpgcheck=0
)

splash.lss - this is a graphic that is the initial splash screen and is in a format that is not well supported, but google around for how to edit this file on your OS.

  • No labels