CentOS ISO Build Instructions - perfsonar/project GitHub Wiki
Introduction
This page contains information about building the NetInstall and Full Install ISOs used to distribute the perfSONAR Toolkit. The overall process consists of running a set of shell scripts to that modify existing CentOS ISOs to also include the perfSONAR packages. This process is details in the sections that follow.
Preparing you environment
First you will need to install some pre-requisite packages by running the following on your build host:
yum install genisoimage yum yum-utils createrepo mkisofs wget git syslinux isomd5sum
Next you will need to checkout the toolkit-building git repository:
git clone https://github.com/perfsonar/toolkit-building.git
If you are building a pre-release (such as an alpha or release candidate), then you should aslo run the following:
git fetch
git checkout pre-release
This branch points at additional testing yum repositories used for the pre-release process.
Building the NetInstall
To build the NetInstall, from the toolkit-building directory run the following as root::
./scripts/build_netinstall.sh --arch x86_64 --os-version 7 --ps-version 4.0rc1
The first command builds an x86_64 ISO and the second builds an i386 ISO. The ISOs can be found in the toolkit-building/resources directory. There is also an optional --iso option that can be specified to point at a different CentOS ISO than the default. The default action is to download the CentOS netinstall image from linux.mirrors.es.net and place it in the toolkit-building/resources directory if it doesn't already exist.
#Building the Full DVD
Building a chroot environment
Building the Full Install ISO requires first building a chroot environment. You only need to do this the first time you build the ISO on the host. You may use the same chroot for multiple run of the ISO building script. In the toolkit-building directory, run the following command::
./build_chroot.sh /path/to/chroot/directory x86_64 7
This will create a new CentOS 7 chroot environments for x86_64. NOTE: For 32-bit architectures you must give i686 when building the chroot as you will not get all the necessary packages if you specify i386.
NOTE: /proc and /dev are mounted in the chroot environment, so don't just do an "rm -rf" of the directory if you want to get rid of it. Make sure you unmount the proc and dev directories in the environment first.The commands to do so are as follows:
umount /path/to/chroot/directory/proc
umount /path/to/chroot/directory/dev
rm -rf /path/to/chroot/directory
Building the ISO
To build the Full Install ISO, from the toolkit-building directory run the following as root:
./build_fulldvd.sh --arch x86_64 --chroot /path/to/chroot/directory --os-version 7 --ps-version 4.0rc1
The command above will place ISOs for the target architecture in the toolkit-building/resources directory when complete. There is also an optional --iso option that can be specified to point at a different CentOS ISO than the default. The default action is to download the CentOS minimal install image from linux.mirrors.es.net and place it in the toolkit-building/resources directory if it doesn't already exist.