Building customised Linux distributions

One of the biggest selling points for Linux is its scalability. At one end of the scale, Embedded Linux is everywhere from the vehicle management system in your car to the smartphone in your shirt pocket. At the other end of the scale, 439 of the top 500 supercomputers run on Linux.

A Linux distribution can be seen as modular, and most of the parts that comprise a distribution can be separated into high level building blocks that can be arranged to make up the components of a specialised subset. For instance, that can be a dedicated server system, or a desktop arrangement that fulfills a specific set of user requirements for graphical or office work or a developer workstation.

Embedded Linux is stripped of superfluous components. A node in a supercomputer has added components and applications, and each version - for embedded device, workstation or server - may require a differently modified kernel. Each version of the system is optimised and pre-configured to suit the given application.

This is the philosophy that informs the business model of many Linux companies who provide and maintain distributions for specialised markets, such as the embedded market, where a slightly different specification may be required for each of any number of different applications and architectures. The specification for one embedded device will be markedly different to that for any other device.

It is also the philosophy behind the Platform Development Kit (PDK), a packaging system that can help Linux companies to build and maintain sets of "components" selected to fulfill the specific requirements of a given customer or user.

PDK has an obvious application for Linux distribution companies, and can also be useful for large organisations, where PDK can be used to build branded variations on a distribution for use in different departments that require a different focus or subset of computer requirements. The customer is able to build and maintain their own versions of Linux across the company, ensuring the integrity and consistency of installed versions, and a Linux company can supply a Linux that is tailored to suit the needs of the client and user.

Out of Debian

Like many things Linux, PDK can trace its origins back to the community-based Debian project. The Debian project was first announced in 1993, although the first 1.x release of Debian GNU/Linux didn't arrive until 1996. Debian GNU/Linux had an enviable reputation for stability, and its packaging system was beyond compare, but its release schedules were often seen as frustratingly slow. For these contrasting reasons, many popular Linux distributions are derived from Debian GNU/Linux.

One of the earlier Debian-based Linux distributions was Progeny, launched by the Debian project founder, Ian Murdock, and his business partner, John Hartman, in 2000. The intention of Progeny was to provide an easy-to-use Debian with a GNOME desktop and user-friendly installation procedure. Progeny Linux could be said to have predicted Ubuntu, and was probably a few years ahead of its time.

By 2003, the company had shifted its focus towards what it called Componentised Linux. The reasoning behind this change in Progeny's business model was the perception that standard GNU/Linux distributions were too monolithic, too top-down in design, and built on a "one size fits all" philosophy, where client and server features came together, all in the same box.

Progeny's business model was based on the idea that customers could order bespoke distros that the company would then assemble from ready-made components, implemented to fit the requirements of the user - again a concept that was ahead of its time. Despite Murdock's background with the Debian project, the components could be made from either Debian (DEB) or Red Hat (RPM) package systems.

In 2005, Progeny announced it was working on software called the Platform Development Kit (PDK), which would allow version control of the distribution building process. This approach provided several advantages. Several well-received releases of Progeny Debian were made using the Componentised Linux framework, but the idea didn't really catch on. Murdock left the company to work for the Linux Foundation, and ultimately Sun Microsystems. Progeny subsequently closed its doors in 2007.