So, there is certainly a limit on the size of the compressed kernel + its init_size + the compressed initrd, and on this platform as you say it's a little under 64MB. However, I can't make this add up to a problem in this case, and I think there may be some double-counting going on in GRUB that exacerbates the problem.
I looked hard at how GRUB allocates memory for the initrd. The maximum address is capped to 0x37FFFFFF, thereby excluding the 0x40000000-0xABFFFFFF range that's available, so the effective available range per E820 data is 0x100000-0x3FEFFFF, minus what's already been allocated for the kernel. The minimum address is then taken as the target physical address of the kernel (0x1000000) plus its required init space (0x134F000) plus the initrd size. But the initrd is going to be allocated *above* this address. Why does it need to add the initrd size? The effect of this calculation is to limit the initrd size to about 15MB when it should be limited to about 30MB. You might like to try this patch: http://paste.ubuntu.com/1275848/ Beware that since it is nearly midnight here I've only minimally tested this. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1055686 Title: Ubuntu 12.10 cloud images do not full provision on Azure To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+bug/1055686/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs