Skip to content
This repository has been 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

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages