Tool to create sparse debian based disk images for virtual hosts
Python
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
debian
files
selections
vdisk
LICENSE.txt
README
requirements.txt
setup.py
vdisk.yaml

README

vdisk is a tool to create a debian system suitable for use by a
virtualization technology such as kvm/qemu. The output image is
is a sparse file containing a partition table, a boot loader (grub)
and a partition with the base system.

vdisk builds a sparse image and mounts it to a loopback device for convenient
access.
This allows for easy manipulation of these inside of a chroot,
effectively allowing for bootstrapping a virtual base system without having to
fire up a virtual machine.

Installation
============

vdisk is designed to run in Debian GNU/Linux and the standard
configuration builds a Debian Squeeze image.

vdisk depends on a few packages being installed on the system where
images are built. This can be accomplished by running the following
command.

    apt-get install kpartx parted lvm2 python-argparse

Usage
=====

All of the following commands must be run as root on a linux host.

vdisk expects a configuration file in the current working directory called
vdisk.yaml, an example should be distributed with this package.

Build a fresh image and bootstrap a base system to it.

    bin/vdisk foo.img create
    bin/vdisk foo.img bootstrap

Install required packages, and prepare image for booting.

    bin/vdisk foo.img install [selections]

Try it out.

    bin/vdisk foo.img enter

When you have a successfully installed a system, try it out using a virtual
machine or an emulator like qemu.

    qemu-system-x86_64 -hda foo.img -monitor stdio

EC2
=====

You must include /boot/grub/menu.lst  it in your vdisk.yaml. Simple example:

default 0
timeout 3
title EC2
root (hd0,0)
kernel /vmlinuz root=/dev/mapper/VolFoo-root ro
initrd  /initrd.img

Depending on your kernel you might also need to create
/etc/initramfs-tools/modules with xenblk and xennet modules, vdisk will execute
update-initramfs as the final step.

Important Files
===============

vdisk.yaml - Contains configuration for how to create your virtual disk.
             This should be recreated in your project and modified to suit your needs.

License & Credits
=================

This software is released under the Apache 2 license, see LICENSE.txt for details.

It is authored by John-John Tedro <udoprog@spotify.com>,
Noa Resare <noa@spotify.com> and Lars-Erik Stenholm <lasse@spotify.com>.

Copyright is held by Spotify AB.