/mi-centos-7

Primary LanguageShellMozilla Public License 2.0MPL-2.0

Centos 7 ISO Builder

This repo allows one to create a custom CentOS 7 ISO with the necessary packages and tooling for deploying on SmartOS and the Joyent Public Cloud.

Requirements

In order to use this repo, you need to have the following:

  • SmartOS
  • A running CentOS instance (physical or virtual) with spare disk space
  • sdc-vmtools

Setup

Included is a setup_env.sh script to be run inside the CentOS instance. This script will install the necessary packages required to create a custom ISO.

Using

The next script is create_iso which takes a series of commands:

  • fetch
  • layout
  • finish

fetch

This command will fetch the DVD ISO from a given URL (default is Stanford) if no currently found.

layout

This command will extract the ISO and place it onto disk and copying any custom RPMS in ./RPMS onto the layout.

finish

This command will cleanup all prior ISO metadata, copy over the kickstart file in ./ks.cfg, modify the boot menu to add the kickstart file, and creates the ISO in ./iso.

You can run each command separately or all together.

./create_iso fetch
# create RPMs
./create_iso layout
./create_iso finish

Or ./create_iso fetch layout finish.

The resulting ISO will be ready to boot and install a clean image ready for SmartOS and the Joyent Public Cloud.

Default Settings For Image

  • Stock Kernel

  • US Keyboard and Language

  • Firewall enabled with SSH allowed

  • Passwords are using SHA512

  • Firstboot disabled

  • SELinux is set to permissive

  • Timezone is set to UTC

  • Disk is 10GB in size (8GB for / and the rest for swap)

  • Default packages installed (me-centos is from https://github.com/joyent/me-centos)

    • @core
    • acpid
    • iputils
    • man
    • me-centos
    • ntp
    • ntpdate
    • parted
    • vim-common
    • vim-enhanced
    • vim-minimal
    • wget