[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: grub failure with mem > 8gb



Christophe Prud'homme <prudhomm@debian.org> writes:

> [ Monday 09 August 2004 17:23 ]
> | Hi
> | 
> | I just got an amd64/smp with 8GB of ram
> | the latest install iso worked perfect except that grub failed, I had to enter the master block
> | (/dev/sda) by hand in the intercace and it worked.
> | After the reboot, I get the grub menu and the error message that was previously mentionned on this 
> | list(I just subscribed today but checked the archives).
> | 
> | I read from an email last thursday from Goswin that
> | 
> | http://debian-amd64.alioth.debian.org/grub_0.95+cvs20040624-7.0.0.1.pure64.1_amd64.deb
> replying to myself
>
> I tested this package. here is what I get when I run it after 
> an install from CD + chroot /target+ add amd64 mirror to /etc/apt/sources.list+apt-get install grub

That would be 0.95+cvs20040624-7.0.0.2.pure64 or
0.95+cvs20040624-7.0.0.3.pure64 then. Earlierversions didn't have the
lines below. :)

Please check which one since the later should only print the lines on
error and the numbers don't match an error condition.

>> grub
> D: addr=0x555cd200
> D: mbi.mem_lower = 0x280
> D: RAW_ADDR (mbi.mem_lower * 10214) = 0x555f5000
> D: len = 0x1
> D: (addr - 0x100000) + len = 0x554cd201
> D: RAW_ADDR (0x1000) = 0x55556000 RAW_ADDR(0x100000)=0x55655000

Lets compare that to the code:

|  if ((addr < RAW_ADDR (0x1000))
  0x555cd200 < 0x55556000					=> false
|      || (addr < RAW_ADDR (0x100000)
     0x555cd200 < 0x55655000				   => true
|          && RAW_ADDR (mbi.mem_lower * 1024) < (addr + len))
                                   0x555f5000 < 0x555cd201 => false
                                                                => false
|      || (addr >= RAW_ADDR (0x100000)
     0x555cd200 >= 0x55655000                              => false
|          && RAW_ADDR (mbi.mem_upper * 1024) < ((addr - 0x100000) + len)))
                                   0x555f5000 < 0x554cd201 => false
                                                                => false
|    errnum = ERR_WONT_FIT;

errnum will NOT be set here. The later version should not print the
values.

> does that help ?

This confuses me even more.

Are you sure there is no 'D: ERR_WONT_FIT <number>' printed?

> In the bios the mttr is set to continuous (I tested discrete but it was the same, at least to me)
>
> PS btw when running lilo from cd install I see a seg fault. is that supposed to happen ?
> cu
> C.
> -- 
> Debian Developer 
> Scienfific computing packages maintainer
> Fingerprint = 3703 50DE 7A9F 024E 0F26  0D07 A18F B40B D4BE 1450

MfG
        Goswin



Reply to: