https://bugzilla.novell.com/show_bug.cgi?id=254316 ------- Comment #2 from vandrove@vc.cvut.cz 2007-03-14 18:11 MST ------- Hello Andrea, (un)fortunately kernel has control over where initrd is loaded - in arch/i386/boot/setup.S there is setupseg structure, and since header version 2.03 it contains ramdisk_max field, which is set to (-__PAGE_OFFSET-(512 << 20)-1) & 0x7FFFFFFF. Which for default PAGE_OFFSET of 0xC0000000 gives: (-3G - 512MB - 1) mod 2G = 1G - 512M - 1 = 512M - 1... And grub tries to load kernel as high as possible - so it is put directly below 512MB, in the middle of normal zone :-( I've also just figured out that if you boot kernel with vmalloc area over 512MB then it won't find initrd anymore as it expects initrd only in normal zone. So I was thinking that setting ramdisk_max to 128MB would be good idea, but then I realized that it would break >120MB initrds. So it seems that this bug has to be reassigned to grub to change its heuristic from 'load initrd to as high as possible' to something smarter, like 'load initrd at 64MB as log as it fits there, and if it won't fit then load it as high as possible'. BTW, you may be interested that when 'uppermem 40000' is passed to the grub then your 32bit products actually do work on systems with 63.996GB (65532MB) (I've found that 48GB+ configurations are not supported at all only after filling this bug, sorry about that...) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.