Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Minore fix: change RTD branch from `master` to `latest`


Table of Contents
absoluteUrltrue
exclude^$

SIMP Version Matrix

CentOS images can be found here

 

SIMP VersionRHEL/CentOS VersionImages RequiredMock Build Environment
4.2.X6.7DVD1 and DVD2epel-6-x86_64
5.1.X7.1(RHEL) / 7.0(CentOS)Everything ISOepel-7-x86_64

Prerequisites

    • Make sure you are a normal user and not root!

    • Complete installation media for your chosen distribution

    • If there is more than one disc, you will need all of them
    • Make sure you have finished setting up your build environment

    • 60G of space in /var/lib/mock
       

Info
titleMock Mount Information

Please note that the partition that contains /var/lib/mock must be mounted with the options exec and dev for Mock to run properly.

(Check your /etc/fstab and make sure the partition that contains mock does not have nodev or noexec in the options.)

    • The gpg executable must be in the user's path (Fedora package: gnupg, EL package: gnupg2)

      Info
      titleRepoclosure Issues

      Presently, there are issues with EPEL expiring packages in our packages.yaml files on the fly.

      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.

Automated ISO build

This method fully automates the rest of the rake tasks and is the fastest way to get started.

    1. check out simp-core to your desired branch (e.g., 4.2.X or 5.1.X)
    2. download the ISOs you wish to use
    3. run the following rake task:

      Code Block
      languagebash
      $ bundle exec rake build:auto[5.1.X,/path/to/ISOs]
    4. The rake tasks will find the appropriate ISOs in the directory and build everything.
    5. type bundle exec rake build:auto for more options and environment variables.

Building from a tarball release

This method uses a pre-existing tarball to build the SIMP ISO:

    1. Head over to the BinTray repository and find the version of SIMP that you wish to build.
    2. Create the DVD_Overlay directory

      Code Block
      languagebash
      $ mkdir -p build/DVD_Overlay
    3. Download the version that you want into the DVD_Overlay directory

      Code Block
      languagebash
      $ 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.

 

Building from Scratch

This works on both the 4.X and 5.X branches and is intended for testing the latest builds of the SIMP stack.
You may be interested in the /wiki/spaces/SD/pages/5406762 page to customize your build. Please make sure you have your build environment set up according to Setting up your build environment .
At this point, you've built the SIMP tarball and could install it using a YUM server of your choice on whatever system you choose and then follow the documentation

Prerequisites

    • 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)

    1. Download all the SIMP source components

      Warning

      This will destroy any changes you might have staged in the dependency tree!

      Code Block
      languagebash
      $ rake deps:checkout
      Info

      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 

      Code Block
      languagebash
      $ rake build:bundle
    2. Build the DVD overlay tarball. Further documentation for the arguments is available in rake (rake -D). 

      Code Block
      languagebash
      $ rake tar:build[epel-6-x86_64,dev,false] (builds for CentOS/RHEL 6, dev key, no docs)
The SIMP tarball(s) will be in simp-core/build/DVD_Overlay. There will be one per supported distribution.

Build the ISO

This example is based around using CentOS 6.7.

    1. cd into simp-core
    2. Download all of the required packages for the build:

      Code Block
      languagebash
      $ rake build:yum:sync[<CentOS or RHEL>,<os_version>]
       
      # Example: rake build:yum:sync[CentOS,6.7]  
      # Note:  Use 7.0 for CentOS 7

       

      1. If you have previously downloaded packages from yum, you may need to run 

        Code Block
        languagebash
        $ rake build:yum:clean_cache
    3. Optionally, you may drop in custom packages you wish to have available during an install into build/yum_data/SIMP<simp_version>_<CentOS or RHEL><os_version>_<architecture>/packages
    4. Take your favorite RHEL or CentOS ISOs and place them in some directory somewhere with enough space to hold 3 copies.

      Code Block
      languagebash
      titleCentOS ISO Retrieval Example
      $ 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
    5. Unpack the ISOs

      Code Block
      languagebash
      $ 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"]
    6. Make a new directory for your custom ISO build and copy the contents of the extracted ISOs

      Code Block
      languagebash
      $ cd ..
      $ mkdir 4.2.X
      $ cd 4.2.X
      $ cp -rl ../orig/CentOS6.7-x86_64 .
    7. And finally, build the ISO:

      Code Block
      languagebash
      $ 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"]

...

This documentation has moved to ReadTheDocs.

Please ask questions on the SIMP Project slack or Google Group.