View previous topic :: View next topic |
Author |
Message |
bent Tux's lil' helper
Joined: 26 Mar 2003 Posts: 75 Location: New Zealand
|
Posted: Wed Apr 09, 2003 10:53 am Post subject: GCC3.2 doesn't work for kernels |
|
|
I understand, after a bit of scraping around the web, that GCC3.2 can't be used to compile kernels. Or rather it does compile them, but they won't boot.
Since I've got (as well as Gentoo 1.4) Gentoo 1.1 and Mandrake 7.1 I can boot into another OS and compile the kernel there, and this has worked. But I'd rather not keep it this way, so I can delete the other OS's when I'm totally comfortable with Gentoo (which I think rocks, thanks all).
So I ask: What are you guys doing to compile your kernels? It's not like you need to do it every day, but since I'm messing around at the moment, I'm doing it at least every week. Will do it again when my second processor arrives.
GCC3.2 has worked fine for everything else so far, except xfce. Can't remember the error at the moment, anyone else have success / woes compiling this? |
|
Back to top |
|
|
Weeve Retired Dev
Joined: 30 Oct 2002 Posts: 641
|
Posted: Wed Apr 09, 2003 11:09 am Post subject: |
|
|
Hiya bent,
I'm going to assume you're using a 32 bit sparc computer here (if not then just set me straight). You should have kgcc installed on your sparc, which is a stripped down gcc-2.95.3 and the last known good gcc at building 32 bit sparc kernels.
Now if you choose sparc-sources as your kernel, this should automatically use kgcc to build itself with and present you with a bootable kernel. If you decide to use vanilla-sources or download the kernel, you will have to manually adjust the Makefile in /path/to/kernel-source/arch/sparc to use kgcc.
Lemme know what happens. |
|
Back to top |
|
|
xming Guru
Joined: 02 Jul 2002 Posts: 441
|
Posted: Wed Apr 09, 2003 12:22 pm Post subject: |
|
|
bent: what kind of sun are you using?
xming |
|
Back to top |
|
|
bent Tux's lil' helper
Joined: 26 Mar 2003 Posts: 75 Location: New Zealand
|
Posted: Wed Apr 09, 2003 1:01 pm Post subject: ah! didn't know about kgcc |
|
|
Yep, it's a Sparc20, or should we say: "sun4m"
I am using sparc-sources, though I got vanilla-sources as well just to see.
a "grep kgcc /usr/src/linux/Makefile" turns up nothing(sparc src), should
HOSTGCC be set to kgcc here?
In any case, I'll try changing it to kgcc here, and see how it went in the
morning. (compiling gimp at the moment, 2nd try, toddler unplugged
sparc straight after I left for work...)
BTW: with gcc3.2 the kernel compiled fine, but the sparc did a "Watchdog
reset" straight after uncompressing the kernel.
Thanks for enlightening me of kgcc, presumably k stands for kernel. Thanks
also to all the Gentoo-Sparc devs, this is the best port I've used yet, even
iif it is on my clunkly old Sparc20.
Cheers
Ben |
|
Back to top |
|
|
Weeve Retired Dev
Joined: 30 Oct 2002 Posts: 641
|
Posted: Wed Apr 09, 2003 1:09 pm Post subject: |
|
|
Hello again bent,
Glad you like the port
sparc-sources-2.4.20-r8 should do the trick for compiling with kgcc. The mainlevel make file is not touched in the kernel source, but rather the arch specific one. If you were in /usr/src/linux, the path to that Makefile should be arch/sparc/Makefile.
If you've been having problems with sparc-sources-2.4.20-r8 then post a follow up and we will look into it.
Thanks |
|
Back to top |
|
|
bent Tux's lil' helper
Joined: 26 Mar 2003 Posts: 75 Location: New Zealand
|
Posted: Wed Apr 09, 2003 1:12 pm Post subject: |
|
|
Sorry Weeve, I didn't quite read you properly before replying.
Weeve wrote: |
Now if you choose sparc-sources as your kernel, this should automatically use kgcc to build itself with and present you with a bootable kernel. If you decide to use vanilla-sources or download the kernel, you will have to manually adjust the Makefile in /path/to/kernel-source/arch/sparc to use kgcc.
|
Ah, not ./Makefile but ./arch/sparc/Makefile..
I checked .../linux/arch/sparc/Makefile and found what looks to be right,
basically "if gcc -dumpversion is 2.95 CC=gcc otherwise CC=kgcc"
so it would seem it has actually been using kgcc all along (for arch specific
stuff anyway).
I checked that kgcc is actually on my machine, you're right, it's there and it's
2.95.3. So I'm stumped on this one. Is it alright to change HOSTCC=gcc
to kgcc in the top level Makefile?
Cheers
Ben |
|
Back to top |
|
|
Weeve Retired Dev
Joined: 30 Oct 2002 Posts: 641
|
Posted: Wed Apr 09, 2003 1:21 pm Post subject: |
|
|
Yeah, you can do that too. We put that hack in so that people transitioning from the default-sparc-1.0 profile to the default-sparc-1.4 profile wouldn't have to go in and change any settings to have to rebuild their kernels. |
|
Back to top |
|
|
bent Tux's lil' helper
Joined: 26 Mar 2003 Posts: 75 Location: New Zealand
|
Posted: Wed Apr 09, 2003 1:22 pm Post subject: |
|
|
Weeve wrote: |
If you've been having problems with sparc-sources-2.4.20-r8 then post a follow up and we will look into it. |
Well, haven't had problems if I boot into mandrake7.1 and compile it there, but if I compile on the gentoo system it won't boot off the kernel I made there.
Another thing I noticed yesterday, include/asm-sparc/linux_logo.h is not the same as it
is in asm-sparc64 and asm-x86. All this meant was the boot logo stuck as the default, no
matter what I chose, no big deal.
But anyway, I copied asm-sparc64/linux-logo.h over top of asm-sparc/linux_logo.h (actually
I moved the original out the way first, be safe) and it seemed to fix it.
Dunno if this is how it should be or not, but you seem to be the right person to talk to
about it.
Thanks Weeve! |
|
Back to top |
|
|
bent Tux's lil' helper
Joined: 26 Mar 2003 Posts: 75 Location: New Zealand
|
Posted: Thu Apr 10, 2003 2:19 am Post subject: It worked! |
|
|
I changed HOSTCC from gcc to kgcc in the top level makefile
and managed to compile a bootable kernel! So it seems not
enough to have it set in arch/sparc/Makefile at this point, though
I suspect if everyone with a 32bit sparc had to do this, I would
have heard about it before now.
Thanks again Weeve, I've named my current working kernel after
you, /boot/vmlinuz-weeve, /boot/System.map-weeve.
Cheers! |
|
Back to top |
|
|
bent Tux's lil' helper
Joined: 26 Mar 2003 Posts: 75 Location: New Zealand
|
Posted: Tue Apr 15, 2003 10:53 am Post subject: |
|
|
Ugh. Now I've ran into another problem. kgcc did a good job of the kernel, but when I compile with SMP support, at bootup I get a "fixup ... doesn't refer to a SETHI at ..."
Seen a few others with similar problems, and it's obviously sparc specific, but I'm not getting any joy. |
|
Back to top |
|
|
garlik42 n00b
Joined: 17 Dec 2002 Posts: 57 Location: Connecticut USA by the water ...
|
Posted: Thu Apr 17, 2003 8:16 pm Post subject: I am confused |
|
|
I have my sparc ultra 10 running a kernel compiled with gcc 3.2.2 and I have no issues. Is this a 64 bit / 32 bit issue. The machine boots fine, and runs fine. I had a great deal of trouble getting xfree 4.2.0 working with kde, but 4.3.0 works fine.
One other question, is an ultra 20 a 32 bit or 64 bit machine.
thanks |
|
Back to top |
|
|
bent Tux's lil' helper
Joined: 26 Mar 2003 Posts: 75 Location: New Zealand
|
Posted: Mon Apr 21, 2003 4:48 am Post subject: Re: I am confused |
|
|
garlik42 wrote: |
One other question, is an ultra 20 a 32 bit or 64 bit machine.
thanks |
Hi!
A Sun Ultra anything is a 64bit machine.
Ben |
|
Back to top |
|
|
Ferris Retired Dev
Joined: 13 Jan 2003 Posts: 426 Location: N. Virginia (USA)
|
Posted: Wed Jun 25, 2003 10:49 am Post subject: |
|
|
A couple comments/questions just to keep this going. Everything
refers to a sparc20 2xsun4m SMP (no problems with a U2 2xsun4u):
1. For bent-- I get the same thing with sparc sources 2.4.20-r8. I
am led to believe that '-r8' is known to be flakey on this (SS20SMP)
system, although the ISO distribution kernel pretty much works.
2. "emerge -puv system" wanted to install sparc-sources-2.4.21, so I
let it. This kernel wants to be built with gcc (not kgcc), or so it tries
to do. Result is "image too big" or the same "not SETHI"
Now, at some point I do need to build a new SMP kernel for this system,
so I'll start my question here: Just what kernel is recommended for this
system (SS20-SMP) |
|
Back to top |
|
|
Weeve Retired Dev
Joined: 30 Oct 2002 Posts: 641
|
Posted: Wed Jun 25, 2003 11:46 am Post subject: |
|
|
Hi Ferris et al,
For sparc32, use the sparc-sources-2.4.21-r1 kernel (currently marked unstable (~sparc)) or vanilla-sources-2.4.21. The 2.4.21 kernels can now build with gcc 3.2.x on sparc32 and sparc-sources-2.4.21-r1 fixes the "not SETHI" error (grsec related bug) when building an SMP kernel. |
|
Back to top |
|
|
Ferris Retired Dev
Joined: 13 Jan 2003 Posts: 426 Location: N. Virginia (USA)
|
Posted: Wed Jun 25, 2003 12:00 pm Post subject: |
|
|
Thanks for the feedback. I'm starting the process of trying it now, and
I'll let people know what happens. |
|
Back to top |
|
|
Ferris Retired Dev
Joined: 13 Jan 2003 Posts: 426 Location: N. Virginia (USA)
|
Posted: Wed Jun 25, 2003 6:49 pm Post subject: |
|
|
Thanks Weeve,
2.4.21-r1 builds fine, boots (after "strip vmlinux"), and seems to be
running.
(Too bad it doesn't solve my original problem, which was to
find out why an aggressive MP application using MPI runs fine on the U2
but gets random results --- SegFault being the favorite --- on the SS20 if
it uses more than one processor. It's got to be a library/kernel
synchronization problem peculiar to sun4m?--- Because sparc-v9 has
compare-and-swap for atomic operations??? But that's a question for a
different thread.)
Thanks again, |
|
Back to top |
|
|
|