Skip to content
Snippets Groups Projects
Commit 00302138 authored by Alex Pyrgiotis's avatar Alex Pyrgiotis
Browse files

Remove overlapping content with okenos-guides

This is the initial commit of the okeanos-helpdesk branch.
The main purpose of this branch is to:
* Move non-technical parts (e.g examples) to the okeanos-guides docs,
  where they can be presented in a more user-oriented way
* Correct minor omissions that okeanos-helpdesk has encountered during
  the testing of the image-creator tool
parent 8bd0cbb6
No related branches found
No related tags found
No related merge requests found
......@@ -2,3 +2,4 @@
build/
dist/
*.egg-info
docs/_build
......@@ -191,87 +191,3 @@ In the *Register* sub-menu the user can provide:
By choosing the *Extract* menu entry the user can dump the image to the local
file system and finally, if the user selects *Reset*, the system will ignore
all changes made so far and will start the image creation process again.
Creating a new image
====================
Suppose you want to create a new Ubuntu server image. Download the installation
disk from the Internet:
.. code-block:: console
$ wget http://ubuntureleases.tsl.gr/12.04.1/ubuntu-12.04.1-server-amd64.iso
Create a 2G sparce file to host the new system:
.. code-block:: console
$ truncate -s 2G ubuntu_hd.raw
And install the Ubuntu system on this file:
.. code-block:: console
$ sudo kvm -boot d -drive file=ubuntu_hd.raw,format=raw,cache=none,if=virtio \
-cdrom ubuntu-12.04.1-server-amd64.iso
After the installation finishes, become root, activate the virtual environment
you have installed snf-image-creator in, and use *snf-mkimage* to create and
upload the image:
.. code-block:: console
$ sudo -s
$ source /path/to/snf-image-env/bin/activate
$ snf-mkimage ubuntu_hd.raw
In the first screen you will be asked to choose if you want to run the program
in *Wizard* or *Expert* mode. Choose *Wizard*.
.. image:: /snapshots/01_wizard.png
Then you will be asked to provide a name, a description, an *~okeanos* account
and the token corresponding to this account. After that you will be asked to
confirm the provided data.
.. image:: /snapshots/06_confirm.png
Choosing *YES* will create the image and upload it to your *~okeanos* account.
Some caveats on image creation
==============================
Para-virtualized drivers
------------------------
*~Okeanos* uses the *VirtIO* framework. The disk I/O controller and the
Ethernet cards on the VM instances are para-virtualized and need special
*VirtIO* drivers. Those drivers are included in the Linux Kernel mainline since
version 2.6.25 and are shipped with all the popular Linux distributions. The
problem is that if the driver for the para-virtualized disk I/O controller is
built as module, it needs to be preloaded using an initial ramdisk, otherwise
the VM will not be able to boot.
In the image creation demonstration above, we initially installed the Ubuntu
system on a hard disk (*ubuntu_hd.raw*) that was connected on a
para-virtualized interface (pay attention to the *if=virtio* option of the kvm
line). Ubuntu and Debian create a generic initial ramdisk file that contains
many different modules, including the VirtIO drivers. In many distros this is
not the case. In Arch Linux for example, the user needs to manually add
*virtio_blk* and *virtio_pci* drivers in */etc/mkinitcpio.conf* and rebuild the
initial ramdisk [#f1]_ to make the virtio drivers get preloaded during boot.
For now, *snf-image-creator* cannot resolve this kind of problems and it's left
to the user to do it.
Swap partitions
---------------
If you want your image to have a swap partitions, make sure this is the last
partition on the disk. If snf-image-creator detects a swap partition in the end
of the input media, it will remove the partition when shrinking and will save
enough information to be able to recreate it during image deployment. This will
make the image smaller and will speed up the deployment process.
.. rubric:: Footnotes
.. [#f1] https://wiki.archlinux.org/index.php/KVM#Paravirtualized_guests_.28virtio.29
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment