linux make deb-pkg speedup

Because I've run make deb-pkg so many times, I've started to see exactly where it starts to slow down even with really large machines. Observing cpu usage, I noticed that many parts of the build were serialized on a single core. Upon further investigation I found the following.


accessing maas database directly

Let's say you've messed up your MAAS installation and have no idea how to recover data about your nodes. Have no fear, you can access the django managed database directly.


qemu/kvm guest debugging

Occasionally it is useful to debug a running guest VM's kernel. Setup your host machine for virtual machine hosting with QEMU/KVM, and add ddebs to your host system using this wiki.


using gcov/lcov with the linux kernel

GCOV/LCOV are amazing tools to figure out code coverage in the Linux kernel. It is fairly trivial to setup on your own machine. First, enable the following in your kernel configuration:


getting kernel crashdumps for hung machines

Debugging hung machines can be a bit tricky. Here I'll document methods to trigger a crashdump when these hangs occur. What exactly does it mean when a machine 'hangs' or 'freezes-up'? More information can be found in the kernel documentation, but overall there are really a few types of hangs.


using with ubuntu

Bisecting the kernel is one of those tasks that's time-consuming and error prone. is a script that lives in the linux kernel source tree that helps to automate this process. The script is extremely extensible and as such takes time to understand which variables need to be set and where. In this post, I'll go over how to perform a kernel bisection using a VM as the target machine. In this example I'm using 'ubuntu' as the VM name.


using CRIU to checkpoint a kernel build

CRIU stands for Checkpoint/Restart in Userspace. As the criu package should be landing in Utopic soon, and I wanted to test drive it to see how it handles.


manually deploying openstack with a virtual maas on ubuntu trusty (part 2)

In the previous post, I went over how to setup a virtual MAAS environment using KVM [1]. Here I will explain how to setup Juju for use with this environment. »

manually deploying openstack with a virtual maas on ubuntu trusty (part 1)

The goal of this new few series of posts is to be able to setup virtual machines to simulate a real-world openstack deployment using maas and juju. This goes through setting up a maas-server in a VM as well as setting up maas-nodes in VMs and getting them enlisted/commissioned into the maas-server. Next juju is configured to use the maas cluster. Finally, openstack is deployed using juju. »

using kgraft with ubuntu

New live kernel patching projects have hit LKML recently here and here, and I've taken the opportunity to test drive kGraft with the Ubuntu kernel. This post documents how to get a sample patch working.