[CentOS-devel] Building a custom 2.6.9 kernel

Fri Feb 3 20:22:19 UTC 2006
William L. Thomson Jr. <wlt at obsidian-studios.com>

On Fri, 2006-02-03 at 14:12 -0500, Jim Perrin wrote:
> On 2/3/06, William L. Thomson Jr. <wlt at obsidian-studios.com> wrote:
> > Greetings all,
> >
> > A little upset because of some very rude people in IRC, on freenode.net.
> > That accused me of trolling and made it so I can't say anything in the
> > channel. More on that later.
> 
> No. No more on that later. It was deserved. You failed to provide
> proper documentation of what you were doing and on what system in
> addition to not following the recommendations of the channel
> moderators.

Which could have been politely mentioned instead of silencing and later
booting.

>  Also, the irc channel is for centos support, not for
> supporting custom kernels on gentoo.

Well I am asking questions specific to the centos kernel compilation
using CentOS provided sources. Anytime I mentioned gentoo people got
upset, and I believe that really was the reasoning for the actions.

Also that I was differing on the package only being headers. Because if
it was only headers, I would not have been able to make the kernel I
made.

> 
> Assuming you really want to continue with this monstrosity, this is
> where you want to go, but there are literally 700 patches to the
> rhel/centos kernel. You'll need these for the kernel to build
> properly, at which point it will probably be incompatible with gentoo
> because of rhel specific requirements or expectations.

Yes, and seems they were properly applied in the
kernel-devel-2.6.9-22.EL.i686.rpm. Since when I patched and compiled a
kernel using the src.rpm, I had nothing but problems. First attempt
using the kernel dev rpm worked. So I was then trying to go to the next
step and get a x86_64 kernel built.

> > After messing with that for days, patches and all. I decided to give the
> > kernel-devel rpms a go. So I downloaded
> >
> > kernel-devel-2.6.9-22.EL.i686.rpm
> > kernel-devel-2.6.9-22.EL.x86_64.rpm
> 
> These are only the kernel headers. They won't help you.

You keep saying that, but they do contain a full source. I made a kernel
with this one kernel-devel-2.6.9-22.EL.i686.rpm. As offered on IRC, I
can do each command again, and pastebin the output.

I also provided links to the kernel I built using it, and the config?
So FACT is it's much more than headers, and does contain a complete
source, at least for i686.

> I really doubt this. The devel packages aren't all the source. It's
> just what you need to build against the kernel, not to build a new
> kernel.

Stop doubting, look for yourself, or attempt for yourself. rpm install
the package. Then move the sources to /usr/src. Copy my config into that
dir, and build a kernel. Just like I did.

> Your gentoo build system isn't what the rhel kernel expects. This
> isn't surprising.

Possibly, more than likely stuff is missing. And I confirmed that by
fetching a vanilla 2.6.9 kernel from kernel.org. Same problems in that
as in the src.rpm and kernel-devel rpm. However the missing stuff is
supposed to be within the kernel sources directory structure, not
available in the system.

> No. The kernel-devel package is new. It used to be kernel-source

Yes, and I am using it as I always have. But I am aware the recommended
way has changed.

> I keep logs of the channel activity. What you were asking is typical
> of the trolls we get.

I am not a troll, and had legitimate questions, one can choose to answer
or ignore. Never got an answer of it someone had successfully compiled a
x86_64 kernel using CentOS sources.

>  You're not paying anything for the distribution,
> and you're not RUNNING the distribution, you're building its kernel
> outside of its environment. I fail to see a driving need for us to
> offer help for that.

Neither am I paying on the gentoo side. I have asked way more CentOS/RH
specific questions in the Gentoo forum, and get no flack. They are not
claiming to be an enterprise community distro. Like CentOS, so there
should be a higher tolerance on CentOS. Seems there is not on the
channel and allot of bias attitudes.

Instead of focusing on actually help. Which one does not have to, the
moderators could have just ignored. Not like I was interrupting other
conversations, being rude, or using foul language.

