[Clfs-support] Oops booting a working kernel cross-compiled with CLFS cross-toolchain [SOLVED]

Andrew Bradford bradfa at gmail.com
Fri Apr 8 04:08:22 PDT 2011


On Fri, Apr 8, 2011 at 5:34 AM, Angel Ivan Castell Rovira
<al004140 at gmail.com> wrote:
>
> I have built a buildroot-based toolchain with the same package versions used
> in CLFS book, to compile my custom kernel (2.6.30.4)
>
> binutils-2.21
> gcc-4.5.2
> uClibc-0.9.31
>
> The kernel image generated with that toolchain also generated the Oops
> message reported yesterday building with CLFS toolchain. So, it was
> obviously not related with any missing CLFS patch...
>
> I tryied again a buildroot-based toolchain, but setting up with older
> version of gcc/binutils/uClibc packages. Just to test, I selected:
>
> binutils-2.20
> gcc-4.2.4
> uClibc-0.9.30
>
> And surprisingly (at least for me), the image of that kernel works fine, it
> does not generate any Oops message. It seems that not every version of gcc
> can build a working linux kernel. I'm curious to know why both
> cross-compilers generate a kernel image fine, but only one of the generated
> images runs fine on my platform. Does that have some sense to you?

Ivan,

Can you provide the entire boot up logs (both successful and
unsuccessful), either as a plain text attachments to a reply to this
thread or as pastebins?  The CLFS pastebin server is
http://pastebin.cross-lfs.org/

What version of the kernel headers are you using in your CLFS and
buildroot builds (both that work and don't work)?  You should _NOT_ be
using kernel headers that are newer than the kernel you are attempting
to boot.

For example, if you're booting a 2.6.30 kernel, use 2.6.30 or older
headers.  Don't use 2.6.36 headers like the embedded book says.  There
may be new functionality exposed by the headers that BusyBox or uClibc
want to use.  Since to the compiler (looking at newer headers you
installed) finds the functions that are exposed by the kernel, it'll
try to call them, but when you run an older kernel, that kernel
doesn't yet have said functionality and it'll be asked to do something
it doesn't know how to.  And proceed to kernel oops.

I'm not sure this is your problem, but it's worth ruling out.
-Andrew



More information about the Clfs-support mailing list