文件系統做爲操做系統的一個模塊,須要對內核進行配置才能使用;內核提供對文件系統功能選項的配置功能windows
內核配置
make ARCH=arm menuconfig
文件系統選項的配置
File Systems --->
構建方式:
內置構建:[*] <*> ---> 增長內核鏡像文件大小
模塊構建: < > <M> ---> 提供動態加載移除的靈活性
嵌入式配置原則:
1. 文件系統主要進行內置構建網絡
2. 通常不選擇EXPERIMENTAL的模塊或者特性(產品應用)分佈式
3. 對於不肯定的選項使用默認配置spa
4.按照業務要求選擇合適的文件系統操作系統
文件系統選項說明:產品
1、文件系統公共選項: fs/Kconfig
CONFIG_FS_POSIX_ACL (ACL控制)
CONFIG_FILE_LOCKING (NFS網絡文件系統, flock系統調用)it
[Notify]
CONFIG_FSNOTIFY
CONFIG_DNOTIFY (基於目錄的文件變化的通知機制)
CONFIG_INOTIFY_USER (替代Dnotify)
CONFIG_FANOTIFY
CONFIG_FANOTIFY_ACCESS_PERMISSIONSio
[Quota: ext2,ext3,reiserfs]
CONFIG_QUOTA
CONFIG_QUOTA_NETLINK_INTERFACE
CONFIG_PRINT_QUOTA_WARNING
CONFIG_QUOTA_DEBUG
CONFIG_QUOTA_TREE
CONFIG_QFMT_V1
CONFIG_QFMT_V2
CONFIG_QUOTACTL
CONFIG_QUOTACTL_COMPATast
[Autofs4: 相似Windows上的網絡驅動器]
CONFIG_AUTOFS4_FSfunction
[FUSE]
CONFIG_FUSE_FS
CONFIG_CUSE (FUSE extension)
[Caches]
CONFIG_FSCACHE
CONFIG_FSCACHE_XXX
CONFIG_CACHEFILES
CONFIG_CACHEFILES_XXX
[Partition Types]
CONFIG_PARTITION_ADVANCED (hard disks)
[NLS: Native Language Support]
CONFIG_NLS
CONFIG_NLS_DEFAULT
CONFIG_NLS_CODEPAGE_XXX (CP936,GB2312)
CONFIG_NLS_ISO8859_XXX
[DLM: Distributed Lock Manager]
CONFIG_DLM (爲各類分佈式文件系統提供通用的鎖定支持)
2、具體文件系統特性選項:
CONFIG_EXT2_XXX
CONFIG_EXT3_XXX
CONFIG_EXT4_XXX
CONFIG_REISERFS_XXX
CONFIG_BTRFS_XXX
CONFIG_JFS_XXX
......
CONFIG_UDF_XXX
[Windows FS]
CONFIG_FAT_FS (base functions to support MS-DOS/VFAT)
CONFIG_VFAT_FS (windows 95,fat32)
CONFIG_MSDOS_FS
CONFIG_FAT_DEFAULT_CODEPAGE
CONFIG_FAT_DEFAULT_IOCHARSET (vfat use, "utf8" not recommened here)
CONFIG_NTFS_XXX
CONFIG_PROC_XXX
CONFIG_TMPFS_XXX
CONFIG_SYSFS
.......
[Misc FS]
CONFIG_YAFFS2_XXX
YAFFS_YAFFS1: 512B/page
YAFFS_DOES_ECC: fs ECC or MTD-NAND ECC
YAFFS_YAFFS2: >=2K bytes/page
YAFFS_AUTO_YAFFS2
YAFFS_ALWAYS_CHECK_CHUNK_ERASED
YAFFS_EMPTY_LOST_AND_FOUND
YAFFS_DISABLE_BLOCK_REFRESHING (useful for MLC)
YAFFS_DISABLE_BACKGROUND
YAFFS_XATTR
CONFIG_JFFS2_XXX
JFFS2_FS_DEBUG
JFFS2_FS_WRITEBUFFER
JFFS2_FS_WBUF_VERIFY
JFFS2_SUMMARY (EXPERIMENTAL:sumtool,for faster mount)
JFFS2_FS_XATTR(EXPERIMENTAL)
JFFS2_FS_POSIX_ACL (xattr)
JFFS2_FS_SECURITY (xattr)
JFFS2_COMPRESSION_OPTIONS: ZLIB,LZO,RTIME,RUBIN
JFFS2_CMODE_NONE
JFFS2_CMODE_PRIORITY (first successful one)
JFFS2_CMODE_SIZE (smallest size one)
JFFS2_CMODE_FAVOURLZO (smallest, but lzo favour)
CONFIG_CRAMFS
CONFIG_SQUASHFS_XXX
SQUASHFS_XATTR
SQUASHFS_LZO (aimed at embedded systems with slower CPUs)
SQUASHFS_XZ
SQUASHFS_EMBEDDED
SQUASHFS_FRAGMENT_CACHE_SIZE (default: the last 3 fragments)
CONFIG_UBIFS_XXX
CONFIG_LOGFS_XXX
......
[Network FS] CONFIG_NFS_XXX (client) NFS_COMMON NFS_ACL_SUPPORT Version: V3 V4 ROOT_NFS NFS_FSCACHE NFS_USE_LEGACY_DNS / NFS_USE_KERNEL_DNS CONFIG_NFSD_XXX CONFIG_SUNRPC_XXX CONFIG_CIFS_XXX(samba)