单独编译源码树下的模块

>假设想单独编译ext4模块,当前内核编译配置是不支持ext4或ext4编译为模块

###当然,ext4对内核版本的依赖成都比较高,比如你在3.8下编译3.10的实现几乎是不可能的

1,到相应的源码目录下,查看Makefile,确定要编译模块在内核配置中的变量名。

ext4实现目录下的Makefile文件:

#
# Makefile for the linux ext4-filesystem routines.
#

obj-$(CONFIG_EXT4_FS) += ext4.o

ext4-y  := balloc.o bitmap.o dir.o file.o fsync.o ialloc.o inode.o page-io.o 
                ioctl.o namei.o super.o symlink.o hash.o resize.o extents.o 
                ext4_jbd2.o migrate.o mballoc.o block_validity.o move_extent.o 
                mmp.o indirect.o extents_status.o xattr.o xattr_user.o 
                xattr_trusted.o inline.o

ext4-$(CONFIG_EXT4_FS_POSIX_ACL)        += acl.o
ext4-$(CONFIG_EXT4_FS_SECURITY)         += xattr_security.o

因此模块变量名为CONFIG_EXT4_FS。

2, 编译

# make CONFIG_EXT4_FS=m  -C  /lib/modules/`uname -r`/build  M=`pwd`  modules
http://www.cnblogs.com/skynext/
原文地址:https://www.cnblogs.com/skynext/p/4682668.html