= Debirf Image on KVM guest = [http://cmrg.fifthhorseman.net/wiki/debirf debirf] is a minimal debian installation that runs entirely in RAM, allowing you to have full access to any underlying disks (among other benefits). To boot a KVM guest to debirf, first ensure that you have a debirf .iso file in /usr/local/share/ISOs on the host (if not, you can [http://debirf.cmrg.net/autobuilds/ download a pre-built one]. Then, create a symlink from /home//vms//cd.iso to this downloaded file and shutdown the guest. You can access the debirf image via the kvm console (`ssh @.mayfirst.org screen -x`). Login as root (with no password). == Root password == If you are planning on turning on networking, it's a good idea to set a root password first: {{{ passwd }}} == Networking == You can setup networking with the following commands: {{{ ip=209.51.163.203/28 gateway=209.51.163.193 && \ ip addr add "$ip" dev eth0 && \ ip link set dev eth0 up && \ ip route add default via "$gateway" dev eth0 echo "nameserver 216.66.23.46" > /etc/resolv.conf }}} == Installing packages == You can install any debian package, but remember to run: {{{ apt-get update }}} The apt cache is not populated already. == Creating filesystems == If you are creating filesystems from a block device, these commands will do the trick (some modification will be needed to meet your needs): {{{ parted /dev/vda -- mklabel msdos parted /dev/vda -- unit s mkpart primary 2048 499711 parted /dev/vda -- unit s mkpart primary 499712 -1 pvcreate /dev/vda2 vgcreate vg_jones0 /dev/vda2 lvcreate --name root --size 5GB vg_jones0 lvcreate --name var --size 5GB vg_jones0 lvcreate --name var+lib+mysql --size 25GB vg_jones0 lvcreate --name tmp --size 3GB vg_jones0 lvcreate --name swap --size 1GB vg_jones0 lvcreate --name home --size 75GB vg_jones0 mkfs -t ext3 /dev/vda1 mkfs -t ext3 /dev/mapper/vg_jones0-root mkfs -t ext3 /dev/mapper/vg_jones0-var mkfs -t ext3 /dev/mapper/vg_jones0-var+lib+mysql mkfs -t ext3 /dev/mapper/vg_jones0-tmp mkfs -t ext3 /dev/mapper/vg_jones0-home mount /dev/mapper/vg_jones0-root /mnt mkdir -p /mnt/{boot,var,var,home,tmp,proc,sys,dev} }}} == Mounting filesystems == debirf should discover all logical volumes, so mounting a logicaly volume can be accomplished with: {{{ mount /dev/mapper/path-to-volume /mnt }}} For example: {{{ mount /dev/mapper/vg_leslie0-root /mnt mount /dev/mapper/vg_leslie0-var /mnt/var mount /dev/mapper/vg_leslie0-tmp /mnt/tmp mount /dev/mapper/vg_leslie0-srv /mnt/srv mount /dev/vda1 /mnt/boot }}} == chroot == If you want to operate in a chroot environment, you will also need to mount some special filesystems: {{{ for fs in dev proc sys; do mount -o bind /$fs /mnt/$fs; done }}} Then: {{{ chroot /mnt }}}