rubiojr / boxgrinder-ubuntu-plugin

MIT License
9 stars 3 forks source link

boxgrinder-ubuntu-plugin

This Boxgrinder OS plugin adds Ubuntu support to boxgrinder.

The plugin requires Ubuntu-specific tools to create the appliance so it will only work with Ubuntu as the host OS.

Boxgrinder can be easily installed in Ubuntu via packages in Ubuntu Precise, or via rubygems in Oneiric.

Installing in Ubuntu Precise (12.04)

sudo apt-add-repository ppa:rubiojr/boxgrinder-stable
sudo apt-get update
sudo apt-get install rubygems boxgrinder-build

That's it, Boxgrinder is ready to be used. Get some Ubuntu appliance definitions from http://github.com/rubiojr/boxgrinder-appliances.

IMPORTANT

You'll need a little fix for vm-builder do to an upstream bug. Relevant info in the bug comments:

https://bugs.launchpad.net/ubuntu/+source/vm-builder/+bug/911704

Installing in Ubuntu Oneiric (11.10)

Installation in Oneiric is a little bit more elaborate.

Pre-requisites

Install libguestfs binary packages

Install libguestfs deps first:

$ sudo apt-get install grub-pc lvm2 watershed dosfstools libsys-virt-perl ubuntu-vm-builder libvirt-bin \
                rubygems libvirt-dev libxslt-dev libxml2-dev gcc make \
                ruby-dev qemu-kvm augeas-lenses btrfs-tools cryptsetup \
                diff jfsutils libaugeas0 libhivex0 libntfs10 ntfsprogs \
                reiserfsprogs scrub xfsprogs zerofree zfs-fuse

Grab libguestfs binary packages from:

http://libguestfs.org/download/binaries/

For Ubuntu Natty, download them and install them issuing the following commands:

$ wget -r -l1 -H -t1 -nd -N -np -A.deb http://libguestfs.org/download/binaries/ubuntu1104-packages/

Remove not required packages:

$ rm *ocaml*deb libguestfs-doc* libguestfs0-dbg*

Install libguestfs packages:

$ sudo dpkg -i guestmount* libguestfs* python-guestfs* febootstrap*

Install guestfs rubygem

There are no binary packages for the libguestfs ruby bindings ATM. Grab the gem from here:

$ wget http://rbel.frameos.org/tmp/guestfs-1.14.2.gem

$ sudo gem install --no-ri --no-rdoc guestfs-1.14.2.gem

Install Boxgrinder and the Ubuntu plugin

$ sudo gem install --no-ri --no-rdoc boxgrinder-build boxgrinder-ubuntu-plugin

Usage

boxgrinder-build -l boxgrinder-ubuntu-plugin ubuntu.appl

There are sample appliance definitions at:

https://github.com/rubiojr/boxgrinder-appliances

DEV TIPS

Environment variables useful to debug the plugin:

Caveats

The Ubuntu plugin is still in alpha stage. If you find issues with it, please mailme, open an issue or submit a pull request ;)

Some stuff is probably missing.

Creating Fedora/RHEL/CentOS appliances under Ubuntu won't work.

Copyright

Copyright (c) 2011 Sergio Rubio. See LICENSE.txt for further details.