With Dapper, we will, for the first time, define a real server target for the distribution. The Ubuntu Server will use a different kernel, and install a small subset of packages, concentrating on services and administration. Also, the Ubuntu Server will be supported for 5 years.


High end servers require special kernel configurations that cannot be enabled in our normal kernel, and which are not important to a normal user. We need specialized configurations to support these machines, and plan for long term support.

Use cases

  • Admin of a large data warehouse wants to install a minimal server oriented system, on a high-end 8-way NUMA system with 32Gigs of memory.
  • Company Big Systems is contracted to build an array of filesharing servers for another company. Big Systems doesn't want to spend a lot on maintaining and upgrading the machines, and wishes to support a system that has a 5 year lifetime.


Need to support the Server target on the Big Three architectures. Need to support as wide a variety of systems as possible. This includes variations of memory footprints, and CPU types (NUMA).


The debian-installer already supports a server target. This will be built on to include proper kernel selection. Most times, the user will have to select a specific kernel from the installer (detection for this is not as simple as i686, k7, smp).

Kernels will be built for high-end options:

  • Larger memory configurations, up to 64Gigs
  • More CPU's, depending on the architecture
  • High-end architecture, such as NUMA
  • Stripped of driver options that make no sense on a server (DRM, sound)


Kernel packages

  • Define the most common server configurations (memory layout, cpu, hardware).
  • Define which common drivers and options to enable for all these server kernels.
  • Create a minimal set of server configs that covers the majority of these configurations.
  • Once these images are being built, we will move on to TestingServerHardware

Support for the 5 year period will involve a team to maintain security and stability related patches for the past distros.

It is suggested that we base support off the same kernel that is being developed for the main desktop releases. This requires certain care in introducing changes in the kernel. All patches that are mainly for the desktop release (those that would adversely affect a server) need to be configurable using the kernels standard configuration mechanism.


The installer needs added logic to select a server kernel for server installs. Generally, it should be required that the admin doing the install is always asked which kernel to install (from a list of server targeted kernels).


Need test and build server for all kernel revisions.

CategorySpec CategoryKernel

KernelServerRoadmap (last edited 2008-08-06 16:38:07 by localhost)