sbkeysync & maintaining uefi key databases

Over the last couple of weeks I've been working on a set of secure-boot tools. Originally, this project was intended as a quick implementation of an EFI-image-signing utility, but it has since grown a little. I've now added code to help maintain the UEFI signature databases from within a running OS.

ARM64 toolchain

Most of the components of the 64-bit ARM toolchain have been released, so I've put together some details on building a cross compiler for aarch64. At present, this is only binutils & compiler (ie, no libc), so is probably not useful for applications. However, I have a 64-bit ARM kernel building without any trouble.

Cell SPE toolchain

On Cell/B.E. machines, there are two different types of processor: The PowerPC Processing Element (PPE), and the Synergistic Processing Elements (SPEs). The PPE can run standard PowerPC applications, but the SPEs require a special compiler that supports their instruction set. This article describes how to build a toolchain that will enable you to compile programs for the SPEs.

bash completions

One of the much-less-well-known-than-should-be features of the GNU Bourne-Again Shell (bash) is its programmable completion functions. The default tab-completion can be extended to cover any number of external commands. For example:

sharing a console using screen

You can use the screen tool to share a console between two users - this is useful for remote collaborative development, and doesn't require nearly as much bandwidth as a desktop-sharing protocol like VNC.

Dynamic Feedback in Network Load Balancing

As part of my 2002 Honours year in Computer Science, I've been conducting research into Network Load Balancing under the supervision of Dr David Glance. In particular, improving the performance of the Linux Virtual Server project by implementing dynamic feedback of server load information.