Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Table of Contents
oz-install - tool to automatically install operating systems into files
oz-install [OPTIONS] <tdl-file>
This is a tool to automatically install operating system into files that represent disk images. The input is an XML file representing the operating system and packages to be installed. By default (and by design), the first stage of the install only installs a JEOS (Just Enough Operating System); customization, including the installation of additional packages can also be done, but requires additional flags.
Note that oz-install does the actual installation using a combination of KVM and libvirt, so both of these must be available (and working) for oz-install to have a chance to succeed.
-a <auto> Use the user-provided auto installation file auto. By default, Oz will use a hard-coded auto-installation file (kickstart, preseed, sif, etc) to do a basic OS installation. Using this option, the user can provide an alternate auto-installation file to do the install. The caveat is that user-provided auto-installation files are more likely to cause installation errors, so this option should be used with caution.
-c <config> Get the configuration from config file config, instead of the default /etc/oz/oz.cfg. If neither one exists, Oz will use sensible defaults. The config file is in standard ini format; for an explanation of the sections and keys, see the CONFIGURATION FILE section.
-d <loglevel> Turn on debugging output to level loglevel. The log levels are:
- 0 - errors only (this is the default)
- 1 - errors and warnings
- 2 - errors, warnings, and information
- 3 - all messages
- 4 - all messages, prepended with the level and classname
-g Generate the ICICLE (a package manifest, with some additional metadata) after the installation is complete.
-h Print a short help message.
-i <icicle> If oz-install has been instructed to generate an ICICLE (see the -g option), then it will normally write the ICICLE XML to stdout. To have oz-install write the ICICLE to a file instead, use the -i option. Note that it is an error to specify -i without -g.
-p Cleanup old guests before installation. By default, if a guest with the same libvirt UUID, libvirt name, or diskimage exists prior to Oz starting installation, Oz will abort. If this option is used, then Oz will undefine the libvirt guest with the same name or UUID and delete the diskimage, so it should be used with caution.
-s <disk> Write the disk image to disk rather than the default of the TDL name.
-t <timeout> Terminate the installation of the guest in timeout seconds rather than the oz default. This value should be increased if running on slow storage or running multiple oz-install operations on the same machine.
Please note that there is a separate termination action that occurs if 300 seconds elapses with no disk activity to the operating system. This timer value is not configurable.
-u Customize the image after installation. This generally installs additional packages onto the disk image after installation.
-x <xmlfile> Oz will normally generate a libvirt XML file in the current working directory suffixed with the date and time. Specifing the -x option allows the filename to be overridden.
The Oz configuration file is in standard INI format with several sections. If any section or configuration key is missing, Oz will use a sensible default. For true/false configuration keys, the values of true, True, Yes, or Yes can be used to turn the option on, and false, False, no, or No can be used to turn the behavior off. The configuration file should have the following form:
[paths] output_dir = /var/lib/libvirt/images data_dir = /var/lib/oz screenshot_dir = . [libvirt] uri = qemu:///system type = kvm bridge_name = virbr0 cpus = 1 memory = 1024 [cache] original_media = yes modified_media = no jeos = no
The paths section defines the paths that Oz will use for storing data. The output_dir key describes where to store the images after they are built, and the data_dir key describes where to cache install media and use temporary storage. Both locations must have a decent amount of free disk space in order for Oz to work properly. The screenshot_dir key describes where to store screenshots of failed installs.
The libvirt section allows some manipulation of how Oz uses libvirt. The uri key describes the libvirt URI to use to do the guest installation. The type key defines what type of virtualization to use. The bridge_name key defines which bridge Oz should place the guests that it launches on. The cpus key defines how many CPUs should be used inside the virtual machine. The memory key defines how much memory should be used inside the virtual machine.
The cache section allows some manipulation of how Oz caches data. The caching of data in Oz is a tradeoff between installation time and storage space. The original_media key tells Oz to cache the original installation media so that it does not have to download it the next time an install for the same operating system is requested. The modified_media key tells Oz to cache the oz-modified installation media so that it does not have to download and modify it the next time an install for the same operating system is requested. The jeos key tells Oz to cache the installed operating system after installation. This can significantly speed up subsequent installation of the same operating system, with the additional downside of the operating system getting out-of-date with respect to security updates. Use with care.
Chris Lalancette <firstname.lastname@example.org>