[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: powerpc/sparc problems
From: |
Bean |
Subject: |
Re: powerpc/sparc problems |
Date: |
Sat, 24 Oct 2009 14:13:20 +0800 |
On Sat, Oct 24, 2009 at 4:34 AM, rubisher <address@hidden> wrote:
> Bean wrote:
>>
>> On Thu, Oct 22, 2009 at 5:12 PM, rubisher <address@hidden> 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 <address@hidden>
>>> Date: Wed Oct 21 01:11:27 2009 +0800
>>>
>>> Minor bug fix for parameter handling.
>>>
>>> commit 8a3390f0164c89e8ae73884672556a9b31cbd766
>>> Author: Bean <address@hidden>
>>> 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?)
Hi,
Don't include all modules, the boot image seems to be broken when it
exceed certain size. The following list should be enough:
minicmd fat part_msdos normal sh ls linux
in the grub shell, use ls command to list detected devices.
--
Bean
gitgrub home: http://github.com/grub/grub/
my fork page: http://github.com/bean123/grub/
Re: powerpc/sparc problems, rubisher, 2009/10/21
Re: powerpc/sparc problems, Felix Zielcke, 2009/10/28
Re: powerpc/sparc problems, rubisher, 2009/10/22