Note from: http://tech.groups.yahoo.com/group/ts-7000/message/11897 ======================================================================== Please note the OABI object file is typically used when building TS-7xxx kernels for Linux other than the TS-7800. The EABI object file is typically used for compiling TS-7800 kernels, and the PECOFF object file is typically used for WinCE. Also as promised a patch to the Makefile is below to build a SD card driver for the TS-7800. eddie@io:7800_kernel_patched$ diff -u /home/eddie/7800_kernel/drivers/mmc/Makefile drivers/mmc/Makefile --- /home/eddie/7800_kernel/drivers/mmc/Makefile 2007-10-15 11:21:26.000000000 -0700 +++ drivers/mmc/Makefile 2008-06-26 17:15:17.000000000 -0700 @@ -29,6 +29,12 @@ # SD Card driver for TS-ARM # obj-$(CONFIG_TS_SDCARD) += tssdcard.o +tssdcard-objs := sdblock.o tssdcore.o + +$(obj)/sdblock.o: $(obj)/tssdcard.c + echo "building sdblock.o" + $(call cmd,force_checksrc) + $(call if_changed_rule,cc_o_c) mmc_core-y := mmc.o mmc_sysfs.o mmc_core-$(CONFIG_BLOCK) += mmc_queue.o Don't forget to also modify your TS-7800 .config file. e.g. eddie@io:7800_kernel_patched$ diff -u /home/eddie/7800_kernel/arch/arm/configs/ts7800_defconfig .config --- /home/eddie/7800_kernel/arch/arm/configs/ts7800_defconfig 2008-06-10 02:52:08.000000000 -0700 +++ .config 2008-06-26 14:15:13.000000000 -0700 @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.21-ts -# Thu Jun 5 19:25:24 2008 +# Thu Jun 26 14:15:13 2008 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -1373,7 +1373,7 @@ # # MMC/SD Card support # -# CONFIG_TS_SDCARD is not set +CONFIG_TS_SDCARD=m # CONFIG_MMC is not set # As well as the default TS-7800 block driver to include the header file. e.g. eddie@io:7800_kernel_patched$ diff -u /home/eddie/7800_kernel/drivers/mmc/tssdcard.c drivers/mmc/tssdcard.c --- /home/eddie/7800_kernel/drivers/mmc/tssdcard.c 2008-06-06 10:26:17.000000000 -0700 +++ drivers/mmc/tssdcard.c 2008-06-26 13:50:21.000000000 -0700 @@ -61,9 +61,9 @@ #ifdef CONFIG_MACH_TS72XX #ifdef CONFIG_MACH_TS7350 -#include "tssdcore2.c" +#include "sdcore.h" #else -#include "tssdcore.c" +#include "sdcore.h" #endif #define DMA_ENABLE 1 @@ -123,7 +123,7 @@ #ifdef CONFIG_TS7800_PLATFORM -#include "tssdcore2.c" +#include "sdcore.h" #define DMA_ENABLE 1 #define THREAD_ENABLE 1 And finally don't forget to download the library(ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/binaries/ts-modules/s\ dcore/EABI/tssdcore2.o) and the header file(ftp://ftp.embeddedarm.com/ts-arm-sbc/ts-7800-linux/binaries/ts-modules/sdco\ re/sdcore.h) and put them in drivers/mmc/.