~ubuntu-on-ec2/vmbuilder/automated-ec2-builds

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
This compressed tar archive contains files relevant to this machine image.
Each filename is prefixed by a constant string denoting release and
architecture information.  The prefix, for example, may be
'maverick-server-cloudimg-amd64', in which case files will be named like
  maverick-server-cloudimg-amd64.img
  maverick-server-cloudimg-amd64-vmlinuz-virtual

All or some of the following files may be present in the archive:

- <prefix>.img
  This file is an partition image.  It can be bundled, uploaded and
  registered to EC2, Eucalyptus or OpenStack as a Amazon Machine Image
  (ami/emi).

- <prefix>-disk1.img
  This is a qcow2 compressed disk image.  It can be uploaded to OpenStack
  or booted directly via kvm.  You should probably uncompress the image
  (qemu-img convert) before use in non-testing environment.

- <prefix>-uefi1.img
  This is a qcow2 compressed disk image that has GPT partitioning and a UEFI
  bootloader. It is bootable via UEFI, BIOS/GPT and PVGRUB (with support
  for GPT partition tables. It is bootable in OpenStack or directly via kvm.
  You should probably uncompress the images (qemu-img convert) before using
  it in a non-testing environment.

- <prefix>-root.tar.gz
  This is a compressed tar file containing the contents of the root
  filesystem.  Essentially, 'tar cpzf - /'.

- <prefix>-vmlinuz-virtual
  This is a Linux kernel.  It can be bundled, uploaded, and registered
  UEC as an Amazon Kernel Image (aki/eki).  The '-virtual' string
  represents the Ubuntu Linux package that this kernel came from.  It
  could potentially be '-server' or another string.

- <prefix>-initrd-virtual
  This is a Linux initrd.  It can be bundled, uploaded, and registered
  UEC as an Amazon Ramdisk Image (ari/eri). Not all images require an
  initrd, and thus this file may not be present.  If it is not present,
  then the image should be registered without a ramdisk.

- <prefix>-loader
  This file is a multiboot compliant image capable of loading the
  guest image. On UEC installs where the host operating system is 10.10 or
  later (LP: #611144), this can registered as a kernel (eki).
  It provides function similar to the Amazon released feature
  "Enabling User Provided Kernels".  When the loader is used to boot an
  instance, a kernel upgrade performed inside the instance will take
  affect on subsequent boots.

- <prefix>-floppy
  This file is a floppy disk image.  It is not useful or relevant to
  running inside of EC2 or UEC.
  The purpose of this file is to allow booting the <prefix>.img outside a cloud.
  To boot outside of a cloud environment (where a metadata service is not
  present), the following kvm command line can be used:
     kvm -boot a -fda <prefix>-floppy -drive file=<prefix>.img,if=virtio
  This is not necessary, and generally obsolete, if <prefix>-disk1.img is
  available.

Other notes:
- This tar file is constructed such that it can be easily
  bundled uploaded and registered using 'cloud-publish-tarball' as an admin
  by invoking
    cloud-publish-tarball tarfile.tar.gz my-bucket i386
  or, to use the loader file as
    cloud-publish-tarball --use-loader tarfile.tar.gz my-bucket i386
- The image file (.img) can be resized before uploading by using
  'cloud-resize-image', as:
    cloud-resize-image <prefix>.img 5G
  or, resized before uploading with cloud-publish-tarball by:
    cloud-publish-tarball --resize 5G tarfile.tar.gz my-bucket i386

   *Note*: in 11.10 and beyond, 'uec' as a prefix to the commands below is
      replaced with 'cloud'. So, 'cloud-publish-tarball' may be 'uec-publish-tarball'
      in your cloud-utils package. Just substitite accordingly.