Guess the irc channel is a dictatorship, with little room for freedom of
speech and choice.

> > Furthermore they were questioning what I did with the kernel-devel to
> > build a custom kernel in the first place. Since they claimed it to be
> > only headers not a full source? So I provided links and etc.
> >
> 
> We know what kernel-devel is. You can't build a kernel from it.

For the last time. I did. If you keep insisting it's impossible I will
gladly reproduce steps, and provide bash_history. Or do it yourself and
see. I am not lying or making this up. No point in that?

> These are two seperate kernel versions. You can't expect to mix and
> match between the two.  2.6.9.11 has been updated for security
> reasons. Running it means you'll be running a kernel with
> vulnerabilities.

Um, I am suing a 2.6.9-22 kernel just renaming it to 2.6.9-11 so the
binary driver will not bitch on modprobe or insmod. Look at the config
file and you will see I tag on the local revision.

However I have mentioned the security reasons to Adaptec, who only
offers binaries ATM for 2.6.9-11.EL

> Are you using the same build environment the kernel is expecting? Have
> you applied all the patches. Are you using actual kernel source
> instead of the -devel packages?

Tried the actual sources had patching problems. The kernel-devel package
was properly patched, and worked perfectly in x86 i686. Just not x86_64.

> Have you applied the patches. It's possible that the patches create
> the additional files you need. or that somewhere through this
> nightmare of a build process something failed silently or was
> excluded.

Actually I had the exact problem I am having by a particular patch.
Because I ran into it before when applying patches to the src rpm kernel
sources. I have considered using the src.rpm to reverse that patch out
of the x86_64 kernel-devel rpm. So I am leaning more to a patch causing
the problem than not. I find it hard to believe a vanilla 2.6.9 kernel
source would not compile a x86_64 kernel

> You should really be seeking help from within the gentoo community
> rather than trying to piece two drastically different distros
> together. This will only end badly for you. If it's running on another
> distro, why again should we assist your efforts?

I have, and they are doing their best to help. FYI, allot of the missing
stuff is there in the Gentoo kernel sources, and current vanilla ones.
So the problem is most deff CentOS/RH specific. So they can't help, thus
me starting by asking if anyone has build a custom x86_64 kernel on
centos.

> Our build process won't work for you. Our build environments are
> different from yours. Seek your assistance in the proper channels
> please.

Building a kernel in general relies very little on system, aside from
gcc, glibc, binutils, and kernel headers. Possible on the kernel headers
part? But most of what is needed is usually within the kernel sources.
System kernel headers are usually for other apps/drivers outside of the
kernel sources. To have access to the needed .h files to compile. But
most do it against the source of the version of the kernel you are
running.

> The resistance you encountered via irc was warranted. Why should we
> take on supporting other distros?

No and I am not asking anything Gentoo specific. I have seen others
running CentOS having similar problems. I was not asking for Gentoo
support. Only if someone had successfully built the a x86_84 kernel, adn
their steps.

> Sure you are. You're asking how to build our kernel on gentoo. You're
> not running our distro.

The basics of compiling a kernel are not distro specific. And all I am
asking about is the basics. Not the distros way of going about it.

> We don't have problems with questions that apply to centos. Yours
> applies to gentoo. Asking a gentoo question in #centos is akin to
> asking for a mcdonalds happy meal at a pizza shop.

I am not, I a asking why stuff is missing from CentOS sources? And what
others have done to get around that?

> 
> > Just how to get a custom x86_64 kernel built using CentOS 2.6.9-22
> > sources.
> I doubt this will work for you. Honestly. Trade in your hardware for
> something that works with your preferred distro instead of attempting
> this travesty. It'll save your sanity.

That's the easy way out, and atm do not have the $ otherwise I would.
But where there is  will there is a way. Thus me making the progress I
did with i686. Not just need to do the same for x86_64.


-- 
Sincerely,
William L. Thomson Jr.
Obsidian-Studios, Inc.
http://www.obsidian-studios.com