Archive for June, 2012

Building a kernel for the Dreamplug still requires using a set of out-of-tree patches, since Dreamplug support is still being merged upstream. There are a few versions of these patches adapted for different kernel versions floating around. I have adapted them to apply to 3.4.x. You can get them from my github repository. Follow the README instructions to apply them and build the kernel. I included a kernel config file too.

The Dreamplug support patches that are being merged upstream use a device tree to tell the kernel about board-specific configuration that it needs to run on a given machine. The boot loader is supposed to hand that device tree binary to the kernel, or if your boot loader doesn’t support that (the u-boot version which comes pre-installed with the Dreamplug doesn’t) then you need to append a device tree binary to your kernel image after building it, or flash a new u-boot version.

To avoid all that fuss, the first patch in my series has a small hack that hard-codes the kernel to boot only on the Dreamplug, avoiding the need for a device tree. It also makes the kernel expect the GuruPlug machine id (which is what the factory Dreamplug u-boot advertises) instead of the Dreamplug machine id (which is what newer versions of u-boot advertise). It’s easy to drop this part of the patch if you updated your Dreamplug or made the factory u-boot use the new machine id (apparently you can do that, I didn’t try).


Read Full Post »