LinuxSir.cn,穿越时空的Linuxsir!

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

redflag 5.0下编译8139网卡驱动,安装出错(急!)

[复制链接]
发表于 2006-1-19 16:39:06 | 显示全部楼层 |阅读模式
编译通过了,有几个警告

但是insmod 8139too.o时就报错:Invalid module format

在4.0下安装是没问题的

应该是2.6内核与2.4内核差异造成的吧?有谁知道怎么解决,不胜感激!!!
发表于 2006-1-19 17:42:45 | 显示全部楼层
insmod 8139too.o
应该是
insmod 8139too.ko

2.6生成的kernel module后缀是ko,如果没有ko文件,哪就是编译失败.
也有可能驱动版本不对,不是for 2.6的.

ps:8139是最普通的网卡,linux内核不可能没有啊?不需要自己编译吧!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-19 19:06:14 | 显示全部楼层
我刚查了下发现2.6下的模块编译后是.ko文件,跟2.4不一样了,这Makefile 应该怎么写呢,能否给个例子?

我刚刚接触linux,是想自己编译的看下,这也是学习的过程

哪位能指教一下
回复 支持 反对

使用道具 举报

发表于 2006-1-21 13:19:49 | 显示全部楼层
cdemu  的 Makefile 中的编译内核模块部分,稍微改一下就可以用了吧.
  1. KERN_VER = $(shell uname -r)
  2. # lets try to get the kernel stuff from /lib/modules and if that
  3. # fails, lets fall back to /usr/src/linux
  4. ifeq (X$(KERN_DIR),X)
  5.         KERN_DIR = /lib/modules/$(KERN_VER)/build
  6.         ifeq ($(shell test -e $(KERN_DIR)/Makefile || echo yes),yes)
  7.                 KERN_DIR = /usr/src/linux
  8.         endif
  9. endif
  10. KERN_INC ?= $(KERN_DIR)/include
  11. KERN_MAJ = $(shell echo $(KERN_VER) | cut -b1-3 -)

  12. CC ?= gcc
  13. CFLAGS ?= -O2 -Wall
  14. CFLAGS += -I$(KERN_INC) -D__KERNEL__ -DMODULE -DKBUILD_MODNAME=cdemu

  15. all:
  16.         $(CC) $(CFLAGS) -c cdemu.c -o cdemu.o
  17.         $(KERN_DIR)/scripts/modpost $(KERN_DIR)/vmlinux cdemu.o
  18.         $(CC) $(CFLAGS) -c cdemu.mod.c -o cdemu.mod.o
  19.         ld -r -o cdemu.ko cdemu.o cdemu.mod.o
复制代码
回复 支持 反对

使用道具 举报

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

本版积分规则

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