OS template metadata is a set of a few files containing the following information:
- List of packages that form this OS template
- Locations of package repositories
- Scripts needed to be executed on various stages of template installation
- Public GPG key(s) needed to check signatures of packages
- Additional OpenVZ-specific packages
Internals
(Incomplete) Based off the centos-4 vztmpl:
- addons/vzdev is a static list of most commonly used /dev entries. Provides dev package. Uses MAKEDEV.spec
- addons/MAKEDEV-3.3.13-1.3.swsoft is generated from a copy of fedora core 2's MAKEDEV-3.3.13. Uses MAKEDEV.spec which is a customized version to install only the essential devices and depend on vzdev
- dummy-centos-4 is a placeholder for kernel, module-init-tools, modutils, mingetty, kernel-utils, ethtool, and kernel-drm packages. Uses dummy.spec
- default.list, minimal.list, *.list are list of packages for a flavor of the template. Must contain dummy-centos-4, vzdev, and MAKEDEV packages
- config/yum.conf.in template for yum.conf with tokens replaced during build.
- config/install-pre or install-post is executed by cache-os which is executed by vzpkgcache when creating a template cache
- config/update-pre or update-post is executed when updating a template cache
- config/gpgkeys are the keys for the packages to be cached
- config/rpm contains the rpm version
- vztmpl.spec.in is template for the vztmpl package
- make.defs is the common variables for the make process
Download the vztmpl-centos-4*.src.rpm. Install it. Modify it.
To generate the OS template metadata rpm run "make rpms" inside the /usr/src/redhat/SOURCES/centos-4 dir. You will need gcc, rpmbuild, and createrepo packages.
Contributions
- http://www.neonhost.com/openvz/ - Centos 5 rpm and patch for centos 4 template contributed by Chris Turan. See http://forum.openvz.org/index.php?t=msg&&th=5037
Using OS template metadata and vzpkg tools, an OS template cache can be created.