SIMP Version | RHEL/CentOS Version | Images Required | Mock Build Environment |
---|---|---|---|
4.2.X | 6.7 | DVD1 and DVD2 | epel-6-x86_64 |
5.1.X | 7.1(RHEL) / 7.0(CentOS) | 1511 release | epel-7-x86_64 |
Make sure you are a normal user and not root!
Complete installation media for your chosen distribution
Make sure you have finished setting up your build environment.
60G of space in /var/lib/mock
Please note that the partition that contains /var/lib/mock must be mounted with the options (Check your /etc/fstab and make sure the partition that contains mock does not have |
The gpg
executable must be in the user's path (Fedora package: gnupg, EL package: gnupg2)
Presently, there are issues with EPEL expiring packages in our The most recent of these is that python-six was pulled from EPEL and included directly in CentOS 6.7. While this is awesome, it makes getting a consistent build made difficult and we're looking into this issue. If all else fails, add the remote CentOS repos to the build/yum_data/<target_version>/repos directory, then erase the offending RPMs from packages.yaml, to work around this for now. |
This method fully automates the rest of the rake tasks and is the fastest way to get started.
run the following rake task:
$ bundle exec rake build:auto[5.1.X,/path/to/ISOs] |
bundle exec rake build:auto
for more options and environment variables.This method uses a pre-existing tarball to build the SIMP ISO:
Create the DVD_Overlay directory
$ mkdir -p build/DVD_Overlay |
Download the version that you want into the DVD_Overlay directory
$ cd build/DVD_Overlay $ curl -LO https://bintray.com/artifact/download/simp/Releases/SIMP-DVD-CentOS-4.2.0-RC1.tar.gz $ cd - |
You can now proceed to Building the ISO.
Make sure the following additional packages are installed and up to date:
mock
ClamAV # or whatever includes freshclam (on Fedora, the package is called clamav-update)
Download all the SIMP source components
This will destroy any changes you might have staged in the dependency tree! |
# If you want the latest version of every repo in Puppetfile.tracking: $ rake deps:checkout # If you are compiling from a particular tagged release: # $ rake deps:checkout[stable] |
If you've never run the build process before, you may need to run the following to make sure you have all of the bundles you need for all of the submodules in this project
|
Build the DVD overlay tarball. Further documentation for the arguments is available in rake (rake -D
).
$ rake tar:build[epel-6-x86_64,dev,false] (builds for CentOS/RHEL 6, dev key, no docs) |
This example is based around using CentOS 6.7.
Download all of the required packages for the build:
$ rake build:yum:sync[<CentOS or RHEL>,<os_version>] # Example: rake build:yum:sync[CentOS,6.7] # Note: Use 7.0 for CentOS 7 |
If you have previously downloaded packages from yum, you may need to run
$ rake build:yum:clean_cache |
build/yum_data/SIMP<simp_version>_<CentOS or RHEL><os_version>_<architecture>/packages
Take your favorite RHEL or CentOS ISOs and place them in some directory somewhere with enough space to hold 3 copies.
$ mkdir /tmp/CentOS_Build $ cd /tmp/CentOS_Build $ curl -LO http://mirror.vtti.vt.edu/centos/6.7/isos/x86_64/CentOS-6.7-x86_64-bin-DVD1.iso $ curl -LO http://mirror.vtti.vt.edu/centos/6.7/isos/x86_64/CentOS-6.7-x86_64-bin-DVD2.iso |
Unpack the ISOs
$ mkdir orig $ cd orig $ BUNDLE_GEMFILE=/path/to/simp-core/Gemfile rake -f /path/to/simp-core/Rakefile unpack["/path/to/ISO/CentOS-6.7-x86_64-bin-DVD1.iso"] $ BUNDLE_GEMFILE=/path/to/simp-core/Gemfile rake -f /path/to/simp-core/Rakefile unpack["/path/to/ISO/CentOS-6.7-x86_64-bin-DVD2.iso"] |
Make a new directory for your custom ISO build and copy the contents of the extracted ISOs
$ cd .. $ mkdir 4.2.X $ cd 4.2.X $ cp -rl ../orig/CentOS6.7-x86_64 . |
And finally, build the ISO:
$ BUNDLE_GEMFILE=/path/to/simp-core/Gemfile rake -f /path/to/simp-core/Rakefile iso:build["/path/to/simp-core/build/DVD_Overlay/SIMP-DVD-CentOS-4.2.0-RC1.tar.gz"] |