Skip to content
This repository was archived by the owner on Jul 17, 2019. It is now read-only.

spotify/vdisk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

Tool to create sparse debian based disk images for virtual hosts

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages