Summary

The ubuntu cloud images (both for uec and ec2) should not require a ramdisk. The list of hardware that is needed to be supported is very small, and support should exist in the kernel for ramdisk-less boot. Removing use of a ramdisk simplifies things from a maintenance perspective and also speeds up boot.

Release Note

The UEC images running in ec2 and on UEC no longer require a ramdisk for boot. This translates to more free space in the images and faster boots.

Rationale

For the supported clouds (UEC and EC2) our provided kernels can be made such that no ramdisk is required. In Karmic, we're producing a ramdisk per disk image. That was because the ramdisk has bits of the filesystem that it was created in. Now, we'll not have to have that complexity, the complete set of parts for a AMI will be kernel and filesystem image.

User stories

This is not really a user-centric feature, but:

Assumptions

Design

Design is pretty simple. The builds of UEC images will no longer have ramdisks inside them, and published builds to ec2 will not have ramdisks associated with them.

Implementation

I think the most correct way to implement this would be to put a configuration option in /etc/kernel-img.conf that said "do not create ramdisks". However, that doesn't seem to be an option there. Instead, the "initrd" setting (see /var/lib/dpkg/info/linux-image-2.6.*.postinst) is per-kernel-package.

The suggested fix, then is to remove the initrd files from /boot in vmbuilder post install script. That way, the 'copy-out-kernels' functionality will not find a ramdisk and will not associate one in the ec2 published builds.

Code Changes

There is likely assumptions of a ramdisk made in different places:

Test/Demo Plan

These changes will be inherently tested by testing of UEC images or EC2 images. They simply wouldn't boot if this was done incorrectly.

The only needed test really is verifying that there is no ramdisk included.

Unresolved issues

Status

BoF agenda and discussion

Notes

I verified that system boots fine on lucid using the karmic kernel, with no ramdisk:


CategorySpec

ServerLucidCloudKernelRamdisk (last edited 2009-12-01 19:49:29 by d14-69-66-169)