[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

kernel cross-compile problem with embdebian's toolchain



Hello @list!

I have a pxa270 based custom board... I got a sdk for with toolchain with it and an old kernel source (with drivers to my custom board) which I can change and recompile...

I would like to compile a newer system to my board.
I would like to use a newer toolchain than the original, and I found the emdebian has a toolchain for ARM architecture.
I install it to a debian box... (I followed this: http://www.emdebian.org/tools/crosstools.html )
I compile a static "Hello world!" with the emdebian cross-gcc and it works properly on my board (it has an old preinstalled system)...
I recompile the old (original) kernel in emdebian toolchain and it works properly too...

After that, I ported the drivers to the latest stable mainline kernel and now I would like to compile it...

I compile the new kernel with the emdebian toolchain (the compilation were success) but it didn't start...
I got these errors when the kernel would like to start:
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

undefined instruction
pc : [<a040896c>]    lr : [<a1714e30>]
sp : a16bfcec  ip : 00000005  fp : 00000002
r10: 00000000  r9 : a16e04e0  r8 : a16bffdc
r7 : a1721bf8  r6 : a16c028e  r5 : a0000154  r4 : a000015a
r3 : a0008000  r2 : a0000100  r1 : 00000196  r0 : 00000000
Flags: Nzcv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...

resetting ...


BUT, when I compile the new kernel in the old (orig) toolchain it works!!!

Summary:
Old kernel recompile works both old toolchain and new toolchain...
New kernel recompile works only with the old toolchain...


The compilation steps which I used for the toolchains (uboot bootloader):
CROSS_COMPILE="/usr/bin/arm-linux-gnu-"
make ARCH=arm CROSS_COMPILE=$CROSS_COMPILE
${CROSS_COMPILE}objcopy -O binary -R .note -R .comment -S vmlinux linux.bin
gzip -9 linux.bin
mkimage -A arm -O linux -T kernel -C gzip -a 0xa0008000 -e 0xa0008000 -n "New kernel" -d linux.bin.gz  newkernel.img

So the questions are:
Where is the problem?
What is the problem?

Thanks,
Zachár Balázs


Reply to: