Error compiling Kernel - multiple definition of `s3c_device_ts'

Tuxerito
Hi all.

I am trying to complile the Kernel to my board Mini6410, I am using de
source code including into the DVD(Mini6410A-20110112), version of kernel
it's 2.6.36.

With make menuconfig I checked in System type SMDK6410 and then I try to
complile using make but I got this error:

arch/arm/plat-samsung/built-in.o:(.data+0x1650): multiple definition of
`s3c_device_ts'
arch/arm/mach-s3c64xx/built-in.o:(.data+0x2d40): first defined here
make: *** [vmlinux.o] Error 1

If I select Mini6410 type I can compile it but when I try to run the Kernel
in the board I got a error Unsoported machine or sonthing like that.

How can I solve this problem?


Thanks.

open-nandra
Could you please post somewhere kernel source? I can take a look.

marek

Tuxerito
Hi open-nandra.

I am using the source include into a ISO image downloaded from the FTP of
this syte.

I upload the kernel source here
http://www.megaupload.com/?d=IA492G60

I am using the config_mini6410_n43 file(copy and rename to .config) then I
execute
make menuconfig
In the Genaral Setup I define the crooss-compiler 
arm-none-linux-gnueabi-(full path)
before I execute
make


When the Kernel it's ready I copy the zImage from arch/arm/boot/ to the SD.

This is the error using Mini6410 System type.
-------------------------------------------------------------------------
Running OS 'LINUX'
Loading kernel...

Load kernel succeed
Start Linux kernel...
Uncompressing Linux...
 done, booting the kernel.


Error: unrecognized/unsupported machine ID (r1 = 0x0000065a
).


Available machine support:


ID (hex)\0x09NAME

000009d8\0x09MINI6410


Please check your kernel config and/or bootloader.
-------------------------------------------------------------------------

I have compiled a previous version of the Kernel after  and I have not
problems but I want to test 2.6.36 version.


Thanks.
Sorry for bad English.

open-nandra
You need to update your bootloader. Bootloader pass to kernel wrong machine
ID (for SDK_6410) not for mini6410.

marek

Tuxerito
I update Superboot(Include into de ISO Image superboot-20101223.bin) and
now boot using the kernel 2.6.36.


I continue with the same error trying to load the root file system from the
SD.

Thanks open-nandra :)

SzakuN
Tuxerito, have you solved the problem with multiple definition of
`s3c_device_ts'?
I have the same problem - read6410, tiny, mini, etc works fine, but samsung
SMKD6410 gives this error.

Tuxerito
No, I have no solved that problem.

My problem was that I was trying to compile a newer version of the kernel
and I checked SDK_6410 target and the bootloader that I was using does not
boot the kernel becouse it was configured to use a Mini6410.

In previous version of the kernel include into de DVD, the target machine
was SDK_6410 and Superboot  was compile to that target(SDK_6410), so in the
new version the default target is Mini6410 and the new Superboot works with
Mini6410, then I was using a new version of kernel and old version of
Superboot, that was my problem.

Solution for my problem was update the old Superboot to the new version.


The error "Multiple definition of `s3c_device_ts'" was when I was using
SDK_6410 type, but before a change the target to Mini6410 and that error
does not appears.


Sorry for bad English.