LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 723|回复: 7

驱动编译

[复制链接]
发表于 2009-5-17 20:00:46 | 显示全部楼层 |阅读模式
我要在linux系统下编译驱动,生成模块加载,但是无法生成.o文件,我的操作步骤如下:
#cd ./Module
#make
出现错误:
rtmp_main C:74:warning:array'rtusb_usb_id'assumed to have one element
rtmp_type h.139:storage size of 'timer Obj'isn't known
rtmp_main C .74:storage size of 'rtusb_usb_id'isn't known
rtmp_main C.101:storage size of 'rtusb_driver'isn't known
rtmp.h:3094:warning:'RTUSBHardTransmit'decleared'static'but never definded
make :***[rtmp_main.o]Error 1
我的驱动Makefile文件如下:
CC :=cc

include ./config.mk

#Enable for wpa_supplicant's spcific driver "driver_ralink.c", default enabled.
HAS_RALINK_WPA_SUPPLICANT_SUPPORT=y

#Enable for wpa_supplicant's generic driver "driver_wext.c", used for NetworkManager
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

# Support Block Net-If during TxSw queue full.
HAS_BLOCK_NET_IF=y

WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs
#2007/12/11:KH add space after "ifeq"
ifeq ($(HAS_RALINK_WPA_SUPPLICANT_SUPPORT),y)
WFLAGS += -DRALINK_WPA_SUPPLICANT_SUPPORT
endif
#2007/12/11:KH add space after "ifeq"
ifeq ($(HAS_NATIVE_WPA_SUPPLICANT_SUPPORT),y)
WFLAGS += -DNATIVE_WPA_SUPPLICANT_SUPPORT
endif

ifeq ($(HAS_BLOCK_NET_IF),y)
WFLAGS += -DBLOCK_NET_IF
endif

CFLAGS := -D__KERNEL__ -I/usr/src/linux-2.4.22-1.2115.nptl/include -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=i686 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.22-1.2115.nptl/include/linux/modversions.h

## Comment/uncomment the following line to enable/disable debugging
CFLAGS += -DDBG

CFLAGS += $(WFLAGS)

OBJ = rt73.o

RT73OBJ := rtmp_main.o mlme.o connect.o rtusb_bulk.o rtusb_io.o sync.o assoc.o auth.o auth_rsp.o rtusb_data.o rtmp_init.o sanity.o rtmp_wep.o rtmp_info.o rtmp_tkip.o wpa.o md5.o

#2007/12/11:KH add space after "ifeq"
ifeq ($(HAS_NATIVE_WPA_SUPPLICANT_SUPPORT),y)
RT73OBJ += rtmp_wext.o
endif

ifeq ($(HAS_BLOCK_NET_IF),y)
RT73OBJ += netif_block.o
endif

rt73.o: $(RT73OBJ)
$(LD) -r $^ -o $@


## NDDIR/ifcfg-rausb0
ND_CONF=/etc/sysconfig/network-scripts/ifcfg-rausb0

ifdef NDDIR
NDDIR := $(NDDIR)
else
NDDIR := /etc/sysconfig/network-scripts
endif

ifdef MOD_CONF
MOD_CONF := $(MOD_CONF)
else
MOD_CONF := /etc/modules.conf
endif

ifdef MODDIR
MOD_ROOT := $(MODDIR)
else
MOD_ROOT := /lib/modules/$(shell uname -r)/extra
endif


all: $(OBJ)
@touch config.mk

clean:
rm -rf *.o *~ core .*.cmd *.ko *.mod.c .tmp_versions built-in.o

install:
@touch config.mk
install -m 755 -o 0 -g 0 -d $(MOD_ROOT)
install -m 644 -o 0 -g 0 $(OBJ) $(MOD_ROOT)

@echo "Network device directory $(NDDIR)";
@echo "Module configuration file $(MOD_CONF)";

@if [ -d "$(NDDIR)" ] ; then \
if [ ! -f "$(ND_CONF)" ]; then \
echo "Create 'ifcfg-rausb0' in $(NDDIR)/"; \
cp ifcfg-rausb0 $(NDDIR)/ ; \
fi; \
fi

@if ! grep -q 'rausb0' $(MOD_CONF) ; then \
echo "append 'alias rausb0 rt73' to $(MOD_CONF)"; \
echo "alias rausb0 rt73" >> $(MOD_CONF) ; \
fi
/sbin/depmod -a

# auto copy *.bin to /etc/Wireless/RT73STA
# mkdir /etc/Wireless ;
# mkdir /etc/Wireless/RT73STA ;
# cp $(shell pwd)/*.bin /etc/Wireless/RT73STA ;
# cp $(shell pwd)/*.dat /etc/Wireless/RT73STA ;

# Copy file on Mandriva 2007.1
# cp $(shell pwd)/*.bin /lib/firmware/ ;

config:
@touch config.mk
@./Configure

是不是Makefile文件有需要修改的地方还是我的系统需要配置什么,情高手赐教,多谢了,急!!!
发表于 2009-5-17 20:05:56 | 显示全部楼层
看不懂,帮你顶下。
回复 支持 反对

使用道具 举报

发表于 2009-5-17 21:54:22 | 显示全部楼层
感觉你的程序中加载的头文件少了,从错误信息上看,不是makefile的问题~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-18 08:49:43 | 显示全部楼层

驱动编译

什么程序的头文件少了,能具体点吗?谢啦!我也是第一次编译,不是很明白,谢谢!!!
回复 支持 反对

使用道具 举报

发表于 2009-5-18 09:16:55 | 显示全部楼层
你这好象是RT73 USB无线网卡的驱动。在里面的说明有详细安装说明的。记得选择正确的Makefile文件。一般TP-LINK和金浪用这个芯片的较多。
回复 支持 反对

使用道具 举报

发表于 2009-5-18 17:31:38 | 显示全部楼层
关注中,此帖留名
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-19 15:27:15 | 显示全部楼层
可能不是Makefile的问题,可能是我的系统的问题,但是我不知道我的系统配置有什么问题,有做过这方面的朋友吗?指点一下吧,这是我的毕设,第一步都没迈出去呢!哎...
回复 支持 反对

使用道具 举报

发表于 2009-5-20 09:24:39 | 显示全部楼层
RT73的驅動在F10的內核上已經有, 只需要安裝RT73的fireware即可.
如果非要自己編譯驅動, 請安裝開源的Daily更新版
http://rt2x00.serialmonkey.com/w ... 00_GIT_instructions
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表