From 7dfcf9768ec9005fd84f8db0ac20954aba5e9202 Mon Sep 17 00:00:00 2001 From: Nikos Skalkotos <skalkoto@grnet.gr> Date: Tue, 9 Sep 2014 13:25:35 +0300 Subject: [PATCH] docs: Update the "supported images" section snf-image-creator can work with different image formats nowadays. --- docs/overview.rst | 8 +++- docs/usage.rst | 103 ++++------------------------------------------ 2 files changed, 15 insertions(+), 96 deletions(-) diff --git a/docs/overview.rst b/docs/overview.rst index e7356e4..f15bb67 100644 --- a/docs/overview.rst +++ b/docs/overview.rst @@ -2,8 +2,12 @@ Overview ^^^^^^^^ snf-image-creator is a simple command-line tool for creating OS images. The -original media the image is created from, can be a block device, a regular -file that represents a hard disk or the host system itself. +original media, the image is created from, can be: + + * a block device, representing a hard disk + * a disk image file, representing a hard disk (supports all image file formats + supported by QEMU) + * the host system itself Snapshotting ============ diff --git a/docs/usage.rst b/docs/usage.rst index 3fbead5..3baafed 100644 --- a/docs/usage.rst +++ b/docs/usage.rst @@ -318,102 +318,17 @@ Choosing *YES* will create and upload the image to your cloud account. Working with different image formats ==================================== -*snf-image-creator* works on raw image files. If you have an image file with a -different image format you can either convert it to raw using -*qemu-img convert* command or use the *blktap* toolkit that provides a -user-level disk I/O interface and use the exposed *tapdev* block device as -input on *snf-image-creator*. +*snf-image-creator* is able to work with the most popular disk image formats. +It has been successfully tested with: -Converting images to raw ------------------------- - -Converting between images with *qemu-img convert* is generally straightforward. -All you need to provide is the output format (*-O raw*) and an output filename. -You may use the *-f* option to define the input format, but in most cases this -is guessed automatically. The table below shows a list of supported image -formats and the equivalent argument you may pass to the *-f* flag. - -+--------------------------+-----------+ -|Image Format |-f argument| -+==========================+===========+ -|qcow2 (QEMU Copy On Write)|qcow2 | -+--------------------------+-----------+ -|VHD (Mircosoft Hyper-V) |vpc | -+--------------------------+-----------+ -|VMDK (VMware) |vmdk | -+--------------------------+-----------+ - -With the following commands we demonstrate how to download and convert an -official Ubuntu 14.04 *qcow2* image to raw: - -.. code-block:: console - - $ wget http://uec-images.ubuntu.com/trusty/current/trusty-server-cloudimg-amd64-disk1.img - $ qemu-img convert -f qcow2 -O raw trusty-server-cloudimg-amd64-disk1.img ubuntu.raw - -Working on .vhd disk images using blktap/tapdisk ------------------------------------------------- - -If the source image format is *Microsoft VHD* [#f1]_, we can use blktap/tapdisk -to connect it to a block device and use this block device as input in -*snf-image-creator* without having to convert the image to raw format. - -Assuming that you work on a recent Debian GNU/Linux, you can install the -needed tools by giving the following command: - -.. code-block:: console - - # apt-get install blktap-utils - # modprobe blktap - -Please refer to your distribution's documentation on how to install the blktap -user-space tools and the corresponding kernel module. - -After you have successfully installed blktap, do the following to attack the -source image (*/tmp/Centos-6.2-x86_64-minimal-dist.vhd*) to a block device: - -Allocate a minor number in the kernel: - -.. code-block:: console - - # tap-ctl allocate - /dev/xen/blktap-2/tapdev0 - -Then, spawn a tapdisk process: - -.. code-block:: console - - # tap-ctl spawn - tapdisk spawned with pid 14879 - -Now, attach them together: - -.. code-block:: console - - # tap-ctl attach -m 0 -p 14879 - -And finally, open the VHD image: - -.. code-block:: console - - # tap-clt open -m 0 -p 14879 -a vhd:/tmp/Centos-6.2-x86_64-minimal-dist.vhd - -Now you can open the associated block device with *snf-image-creator* like -this: - -.. code-block:: console - - # snf-image-creator /dev/xen/blktap-2/tapdev - -When done, you may release the allocated resources by giving the following -commands: - -.. code-block:: console - - # tap-ctl close -m 0 -p 14879 - # tap-ctl detach -m 0 -p 14879 - # tap-ctl free -m 0 +* Raw disk images +* VMDK (VMware) +* VHD (Microsoft Hyper-V) +* VDI (VirtualBox) +* qcow2 (QEMU) +It can support any image format QEMU supports as long as it represents a +bootable hard drive. Limitations =========== -- GitLab