All of lore.kernel.org
 help / color / mirror / Atom feed
From: rubisher <rubisher@scarlet.be>
To: The development of GRUB 2 <grub-devel@gnu.org>
Subject: Re: powerpc/sparc problems
Date: Fri, 23 Oct 2009 20:34:32 +0000	[thread overview]
Message-ID: <4AE21358.60906@scarlet.be> (raw)
In-Reply-To: <ca0f59980910220231udbf5cb5jf2a8043304e0130e@mail.gmail.com>

Bean wrote:
> On Thu, Oct 22, 2009 at 5:12 PM, rubisher <rubisher@scarlet.be> wrote:
>>> On Thu, Oct 22, 2009 at 12:03 AM, rubisher wrote:
>>>> Bean wrote:
>>>>> On Mon, Oct 12, 2009 at 4:55 PM, Felix Zielcke wrote:
>>>>>> David are you still there?
>>>>>> And also anyone who has access to a powerpc machine (and experience)?
>>>>>>
>>>>>> In Debian we the problem that the `__ashldi3' and `__bswapsi2' symbols
>>>>>> can't be found in the grub-ieee1275 build on powerpc and also sparc.
>>>>>>
>>>>>> Jordi already noticed this with the 1.96+20090721-4 IIRC and now other
>>>>>> people noticed this with 1.97~beta3
>>>>>> AFAICS there wasn't anything relevant changed on our side, so seems to
>>>>>> be a gcc issue.
>>>>>>
>>>>>> `__ashldi3' is listed in include/grub/powerpc/libgcc.h and
>>>>>> `__bswapsi2'
>>>>>> in the sparc64 header.
>>>>>> But something has now changed that this isn't enough anymore, at least
>>>>>> in Debian.
>>>>>>
>>>>>> We used gcc 4.3.3 at the time Jordi noticed this and now switched to
>>>>>> gcc-4.4.1.
>>>>>>
>>>>>> And David we still have this sparc bug open, which I forwared to
>>>>>> grub-devel:
>>>>>> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=538030
>>>>> Hi,
>>>>>
>>>>> Try my branch, it includes the libgcc functions in grub instead of
>>>>> rely on external library. It builds and run properly for
>>>>> powerpc-ieee1275 last time I check.
>>>>>
>>>> Hello Mr bean ;<)
>>>>
>>>> I reach to grab your git tree but even a fresh pull still failed to
>>>> build
>>>> from src as follow:
>>>> grub_emu-normal_main.o: In function `uitree_append':
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:169: undefined
>>>> reference to `grub_uitree_root'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:169: undefined
>>>> reference to `grub_uitree_root'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:169: undefined
>>>> reference to `grub_uitree_find'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:179: undefined
>>>> reference to `grub_uitree_create_node'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:184: undefined
>>>> reference to `grub_uitree_set_prop'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:185: undefined
>>>> reference to `grub_uitree_set_prop'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:186: undefined
>>>> reference to `grub_tree_add_child'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:172: undefined
>>>> reference to `grub_uitree_create_node'
>>>> /Sources/jso/Grub2.deb/grub2-git091021/normal/main.c:175: undefined
>>>> reference to `grub_tree_add_child'
>>>> collect2: ld returned 1 exit status
>>>> make[1]: *** [grub-emu] Error 1
>>>> make[1]: Leaving directory
>>>> `/Sources/jso/Grub2.deb/grub2-git091021/build/grub-common'
>>>> make: *** [build/grub-common] Error 2
>>>> dpkg-buildpackage: error: debian/rules build gave error exit status 2
>>>>
>>>> Any idea/advise?
>>> Hi,
>>>
>>> I forget to add some file for grub-emu previously, but it's fixed
>>> already, pull the latest code.
>>>
>>> --
>>> Bean
>>>
>>> gitgrub home: http://github.com/grub/grub/
>>> my fork page: http://github.com/bean123/grub/
>>>
>> Sorry I would have to be more accurate:
>> the git log said:
>> commit eb03e2575b2c0b1b4fd83f33a741f6fef3b93339
>> Author: Bean <bean123ch@gmail.com>
>> Date:   Wed Oct 21 01:11:27 2009 +0800
>>
>>     Minor bug fix for parameter handling.
>>
>> commit 8a3390f0164c89e8ae73884672556a9b31cbd766
>> Author: Bean <bean123ch@gmail.com>
>> Date:   Tue Oct 20 22:37:32 2009 +0800
>>
>>     Support dialog and template, set maximum text mode for EFI.
>>
>> Anyway, I remove all and clone it again:
>> git clone http://github.com/bean123/grub.git
>> copy this git tree in a working dir then run autogen.sh; mkdir build; cd
>> build; ../configure; make
>> which still failed the same way.
>>
>> Did i miss something???
> 
> Hi,
> 
> Oh I see, you use the powepc port, I only fix the x86 port. A quick
> fix is to open conf/powerpc_ieee1275.rmk, find grub_emu_SOURCES and
> add menu/tree.c and menu/uitree.c.
> 
> 
Thanks that's help to continue and to finish the build but failed to assemle the image:
/usr/bin/grub-mkelfimage --directory=/usr/lib/grub/powerpc-ieee1275 --output=/boot/grub/grub fat part_msdos
grub-mkimage: error: unresolved symbol _savegpr_29

But if I manage to rebuild it with -O0 (or -O2), I reach to boot it ;-).
But I guess there isn't enough module loaded because at grub prompt, it didn't find any disk?

That said by default the dpkg build the kern.img as follow:

# /usr/bin/grub-mkelfimage --directory=/usr/lib/grub/powerpc-ieee1275 --output=/boot/grub/grub fat part_msdos

and create for me a grub.cfg with severall menuentries like:
### BEGIN /etc/grub.d/10_linux ###
menuentry "Debian GNU/Linux, with Linux 2.6.30-2-powerpc64" {
         insmod ext2
         set root=(hd1,3)
         search --no-floppy --fs-uuid --set 16ef0754-c845-46e9-a948-b9669ee68329
         linux   /vmlinux-2.6.30-2-powerpc64 root=UUID=3c51c43e-63a7-4ff1-9b1c-cf98addcb7ed ro  quiet
         initrd  /initrd.img-2.6.30-2-powerpc64
}

Given those 2 elements, I presume that the fact grub2 isn't able to find any disk is because it lakes of one or more module 
either in the build image or in menuentry (I just started with grub2 2 weeks ago so please appology if don't yet understand 
all details)?

As it seems that you have some experience with powerpc, may be can you advise me with some your tips (how did you build your 
image, a sample of one your menuentry?): I also tried to follow recipe of <http://grub.enbug.org/TestingOnPowerPC> i.e.
# cd /usr/lib/grub/powerpc-ieee1275 (where *.mod stand)
# /usr/bin/grub-mkelfimage -n --directory=/usr/lib/grub/powerpc-ieee1275 --output=/boot/grub/grubof.modules *.mod
(-n for pseries) but this image sadely make panicing ofs:
DEFAULT CATCH!, exception-handler=fff00300
at   %SRR0: 0000000000c3c25c   %SRR1: 800000000000b002
Call History
------------
@  - c3c1f0
close-package  - c58060
(poplocals)  - c3a758
(init-program)  - c7e298
boot  - c7ec7c
evaluate  - c4a638
invalid pointer - d83655
invalid pointer - f
invalid pointer - f
catch  - c38fe8
bt-task-boot-on-this  - d140d8
(poplocals)  - c3a758
catch  - c38fe8
execute-device-method  - c58bcc
(poplocals)  - c3a758
(select-boot-seq)  - c59ba4

Client's Fix Pt Regs:
Client's Fix Pt Regs:
  00 00100000000001f4 ffffffffffffffff 00000000deadbeef fffffffffffffffc
  04 0000000000000000 0000000000000000 0000000000000000 0000000000000001
  08 0000000000001000 0000030002001000 0000000000000003 0000000000007000
  0c 0000000022800000 0000000000c17100 0000000000c18000 000000000009c4b0
  10 0000000000db8c20 0000000000db8939 0000000000c57d80 0000000000c58060
  14 0000000000000000 ffffffffffffffff 0000000000000000 0000000000000000
  18 0000000000c13000 0000000000c38000 0000000000c14d40 0000000000c16ec0
  1c 0000000000c20000 0000000000c3fdf0 0000000000c11ea0 0000000000c10fa8
Special Regs:
     %IV: 00000300     %CR: 84800000    %XER: 20000008  %DSISR: 08000000
   %SRR0: 0000000000c3c25c   %SRR1: 800000000000b002
     %LR: 0000000000c3c1f0    %CTR: 0000000000000000
    %DAR: ffffffffffffffff
Virtual PID = 0
  ofdbg

At this point I am worry that the change of optimization compile option (-Os -> -O0) break something or am I facing to some 
issue related to my ofs or something else in config file (e.g. I just figure out that I didn't change my grub.cfg with the 
usage of lasetest describe image grubof.modules: I didn't remove the 'insmod ext2', thought?)

Thanks again for all,
	J.

PS: This boxe is a P510 with latest IBM system firmware SF240_382






  reply	other threads:[~2009-10-23 20:34 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-22  9:12 powerpc/sparc problems rubisher
2009-10-22  9:31 ` Bean
2009-10-23 20:34   ` rubisher [this message]
2009-10-24  6:13     ` Bean
2009-10-25 15:22       ` rubisher
2009-10-25 15:57         ` Bean
2009-10-26 21:06           ` rubisher
2009-11-04 20:47           ` help need for powerpc issue rubisher
  -- strict thread matches above, loose matches on Subject: below --
