Linux內核構建選項之文件系統

文件系統做爲操做系統的一個模塊,須要對內核進行配置才能使用;內核提供對文件系統功能選項的配置功能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)

相關文章
相關標籤/搜索