BB-xM: Kernel Panic after upgrading toolchain GCC from 4.3.2 to 4.4.5

Hi All,

I have a BeagleBoard-xM and have created a custom system based on:

I've successfully booted to a prompt, I've written up all the steps I
took here:

However, when I try to specify a newer gcc version in crosstool-ng I
get a kernel panic when init is started.

If I've understood correctly, gcc-4.3.2 does not allow armv7-a (cortex-
A8) to be specified as an architecture level. The BB-xM is a DM3730,
which is a cortex-A8 core. Therefore, I've tried with gcc-4.4.5 (the
highest non-experimental version of gcc available in crosstool-ng).
Unfortunately, with this gcc version, the kernel panics.

My questions are:
- Has anyone got a BB-xM booted with armv7-a/cortex-a8x specified as
the gcc architecture level with hardware FPU enabled? If so, what have
I missed?
- Can anyone suggest alternative toolchain & root filing systems tools
(other than openembedded)?

I've tried all sorts of combinations of settings with crosstool-ng and
buildroot, but without success. My only theory so far is a problem
with glibc; as far as I know, neither u-Boot or the kernel are
dependent on it so the system can boot until init is called.


You understood incorrectly, for the past 2 year 4.3.x has been used by angstrom to build armv7a binaries for beagle. Dunno what crosstool does to break the toolchain.

Hi Koen,
When using gcc 4.3.2, I had the architecture set to armv5te. I'm sure
when I tried changing this to armv7-a I got a error when gcc compiled
(which is why I ended up trying 4.4.5). I'll double check this.

Hi Koen,
I've just tried compiling gcc 4.3.5 (through crosstool-ng) with the
setting --with-arch=armv7-a, but I get a build error stating that it
is an unknown architecture. There are various other posts saying the
same for 4.3.x

Yes, that does seem quite conclusive! I think the subtle difference
here is the option you use to compile gcc in the first place and an
option used when using gcc to do the cross compilation.
Perhaps I need to be focusing on how buildroot uses '-march'