The easiest way to get new images into your Emulab is to import them from Utah. In fact, when you setup your new Emulab, several standard images were imported during the install process. If you log into the web interface, click on the 'Experimentation' menu, and then click on 'List Images', you will see a small set of images, which include recent versions of Ubuntu, CentOS, and FreeBSD.
In general, these images should boot on most typical 64 bit x86 nodes. If
they do boot, most of the time it is simply missing drivers. If this turns
out to be a problem for you, it is a good idea to contact Utah via the
emulab-admins google group so we can help you out.
Note that we no longer support 32-bit OS images. If you have 32-bit only machines, then contact Utah. We have some older (Ubuntu 12, FreeBSD 8) images you could start with.
When we talk about images, we are referring to images created with Emulab's Frisbee disk imaging system. By (our) convention, these files end in .ndz. There are two basic types of images: whole-disk and partition.
Whole-disk images include an x86 DOS-style Master Boot Record (MBR) which includes a partition table describing one or more partitions on the disk. Each partition has a type, offset and size. The type is used by the imaging system to determine what OS is in the partition. These images are no longer supported.
Partition images include the contents of a single DOS partition. The important thing to understand here is that a partition image cannot be properly restored to a disk unless the disk already has a valid MBR which defines the partitions.
The current MBR layout (which we call Version 3), has one 18GB partition and one 3GB partition for swap. You can download this MBR from the Utah downloads directory at http://www.emulab.net/downloads/emulab-mbr3.dd
Note that at this time, booting with GPT partitions is not supported. Since we only support MBR on the boot disk, you will not be able to use more that 2TB of the boot disk.
Images in the database
The Emulab database has a record for each image in the system. In addition to the name of the image and its unique ID, it also contains info about whether it is a whole-disk image or not, what MBR version, and what OS is in each partition.
Once you have an initial set of images in the database, new images are
created through the web interface by customizing an existing image and
snapshot of disk after you have finished making your changes.
This is described below.
As mentioned above, you probably already have a set of images downloaded during the installation process. More images and new versions of images you already have are probably available from Utah. Contact Utah via the emulab-admins google group to find out the URL(s) you need for the image import process. Once you have that URL, you would do the following:
wap image_import -g URL_OF_IMAGE
A note about the URL; this points to an XML file that describes the image, and inside the XML is another URL, for the .ndz file (bucket of bits). The '-g' option says to go ahead and actually download the .ndz file. Once the ndz file is downloaded, you will be able to view the details on the 'List Images' web page.