** Description changed: == Begin SRU Information == [General Description] Amazon's EC2 is a xen based cloud platform, the bootloader that is used is 'pvgrub'. pvgrub runs inside a xen instance, reads a /boot/grub/menu.lst file, and loads the kernels specified there. It does not support grub2 style configuration (/boot/grub/grub.cfg). Thus, we have installed inside cloud-images, a package named 'grub-legacy-ec2' that maintains /boot/grub/menu.lst. grub-legacy-ec2 does not simply assume all kernels are candidates for inclusion in /boot/grub/menu.lst. Instead, it has some very basic whitelist metrics. Those previously required a kernel to end in '-virtual'. In the development cycle of 12.10, the -virtual kernel went away. It is now simply a -generic kernel with a subset of modules. [Impact] - In 12.04, it is now supported to run a 12.10 "backports kernel". These new kernels will be named in the newer fashion, and will end in '-generic', rather than '-virtual'. As a result, grub-legacy-ec2's whitelist will not write entries for these kernels to /boot/grub/menu.lst. + In 12.04, it is now supported to run a 12.10 "enablement kernel" (https://wiki.ubuntu.com/Kernel/LTSEnablementStack). These new kernels will be named in the newer fashion, and will end in '-generic', rather than '-virtual'. As a result, grub-legacy-ec2's whitelist will not write entries for these kernels to /boot/grub/menu.lst. The end result is that the user who installs these kernels will not be able to easily boot them on EC2 (or other xen guest). [Test Case] - * Boot a cloud instance or cloud image - * install a backports kernel - * verify that kernel new kernel is included in /boot/grub/menu.lst - Previously the kernel would not be included there. + * Boot a cloud instance or cloud image + The daily build of a EC2 AMI id at http://cloud-images.ubuntu.com/server/precise/current/ is fine. + * install a backports kernel + sudo apt-get install linux-generic-lts-quantal + * verify that kernel new kernel is included in /boot/grub/menu.lst + Previously the kernel would not be included there. + Previously: + $ grep "3.5.[0-9]" /boot/grub/menu.lst || echo NOT_FOUND + NOT_FOUND + + But with new update-grub, it will be. + # enable proposed + $ echo "deb http://archive.ubuntu.com/ubuntu precise-proposed main" | + sudo tee /etc/apt/sources.list.d/proposed.list + $ sudo apt-get update + $ sudo apt-get install grub-legacy-ec2 + $ sudo update-grub-legacy-ec2 + $ grep "3.5.[0-9]" /boot/grub/menu.lst || echo NOT_FOUND + title Ubuntu 12.04.2 LTS, kernel 3.5.0-24-generic + kernel /boot/vmlinuz-3.5.0-24-generic root=LABEL=cloudimg-rootfs ro console=hvc0 + ... [Regression Potential] The biggest potential for regression would be in writing an entry to /boot/grub/menu.lst for a kernel that would not boot. There is protection against this in the included patch by checking the version number as well as the name. That amounts to: - dpkg --compare-versions ${ver_flavor%-generic} ge 3.4.0-3 && return 0;; + dpkg --compare-versions ${ver_flavor%-generic} ge 3.4.0-3 && return 0;; where 'ver_flavor' is the version as found in the file name of the kernel (ie, /boot/vmlinux-2.6.35-13-generic). == End SRU Information == Quantal stopped booting on EC2 around 2012-05-25. ben@padfoot:~$ ec2-get-console-output -i i-75727213 Required parameter 'INSTANCE' missing (-h for usage) ben@padfoot:~$ ec2-get-console-output i-75727213 i-75727213 2012-05-28T14:17:49+0000 Xen Minimal OS! start_info: 0xb10000(VA) nr_pages: 0x6a400 shared_inf: 0x001a5000(MA) pt_base: 0xb13000(VA) nr_pt_frames: 0x9 mfn_list: 0x967000(VA) mod_start: 0x0(VA) mod_len: 0 flags: 0x0 cmd_line: root=/dev/sda1 ro 4 stack: 0x946780-0x966780 MM: Init _text: 0x0(VA) _etext: 0x61e65(VA) _erodata: 0x76000(VA) _edata: 0x7b6d4(VA) stack start: 0x946780(VA) _end: 0x966d34(VA) start_pfn: b1f max_pfn: 6a400 Mapping memory range 0xc00000 - 0x6a400000 setting 0x0-0x76000 readonly skipped 0x1000 MM: Initialise page allocator for e6c000(e6c000)-0(6a400000) MM: done Demand map pfns at 6a401000-7a401000. Heap resides at 7a402000-ba402000. Initialising timer interface Initialising console ... done. gnttab_table mapped at 0x6a401000. Initialising scheduler Thread "Idle": pointer: 0x7a402008, stack: 0x6a030000 Initialising xenbus Thread "xenstore": pointer: 0x7a402478, stack: 0x6a040000 Dummy main: start_info=0x966880 Thread "main": pointer: 0x7a4028e8, stack: 0x6a050000 "main" "root=/dev/sda1" "ro" "4" vbd 2049 is hd0 ******************* BLKFRONT for device/vbd/2049 ********** backend at /local/domain/0/backend/vbd/126/2049 Failed to read /local/domain/0/backend/vbd/126/2049/feature-barrier. Failed to read /local/domain/0/backend/vbd/126/2049/feature-flush-cache. 16777216 sectors of 0 bytes ************************** vbd 2050 is hd1 ******************* BLKFRONT for device/vbd/2050 ********** backend at /local/domain/0/backend/vbd/126/2050 Failed to read /local/domain/0/backend/vbd/126/2050/feature-barrier. Failed to read /local/domain/0/backend/vbd/126/2050/feature-flush-cache. 312705024 sectors of 0 bytes ************************** vbd 2051 is hd2 ******************* BLKFRONT for device/vbd/2051 ********** backend at /local/domain/0/backend/vbd/126/2051 Failed to read /local/domain/0/backend/vbd/126/2051/feature-barrier. Failed to read /local/domain/0/backend/vbd/126/2051/feature-flush-cache. 1835008 sectors of 0 bytes ************************** [H[J Booting 'Ubuntu quantal (development branch), memtest86+' root (hd0) Filesystem type is ext2fs, using whole disk kernel /boot/memtest86+.bin xc_dom_probe_bzimage_kernel: kernel is not a bzImage ERROR Invalid kernel: xc_dom_find_loader: no loader found xc_dom_core.c:536: panic: xc_dom_find_loader: no loader found xc_dom_parse_image returned -1 Error 9: Unknown boot failure Press any key to continue...
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1005551 Title: update-grub-legacy-ec2 ignores kernels named -generic To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/1005551/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs