This is a tool for making CentOS-7.4.1708 ISO of yourself.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
boot.template/develop
filelist
.gitignore
38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml
83b61f9495b5f728989499479e928e09851199a8846ea37ce008a3eb79ad84a0-c7-minimal-x86_64-comps.xml
CHANGELOG.md
LICENSE
README.md
generatefilelist.sh
makeiso.sh
rsync-3.1.2-5.fc26.x86_64.rpm

README.md

Makeiso Animalism

This is a tool for making CentOS-7.4.1708 ISO of yourself.

This only works for CentOS-7.4.1708.

Requirement

  • An avaliable Linux platform. CentOS 7 is prefered, but Ubuntu is also OK
  • A CentOS-7-x86_64-Everything-1708.iso image
  • genisoimage (A RPM package is included in Everything 1708 iso image)
  • createrepo (A RPM package is included in Everything 1708 iso image)
  • rsync 3.1.1+ (not included in Everything 1708 iso image. A RPM package is included in this repository)

Usage

Basic order:

  1. Modify the GLOBAL VARIABLE if needed.
  2. Copy addtional files you want to install after the system installation to PAYLOAD_PATH, and write a install.sh as the installation script.
  3. Run makeiso.sh to generate iso file.

GLOBAL VARIABLE

# INPUT
CENTOS7_EVERYTHING_ISO="/tmp/mountpoint/samba/share/CentOS-7-x86_64-Everything-1708.iso"
PAYLOAD_PATH="/root/payload_test/"
CONFIGDIR='boot.template/develop/'

# OUTPUT
OUTPUTFILEDIR="./"
VERSION="v1.0.0"
VOLUMENAME='PAYLOAD-'`date +'%Y%m%d%H%M'`-$VERSION
TIMEZONE='UTC'

# AUTO VARIABLE
VOLUMENAME_SHORT=`expr substr ${VOLUMENAME} 1 16`
FINALNAME=${VOLUMENAME}.iso
  • CENTOS7_EVERYTHING_ISO MUST be a accessiable CentOS-7-x86_64-Everything-1708.iso files.
  • PAYLOAD_PATH is addtional files you want to install after the system installation. After the system installation and auto reboot, bash install.sh will be execute automatically once.
  • VOLUMENAME_SHORT is for Volume ID and it only support as long as 16 chars.

Usage

Usage: ./makeiso.sh -d [DEST_DIR=./] -v [RELEASE_VERSION=v1.0.0] -s [PAYLOAD_PATH=/root/payload_test/] -7 [CENTOS7_EVERYTHING_ISO=/root/iso/CentOS-7-x86_64-Everything-1708.iso] -z [TIMEZONE=UTC]

And you will get a ISO file. The default username/password is root/root.

Notice that I enabled all the network interface DHCP in kickstart-post-script, so your network configuration in the Install Guide won't work.


Build your own ISO

Anything doesn't relate to the CentOS-7-x86_64-Everything ISO is supposed to be put in PAYLOAD and be installed by install.sh

For something relates to the ISO, you can install a new CentOS7 by yourself, and run generatefilelist.sh to generate new rpm filelist, and upgrade kickstart.cfg and comps.xml by yourself. (Or just edit it in the Payload install.sh. It's fine)

This project is just for helping developers who don't familiar how to buid a CentOS ISO. You should write Kickstart-file (payload-develop.cfg) for your own project purpose.

Other things

Idea about naming this 'make linux iso project' Animalism

In day 1945.08.17, a novella was published. The name is Animal Farm: A Fairy Story . That's it.

Idea about naming the directory Payload

See it in my another reposity "Idea about naming the directory Payload"

References

Contribution

Any contributions are welcome. Pull request to branch dev please.

License

Makeiso-Animalism is licensed under MIT License.

The default splash image is from "" and it's licensed under a "Creative Commons Attribution-Share Alike 3.0 Unported"