On Sat, Oct 24, 2009 at 4:34 AM, rubisher <rubis...@scarlet.be> wrote: > Bean wrote: >> >> On Thu, Oct 22, 2009 at 5:12 PM, rubisher <rubis...@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 <bean12...@gmail.com> >>> Date: Wed Oct 21 01:11:27 2009 +0800 >>> >>> Minor bug fix for parameter handling. >>> >>> commit 8a3390f0164c89e8ae73884672556a9b31cbd766 >>> Author: Bean <bean12...@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?)
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/ _______________________________________________ Grub-devel mailing list Grub-devel@gnu.org http://lists.gnu.org/mailman/listinfo/grub-devel