Guten Tag,
Ich will die Treiber für meinen RT3062 WLAN Chip für ein Linux System kompilieren.
Ich brauch dazu ja die *-ko Dateien, damit ich diese dann nach /lib/_._.. kopieren kann, damit der Kernel diese erkennt.
Vom Hersteller kann man nur den source code runterladen und das Makefile von denen kompiliert mir nur die Object Dateien.
Wie muss ich das Makefile ändern damit der mir dieses KernelObject rausspuckt?
Hier mal der source:
__-ralinktech-com/support-php?s=2
Und hier das Makefile direkt:
RT28xx_MODE = STA
TARGET = LINUX
CHIPSET = 3562
#OS ABL - YES or NO
OSABL = NO
ifneq ($(TARGET),THREADX)
#RT28xx_DIR = home directory of RT28xx source code
RT28xx_DIR = $(shell pwd)
endif
RTMP_SRC_DIR = $(RT28xx_DIR)/RT$(CHIPSET)
#PLATFORM: Target platform
PLATFORM = PC
#PLATFORM = 5VT
#PLATFORM = IKANOS_V160
#PLATFORM = IKANOS_V180
#PLATFORM = SIGMA
#PLATFORM = SIGMA_8622
#PLATFORM = INIC
#PLATFORM = STAR
#PLATFORM = IXP
#PLATFORM = INF_TWINPASS
#PLATFORM = INF_DANUBE
#PLATFORM = INF_AR9
#PLATFORM = INF_VR9
#PLATFORM = BRCM_6358
#PLATFORM = INF_AMAZON_SE
#PLATFORM = CAVM_OCTEON
#PLATFORM = CMPC
#PLATFORM = RALINK_2880
#PLATFORM = RALINK_3052
#PLATFORM = SMDK
#PLATFORM = RMI
#PLATFORM = RMI_64
#PLATFORM = KODAK_DC
#PLATFORM = DM6446
#PLATFORM = FREESCALE8377
#PLATFORM = BL2348
#PLATFORM = BLUBB
#PLATFORM = BLPMP
#PLATFORM = MT85XX
#PLATFORM = NXP_TV550
#PLATFORM = MVL5
#RELEASE Package
RELEASE = DPO
ifeq ($(TARGET),LINUX)
MAKE = make
endif
ifeq ($(TARGET), UCOS)
MAKE = make
endif
ifeq ($(TARGET),THREADX)
MAKE = gmake
endif
ifeq ($(PLATFORM),5VT)
LINUX_SRC = /project/stable/5vt/ralink-2860-sdk/linux-2_6_17
CROSS_COMPILE = /opt/crosstool/uClibc_v5te_le_gcc_4_1_1/bin/arm-linux-
endif
ifeq ($(PLATFORM),IKANOS_V160)
LINUX_SRC = /home/sample/projects/LX_2618_RG_5_3_00r4_SRC/linux-2_6_18
CROSS_COMPILE = mips-linux-
endif
ifeq ($(PLATFORM),IKANOS_V180)
LINUX_SRC = /home/sample/projects/LX_BSP_VX180_5_4_0r1_ALPHA_26DEC07/linux-2_6_18
CROSS_COMPILE = mips-linux-
endif
ifeq ($(PLATFORM),SIGMA)
LINUX_SRC = /root/sigma/smp86xx_kernel_source_2_7_172_0/linux-2_6_15
CROSS_COMPILE = /root/sigma/smp86xx_toolchain_2_7_172_0/build_mipsel_nofpu/staging_dir/bin/mipsel-linux-
endif
ifeq ($(PLATFORM),SIGMA_8622)
LINUX_SRC = /home/snowpin/armutils_2_5_120_1/build_arm/linux-2_4_22-em86xx
CROSS_COMPILE = /home/snowpin/armutils_2_5_120_1/toolchain/bin/arm-elf-
CROSS_COMPILE_INCLUDE = /home/snowpin/armutils_2_5_120_1/toolchain/lib/gcc-lib/arm-elf/2_95_3
endif
ifeq ($(PLATFORM),INIC)
UCOS_SRC = /opt/uCOS/iNIC_rt2880
CROSS_COMPILE = /usr/bin/mipsel-linux-
endif
ifeq ($(PLATFORM),STAR)
LINUX_SRC = /opt/star/kernel/linux-2_4_27-star
CROSS_COMPILE = /opt/star/tools/arm-linux/bin/arm-linux-
endif
ifeq ($(PLATFORM),RMI)
LINUX_SRC = /opt/rmi/1_7_0/linux/src/
CROSS_COMPILE = /opt/rmi/1_7_0/mipscross/nptl/bin/mips64-unknown-linux-gnu-
endif
ifeq ($(PLATFORM),RMI_64)
LINUX_SRC = /opt/rmi/1_7_0/linux_64/src/
CROSS_COMPILE = /opt/rmi/1_7_0/mipscross/nptl/bin/mips64-unknown-linux-gnu-
endif
ifeq ($(PLATFORM), RALINK_2880)
LINUX_SRC = /project/stable/RT288x/RT288x_SDK/source/linux-2_4_x
CROSS_COMPILE = /opt/buildroot-gdb/bin/mipsel-linux-
endif
ifeq ($(PLATFORM),RALINK_3052)
LINUX_SRC = /home/snowpin/RALINK_SDK_v3410/RT288x_SDK/source/linux-2_6_21_x
CROSS_COMPILE = /opt/buildroot-gcc342/bin/mipsel-linux-uclibc-
endif
ifeq ($(PLATFORM),FREESCALE8377)
LINUX_SRC = /opt/ltib-mpc8377_rds-20090309/rpm/BUILD/linux-2_6_25
CROSS_COMPILE = /opt/freescale/usr/local/gcc-4_2_187-eglibc-2_5_187/powerpc-linux-gnu/bin/powerpc-linux-gnu-
endif
ifeq ($(PLATFORM),BL2348)
LINUX_SRC = /home/sample/Customers/BroadLight/bl234x-linux-2_6_21-small-v29
CROSS_COMPILE = mips-wrs-linux-gnu-
endif
ifeq ($(PLATFORM),BLUBB)
LINUX_SRC = /home/sample/Customers/BroadLight/UBB/gmp20/linux-2_6_21-small
CROSS_COMPILE = mips-wrs-linux-gnu-
endif
ifeq ($(PLATFORM),BLPMP)
LINUX_SRC = /home/sample/Customers/BroadLight/UBB/pmp16/bl234x-linux-2_6_21-small-v30_2
CROSS_COMPILE = mips-wrs-linux-gnu-
endif
ifeq ($(PLATFORM),PC)
# Linux 2_6
LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2_4 Change to your local setting
#LINUX_SRC = /usr/src/linux-2_4
LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/
CROSS_COMPILE =
endif
ifeq ($(PLATFORM),IXP)
LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux-2_6_x
CROSS_COMPILE = arm-linux-
endif
ifeq ($(PLATFORM),INF_TWINPASS)
# Linux 2_6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2_4 Change to your local setting
LINUX_SRC = /project/stable/twinpass/release/2_0_1/source/kernel/opensource/linux-2_4_31/
CROSS_COMPILE = mips-linux-
endif
ifeq ($(PLATFORM),INF_DANUBE)
LINUX_SRC = /opt/danube/sdk/linux-2_6_16_x
CROSS_COMPILE = mips-linux-
ROOTDIR = /opt/danube/sdk
export ROOTDIR
endif
ifeq ($(PLATFORM),INF_AR9)
LINUX_SRC = /root/ar9/xR9_BSP1_2_2_0/source/kernel/opensource/linux-2_6_20/
CROSS_COMPILE = /root/ar9/ifx-lxdb26-1_0_2/gcc-3_4_4/toolchain-mips/bin/
endif
ifeq ($(PLATFORM),INF_VR9)
LINUX_SRC = /home/public/lantiq/VR9/UGW-4_2/build_dir/linux-ifxcpe_platform_vr9/linux-2_6_20_19
CROSS_COMPILE = /home/public/lantiq/VR9/UGW-4_2/staging_dir/toolchain-mips_gcc-3_4_6_uClibc-0_9_29/bin/mips-linux-
endif
ifeq ($(PLATFORM),BRCM_6358)
LINUX_SRC =
CROSS_COMPILE =
endif
ifeq ($(PLATFORM),INF_AMAZON_SE)
# Linux 2_6
#LINUX_SRC = /lib/modules/$(shell uname -r)/build
# Linux 2_4 Change to your local setting
LINUX_SRC = /backup/ifx/3_6_2_2/source/kernel/opensource/linux-2_4_31
#CROSS_COMPILE = mips-linux-
#LINUX_SRC = /project/Infineon/3_6_2_2/source/kernel/opensource/linux-2_4_31
CROSS_COMPILE = /opt/uclibc-toolchain/ifx-lxdb-1-2-3-external/gcc-3_3_6/toolchain-mips/R0208V35/mips-linux-uclibc/bin/
endif
ifeq ($(PLATFORM),ST)
LINUX_SRC = /opt/STM/STLinux-2_2/devkit/sources/kernel/linux0039
CROSS_COMPILE = /opt/STM/STLinux-2_2/devkit/sh4/bin/sh4-linux-
ARCH := sh
export ARCH
endif
ifeq ($(PLATFORM),CAVM_OCTEON)
OCTEON_ROOT = /usr/local/Cavium_Networks/OCTEON-SDK
LINUX_SRC = $(OCTEON_ROOT)/linux/kernel_2_6/linux
CROSS_COMPILE = mips64-octeon-linux-gnu-
endif
ifeq ($(PLATFORM),CMPC)
LINUX_SRC = /opt/fvt_11N_SDK_0807/fvt131x_SDK_11n/linux-2_6_17
CROSS_COMPILE =
endif
ifeq ($(PLATFORM),SMDK)
LINUX_SRC = /home/bhushan/itcenter/may28/linux-2_6-samsung
CROSS_COMPILE = /usr/local/arm/4_2_2-eabi/usr/bin/arm-linux-
endif
ifeq ($(PLATFORM),KODAK_DC)
SKD_SRC = C:/SigmaTel/DC1250_SDK_v1-9/sdk
CROSS_COMPILE = $(cc)
endif
ifeq ($(PLATFORM),DM6446)
LINUX_SRC = /home/fonchi/work/soc/ti-davinci
endif
ifeq ($(PLATFORM),MT85XX)
LINUX_SRC = /home/john/MTK/BDP_Linux/linux-2_6_27
CROSS_COMPILE = armv6z-mediatek-linux-gnueabi-
endif
ifeq ($(PLATFORM),NXP_TV550)
LINUX_SRC = /data/tv550/kernel/linux-2_6_28_9
LINUX_SRC_MODULE = /data/tv550/kernel/linux-2_6_28_9/drivers/net/wireless
CROSS_COMPILE = /opt/embeddedalley/nxp_tv550/bin/mipsel-linux-
endif
ifeq ($(PLATFORM),MVL5)
LINUX_SRC = /home2/charlestu/AP-VT3426/linux-2_6_18
CROSS_COMPILE = /opt/montavista/pro/devkit/arm/v5t_le_mvl5/bin/arm_v5t_le-
endif
export OSABL RT28xx_DIR RT28xx_MODE LINUX_SRC CROSS_COMPILE CROSS_COMPILE_INCLUDE PLATFORM RELEASE CHIPSET RTMP_SRC_DIR LINUX_SRC_MODULE TARGET
# The targets that may be used.
PHONY += all build_tools test UCOS THREADX LINUX release prerelease clean uninstall install libwapi osabl
ifeq ($(TARGET),THREADX)
all: $(TARGET)
else
all: build_tools $(TARGET)
endif
build_tools:
$(MAKE) -C tools
$(RT28xx_DIR)/tools/bin2h
test:
$(MAKE) -C tools test
UCOS:
$(MAKE) -C os/ucos/ MODE=$(RT28xx_MODE)
echo $(RT28xx_MODE)
THREADX:
$(MAKE) -C $(RT28xx_DIR)/os/Threadx -f $(RT28xx_DIR)/os/ThreadX/Makefile
LINUX:
ifneq (,$(findstring 2_4,$(LINUX_SRC)))
ifeq ($(OSABL),YES)
cp -f os/linux/Makefile_4-util $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(RT28xx_DIR)/os/linux/
endif
cp -f os/linux/Makefile_4 $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(RT28xx_DIR)/os/linux/
ifeq ($(OSABL),YES)
cp -f os/linux/Makefile_4-netif $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(RT28xx_DIR)/os/linux/
endif
ifeq ($(RT28xx_MODE),AP)
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap_o /tftpboot
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap_o /tftpboot
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap_o /tftpboot
endif
ifeq ($(PLATFORM),INF_AMAZON_SE)
cp -f /tftpboot/rt2870ap_o /backup/ifx/build/root_filesystem/lib/modules/2_4_31-Amazon_SE-3_6_2_2-R0416_Ralink/kernel/drivers/net
endif
else
ifeq ($(RT28xx_MODE),APSTA)
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta_o /tftpboot
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta_o /tftpboot
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta_o /tftpboot
endif
else
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta_o /tftpboot
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta_o /tftpboot
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta_o /tftpboot
endif
endif
endif
else
ifeq ($(OSABL),YES)
cp -f os/linux/Makefile_6-util $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
endif
cp -f os/linux/Makefile_6 $(RT28xx_DIR)/os/linux/Makefile
ifeq ($(PLATFORM),DM6446)
$(MAKE) ARCH=arm CROSS_COMPILE=arm_v5t_le- -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
else
ifeq ($(PLATFORM),FREESCALE8377)
$(MAKE) ARCH=powerpc CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
else
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
endif
endif
ifeq ($(OSABL),YES)
cp -f os/linux/Makefile_6-netif $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
endif
ifeq ($(RT28xx_MODE),AP)
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap-ko /tftpboot
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap-ko /tftpboot
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap-ko /tftpboot
endif
rm -f os/linux/rt$(CHIPSET)ap-ko-lzma
/root/bin/lzma e os/linux/rt$(CHIPSET)ap-ko os/linux/rt$(CHIPSET)ap-ko-lzma
else
ifeq ($(RT28xx_MODE),APSTA)
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta-ko /tftpboot
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta-ko /tftpboot
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta-ko /tftpboot
endif
else
cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta-ko /tftpboot
ifeq ($(OSABL),YES)
cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta-ko /tftpboot
cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta-ko /tftpboot
endif
endif
endif
endif
release:
ifeq ($(TARGET), LINUX)
$(MAKE) -C $(RT28xx_DIR)/striptool -f Makefile-release clean
$(MAKE) -C $(RT28xx_DIR)/striptool -f Makefile-release
striptool/striptool-out
ifeq ($(RELEASE), DPO)
gcc -o striptool/banner striptool/banner_c
_/striptool/banner -b striptool/copyright-gpl -s DPO/ -d DPO_GPL -R
_/striptool/banner -b striptool/copyright-frm -s DPO/include/firmware_h -d DPO_GPL/include/firmware_h
endif
endif
prerelease:
ifeq ($(CHIPSET), 2880)
$(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile-release_2880 prerelease
else
$(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile-release prerelease
endif
cp $(RT28xx_DIR)/os/linux/Makefile-DPB $(RTMP_SRC_DIR)/os/linux/.
cp $(RT28xx_DIR)/os/linux/Makefile-DPA $(RTMP_SRC_DIR)/os/linux/.
cp $(RT28xx_DIR)/os/linux/Makefile-DPC $(RTMP_SRC_DIR)/os/linux/.
ifeq ($(RT28xx_MODE),STA)
cp $(RT28xx_DIR)/os/linux/Makefile-DPD $(RTMP_SRC_DIR)/os/linux/.
cp $(RT28xx_DIR)/os/linux/Makefile-DPO $(RTMP_SRC_DIR)/os/linux/.
endif
clean:
ifeq ($(TARGET), LINUX)
ifneq (,$(findstring 2_4,$(LINUX_SRC)))
cp -f os/linux/Makefile_4 os/linux/Makefile
else
cp -f os/linux/Makefile_6 os/linux/Makefile
endif
$(MAKE) -C os/linux clean
rm -rf os/linux/Makefile
endif
ifeq ($(TARGET), UCOS)
$(MAKE) -C os/ucos clean MODE=$(RT28xx_MODE)
endif
uninstall:
ifeq ($(TARGET), LINUX)
ifneq (,$(findstring 2_4,$(LINUX_SRC)))
$(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile_4 uninstall
else
$(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile_6 uninstall
endif
endif
install:
ifeq ($(TARGET), LINUX)
ifneq (,$(findstring 2_4,$(LINUX_SRC)))
$(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile_4 install
else
$(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile_6 install
endif
endif
libwapi:
ifneq (,$(findstring 2_4,$(LINUX_SRC)))
cp -f os/linux/Makefile-libwapi_4 $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(RT28xx_DIR)/os/linux/
else
cp -f os/linux/Makefile-libwapi_6 $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
endif
osabl:
ifeq ($(OSABL),YES)
ifneq (,$(findstring 2_4,$(LINUX_SRC)))
cp -f os/linux/Makefile_4-util $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(RT28xx_DIR)/os/linux/
cp -f os/linux/Makefile_4-netif $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(RT28xx_DIR)/os/linux/
else
cp -f os/linux/Makefile_6-util $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
cp -f os/linux/Makefile_6-netif $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules
endif
endif
libautoprovision:
rm -f os/linux/lib_a
cp -f os/linux/Makefile-libautoprovision_6 $(RT28xx_DIR)/os/linux/Makefile
$(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux
# Declare the contents of the -PHONY variable as phony. We keep that information in a variable
-PHONY: $(PHONY)
merci