32bit pv-grub won't boot
When I try booting, the dashboard displays a largely unhelpful error ("Linode failed to boot for unknown reason."). logview from LISH is slightly more illuminating, but I'm still at a loss:
Showing last 100 lines from current boot ----------------------------------------- Xen Minimal OS! start_info: 0xacc000 nr_pages: 368640 shared_inf: cf1f1000 pt_base: 0xacf000 mod_start: 0x0 mod_len: 0 flags: 0x0 cmd_line: (hd0)/boot/grub/menu.lst stack: 0x943780-0x963780 MM: Init _text: 0x0 _etext: 0x5f0ca _erodata: 0x73000 _edata: 0x786d4 stack start: 0x943780 _end: 0x963d14 start_pfn: adb max_pfn: 5a000 Mapping memory range 0xc00000 - 0x5a000000 setting 0x0-0x73000 readonly skipped 0x1000 MM: Initialise page allocator for da6000(da6000)-0(5a000000) MM: done Demand map pfns at 5a001000-da001000. Heap resides at da002000-1a002000. Initialising timer interface Initialising console ... done. gnttab_table mapped at 0x5a001000. Initialising scheduler Heap exhausted: 0xda002000 + 480 = 0xda002480 > 0x1a002000 Heap exhausted: 0xda002000 + b80 = 0xda002b80 > 0x1a002000 Page fault at linear address 0x4, eip 0x519fd, regs 0x95fea8, sp 0x77da0, our_sp 0x95fe88, code 2 Page fault in pagetable walk (access to invalid memory?).
I tried moving menu.lst/grub.conf out of the way in hopes of getting a grub prompt; no joy, same result. This implies some more fundamental problem than a bad kernel or me fat-fingering the configuration.
Just for completeness, I then tried booting pv-grub-x86_64. Oddly enough, this works, in so much as it actually boots to a grub prompt. I can even point it at my kernel (though of course it won't actually boot since the kernel is 32bit).
Ideas please, anyone?
How much memory are you allocating to pv_grub? There's a bug where it won't boot with more than 1024MB of RAM. I have a patch, but I haven't applied it yet.
Ah-hah! I was just using my full 1440MB. I set it to 1023MB and it came right up.
My VM doesn't usually get pushed hard on RAM (and I don't even expect to need this kernel for very long), so this should be OK for now.