On 01.07.2011 08:57, Rock Cui wrote:
> Sorry,I am careless, my log file is not empty, please refer to the
> attachment.
>
I would also need another memory location for full diagnostics:
sudo dd if=/dev/mem of=tables bs=1 count=65536 skip=2146422784
Looking at the code, the only way it can hang AFAICT should be fixed by
attached patch (mostly guessing)
>
>> 1. I have tried the "--with-platform=multiboot" option, but when
>> booting it show me:
>> /*********************/
>> Welcome to GRUB!
>> out of memory
>> Aborted.
>> /*********************/
>> 2. The /dev/mem you need , how can I get it? I want it should be from
>> the "/" , then I must enter the ubuntu.
>> So I use the grub1.98 as coreboot payload and boot my ubuntu11.04.
>> But when I copy the /dev/mem to a log file with "sudo",
>> I was told “You can not do it!” : (
>>
>>
>>> On 30.06.2011 04:38, Cui Lei wrote:
>>>> I have found the the last version which can boot my machine, it is
>>>> the r2348. The r2349 can not boot it.
>>>> So I checked out the changelog from 2348 to 2349 :
>>>>
>>> Ironically I did it because i386-coreboot didn't work in my tests.
>>> Could
>>> you send me the first 128K of /dev/mem ? Meanwhile you can try
>>> i386-multiboot port.
>>>
>>> _______________________________________________
>>> Grub-devel mailing list
>>> Grub-devel@gnu.org
>>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>
>>
>> _______________________________________________
>> Grub-devel mailing list
>> Grub-devel@gnu.org
>> https://lists.gnu.org/mailman/listinfo/grub-devel
>>
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel


-- 
Regards
Vladimir 'φ-coder/phcoder' Serbinenko

=== modified file 'grub-core/kern/i386/coreboot/mmap.c'
--- grub-core/kern/i386/coreboot/mmap.c	2010-09-04 15:10:10 +0000
+++ grub-core/kern/i386/coreboot/mmap.c	2011-07-02 21:03:42 +0000
@@ -27,6 +27,7 @@
 {
   grub_linuxbios_table_header_t table_header;
   grub_linuxbios_table_item_t table_item;
+  int linked = 0;
 
   auto int check_signature (grub_linuxbios_table_header_t);
   int check_signature (grub_linuxbios_table_header_t tbl_header)
@@ -59,12 +60,13 @@
   for (; table_item->size;
        table_item = (grub_linuxbios_table_item_t) ((long) table_item + (long) table_item->size))
     {
-      if (table_item->tag == GRUB_LINUXBIOS_MEMBER_LINK
+      if (!linked && table_item->tag == GRUB_LINUXBIOS_MEMBER_LINK
          && check_signature ((grub_linuxbios_table_header_t) (grub_addr_t)
                              *(grub_uint64_t *) (table_item + 1)))
        {
          table_header = (grub_linuxbios_table_header_t) (grub_addr_t)
            *(grub_uint64_t *) (table_item + 1);
+	 linked = 1;
          goto signature_found;   
        }
       if (hook (table_item))

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to