LinuxSir.cn,穿越时空的Linuxsir!

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

2。6kernel 的模块编译的问题

[复制链接]
发表于 2005-7-12 17:30:43 | 显示全部楼层 |阅读模式
最近作ppc的开发,一直很郁闷。我写了一个module ,打算放在arch/ppc/8260_io/下面。这个module有两个c文件,需要编程一个模块。我修改了kconfig  和 makefile  。添加如下:
kconfig:
   config MCC_ENET
        bool "CPM MCC Ethernet"
        depends on NET_ETHERNET
makefile:
     mccdrv-objs-y              := device.o  mcc.o
     obj-$(CONFIG_MCC_ENTET)    += mccdrv.o
但是编译内核的时候却没有编译     清大家帮忙阿
发表于 2005-7-13 13:35:23 | 显示全部楼层
根据  /usr/src/linux/Documentation/kbuild/makefiles.txt ,你只需要
mccdrv-objs := device.o mcc.o
或者
mccdrv-y := device.o mcc.o

        Kbuild recognises objects used for composite objects by the suffix
        -objs, and the suffix -y. This allows the Makefiles to use
        the value of a CONFIG_ symbol to determine if an object is part
        of a composite object.

        Example:
                #fs/ext2/Makefile
                obj-$(CONFIG_EXT2_FS)        += ext2.o
                ext2-y                       := balloc.o bitmap.o
                ext2-$(CONFIG_EXT2_FS_XATTR) += xattr.o

        In this example xattr.o is only part of the composite object
        ext2.o, if $(CONFIG_EXT2_FS_XATTR) evaluates to 'y'.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-13 14:15:53 | 显示全部楼层
我是写的
mccdrv-objs:= mcc.o device.o 的
开始帖子有误
可是还是不行的阿
楼上的   你不改kconfig 可以么   
你试过么 ???
  不管怎么样    :thank
回复 支持 反对

使用道具 举报

发表于 2005-7-13 20:45:57 | 显示全部楼层
不好意思,我可能表达的不准确,我只是说出你的笔误而已,并不是说不需要修改别的东西
回复 支持 反对

使用道具 举报

发表于 2005-7-13 22:14:20 | 显示全部楼层
我觉得 Kconfig 只是在 make menuconfig 的时候使用,结果就是生成了 .config
而 KBuild 系统使用 .config 的信息来编译 , 就是那些 $(CONFIG_*)
所以在 make menuconfig 里面选中你的 "CPM MCC Ethernet"之后,应该在
.config 文件里面出现
CONFIG_MCC_ENTET = y
这之后应该就和 Kconfig 没有关系了

然后应该是  KBuild 来编译内核
我看到在
arch/ppc/Makefile

drivers-$(CONFIG_CPM2)          += arch/ppc/8260_io/
也就是只有 CONFIG_CPM2 有了,才会下去吧

就是你确定你的  arch/ppc/8260_io/Makefile 被调到了吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-7-14 12:12:48 | 显示全部楼层
谢谢楼上的  
昨天我发现 makefile 中
obj-$(CONFIG_MCC_ENTET) += mccdrv.o
多了一个T

应该是
obj-$(CONFIG_MCC_ENET) += mccdrv.o
回复 支持 反对

使用道具 举报

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

本版积分规则

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