diff --git a/docs/overview.rst b/docs/overview.rst
index 0d57e0ef6fab740d73b4f86172a6db353afe9e41..e7356e45e6a74b702f5e1b7a41b1673265625d0d 100644
--- a/docs/overview.rst
+++ b/docs/overview.rst
@@ -22,7 +22,7 @@ Those operations will:
* Shrink the image
* Clear out sensitive user data (passwords, ssh keys, history files, etc.)
* Prepare the guest OS for being deployed on a virtual environment (change
- device names, remove persistent net rules, etc.)
+ device names, remove persistent net rules, install VirtIO drivers, etc.)
Creation
========
diff --git a/docs/usage.rst b/docs/usage.rst
index c9a11e802279c644cd85f474cebf4f4d7675ea0e..0a812084d5bd3597cbf0f306bf87a22b05a78ee4 100644
--- a/docs/usage.rst
+++ b/docs/usage.rst
@@ -49,14 +49,16 @@ snf-mkimage receives the following options:
--disable-sysprep=SYSPREP
prevent SYSPREP operation from running on the input
media
+ --install-virtio=DIR install VirtIO drivers hosted under DIR (Windows only)
--print-sysprep-params
- print the needed sysprep parameters for this input
- media
+ print the defined system preparation parameters for
+ this input media
--sysprep-param=SYSPREP_PARAMS
- Add KEY=VALUE system preparation parameter
+ add KEY=VALUE system preparation parameter
--no-sysprep don't perform any system preparation operation
- --no-shrink don't shrink any partition
--public register image with the cloud as public
+ --allow-unsupported proceed with the image creation even if the media is
+ not supported
--tmpdir=DIR create large temporary image files under DIR
Most input options are self-describing. If you want to save a local copy of
@@ -65,10 +67,9 @@ image to the storage service of a cloud, provide valid cloud API access info
(by either using a token and a URL with *-t* and *-a* respectively, or a cloud
name with *-c*) and a remote filename using *-u*. If you also want to register
the image with the compute service of the cloud, in addition to *-u* provide a
-registration name using *-r*. All images are
-registered as *private*. Only the user that registers the image can create
-VM's out of it. If you want the image to be visible by other user too, use the
-*--public* option.
+registration name using *-r*. All images are registered as *private*. Only the
+user that registers the image can create VM's out of it. If you want the image
+to be visible by other user too, use the *--public* option.
By default, before extracting the image, snf-mkimage will perform a
number of system preparation operations on the snapshot of the media and will
@@ -81,69 +82,74 @@ input media. The user can enable or disable specific *syspreps*, using
*-{enable,disable}-sysprep* options. The user may specify those options
multiple times.
-Running *snf-mkimage* with *--print-sysprep* on a raw file that hosts a
-Debian system, we print the following output:
+Running *snf-mkimage* with *--print-sysprep* on a raw file that hosts an
+Ubuntu system, will print the following output:
.. _sysprep:
.. code-block:: console
- $ snf-mkimage --print-syspreps ubuntu.raw
- snf-image-creator 0.6
- =====================
- Examining source media `ubuntu_hd.raw' ... looks like an image file
- Snapshotting media source ... done
- Enabling recovery proc
- Launching helper VM (may take a while) ... done
- Inspecting Operating System ... ubuntu
- Mounting the media read-only ... done
- Collecting image metadata ... done
- Umounting the media ... done
-
- Enabled system preparation operations:
- cleanup-cache:
- Remove all regular files under /var/cache
-
- cleanup-log:
- Empty all files under /var/log
-
- cleanup-passwords:
- Remove all passwords and lock all user accounts
-
- cleanup-tmp:
- Remove all files under /tmp and /var/tmp
-
- cleanup-userdata:
- Delete sensitive userdata
-
- fix-acpid:
- Replace acpid powerdown action scripts to immediately shutdown the
- system without checking if a GUI is running.
-
- remove-persistent-net-rules:
- Remove udev rules that will keep network interface names persistent
- after hardware changes and reboots. Those rules will be created again
- the next time the image runs.
-
- remove-swap-entry:
- Remove swap entry from /etc/fstab. If swap is the last partition
- then the partition will be removed when shrinking is performed. If the
- swap partition is not the last partition in the disk or if you are not
- going to shrink the image you should probably disable this.
-
- use-persistent-block-device-names:
- Scan fstab & grub configuration files and replace all non-persistent
- device references with UUIDs.
-
- Disabled system preparation operations:
- cleanup-mail:
- Remove all files under /var/mail and /var/spool/mail
-
- remove-user-accounts:
- Remove all user accounts with id greater than 1000
-
-
- cleaning up ...
+ $ snf-mkimage --print-syspreps ubuntu.raw
+
+ snf-image-creator 0.7
+ ===========================
+ Examining source media `ubuntu.raw' ... looks like an image file
+ Snapshotting media source ... done
+ Enabling recovery proc
+ Launching helper VM (may take a while) ... done
+ Inspecting Operating System ... ubuntu
+ Collecting image metadata ... done
+
+ Running OS inspection:
+ Checking if the media contains logical volumes (LVM)... no
+
+ Enabled system preparation operations:
+ cleanup-tmp:
+ Remove all files under /tmp and /var/tmp
+
+ remove-swap-entry:
+ Remove swap entry from /etc/fstab. If swap is the last partition
+ then the partition will be removed when shrinking is performed. If the
+ swap partition is not the last partition in the disk or if you are not
+ going to shrink the image you should probably disable this.
+
+ cleanup-cache:
+ Remove all regular files under /var/cache
+
+ cleanup-userdata:
+ Delete sensitive user data
+
+ cleanup-passwords:
+ Remove all passwords and lock all user accounts
+
+ cleanup-log:
+ Empty all files under /var/log
+
+ remove-persistent-net-rules:
+ Remove udev rules that will keep network interface names persistent
+ after hardware changes and reboots. Those rules will be created again
+ the next time the image runs.
+
+ use-persistent-block-device-names:
+ Scan fstab & grub configuration files and replace all non-persistent
+ device references with UUIDs.
+
+ fix-acpid:
+ Replace acpid powerdown action scripts to immediately shutdown the
+ system without checking if a GUI is running.
+
+ shrink:
+ Shrink the last file system and update the partition table
+
+ Disabled system preparation operations:
+ remove-user-accounts:
+ Remove all user accounts with id greater than 1000
+
+ cleanup-mail:
+ Remove all files under /var/mail and /var/spool/mail
+
+
+ cleaning up ...
If you want the image to have all normal user accounts and all mail files
removed, you should use *--enable-sysprep* option like this:
@@ -152,6 +158,15 @@ removed, you should use *--enable-sysprep* option like this:
$ snf-mkimage --enable-sysprep cleanup-mail --enable-sysprep remove-user-accounts ...
+Sysprep parameters are parameters used by some sysprep tasks. In most cases you
+don't need to change their value. You can see the available sysprep parameters
+and the default values they have by using the *--print-sysprep-params* option.
+You can update their values by using the *--sysprep-param* option.
+
+If the media is a Windows image, you can install or update its VirtIO drivers
+by using the *--install-virtio* option. With this option you can point to a
+directory that hosts a set of extracted Windows VirtIO drivers.
+
Dialog-based version
====================
@@ -191,6 +206,7 @@ provide the following basic information:
* Name: A short name for the image (ex. "Slackware")
* Description: An one-line description for the image
(ex. "Slackware Linux 14.0 with KDE")
+ * VirtIO: A directory that hosts VirtIO drivers (for Windows images only)
* Registration Type: Private or Public
After confirming, the image will be extracted, uploaded to the storage service
@@ -209,8 +225,8 @@ process. The main menu can be seen in the picture below:
In the *Customize* sub-menu the user can control:
+ * The installation of VirtIO drivers (only for Windows images)
* The system preparation operations that will be applied on the media
- * Whether the image will be shrunk or not
* The properties associated with the image
* The configuration tasks that will run during image deployment
@@ -338,11 +354,8 @@ if a system can boot with para-virtualized disk controller by launching it with
kvm using the *if=virtio* option (see the kvm command in the
`Creating a new image`_ section).
-For Windows and older FreeBSD systems (prior to 9.2), the needed drivers need
-to be manually downloaded and installed on the media before the image creation
-process takes place. For *FreeBSD* the virtio drivers can be found
-`here `_. For Windows the drivers
-are hosted by the
+For Windows the program supports installing VirtIO drivers. You may download
+the latest drivers from the
`Fedora Project `_.
Some caveats on image creation