>假设想单独编译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