2009-10-12  8:55 powerpc/sparc problems Felix Zielcke
2009-10-12  9:05 ` David Miller
2009-10-12  9:42   ` Felix Zielcke
2009-10-12  9:56   ` Vladimir 'phcoder' Serbinenko
2009-10-12 10:11     ` David Miller
2009-10-12 10:27     ` Felix Zielcke
2009-10-12  9:26 ` Vladimir 'phcoder' Serbinenko
2009-10-12  9:33 ` Felix Zielcke
2009-10-20 18:07   ` rubisher
2009-10-20 20:24     ` Vladimir 'phcoder' Serbinenko
2009-10-21 15:59       ` rubisher
2009-10-12  9:58 ` Bean
2009-10-12 10:14   ` David Miller
2009-10-12 10:26     ` Vladimir 'phcoder' Serbinenko
2009-10-12 10:28       ` David Miller
2009-10-12 15:29         ` Pavel Roskin
2009-10-12 15:45           ` Vladimir 'phcoder' Serbinenko
2009-10-12 22:03             ` Pavel Roskin
2009-10-12 23:39             ` David Miller
2009-10-15 11:58         ` Vladimir 'phcoder' Serbinenko
2009-10-15 22:41           ` Pavel Roskin
2009-10-16 12:44             ` David Miller
2009-10-16 14:10               ` Pavel Roskin
2009-10-17  1:21               ` Pavel Roskin
2009-10-17  9:08                 ` Vladimir 'phcoder' Serbinenko
2009-10-17 10:11                 ` Robert Millan
2009-10-12 10:31     ` Bean
2009-10-12 11:07       ` David Miller
2009-10-12 14:05         ` Bean
2009-10-14 16:37       ` Robert Millan
2009-10-21 16:03   ` rubisher
2009-10-21 20:15     ` Bean
2009-10-28 10:24 ` Felix Zielcke
2009-10-28 10:29   ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4AE21358.60906@scarlet.be \
    --to=rubisher@scarlet.be \
    --cc=grub-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.