kernel: add exFAT fs driver
[openwrt/openwrt.git] / package / kernel / linux / modules / fs.mk
1 #
2 # Copyright (C) 2006-2011 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 FS_MENU:=Filesystems
9
10 define KernelPackage/fs-9p
11 SUBMENU:=$(FS_MENU)
12 TITLE:=Plan 9 Resource Sharing Support
13 DEPENDS:=+kmod-9pnet
14 KCONFIG:=\
15 CONFIG_9P_FS \
16 CONFIG_9P_FS_POSIX_ACL=n \
17 CONFIG_9P_FS_SECURITY=n \
18 CONFIG_9P_FSCACHE=n
19 FILES:=$(LINUX_DIR)/fs/9p/9p.ko
20 AUTOLOAD:=$(call AutoLoad,30,9p)
21 endef
22
23 define KernelPackage/fs-9p/description
24 Kernel module for Plan 9 Resource Sharing Support support
25 endef
26
27 $(eval $(call KernelPackage,fs-9p))
28
29
30 define KernelPackage/fs-afs
31 SUBMENU:=$(FS_MENU)
32 TITLE:=Andrew FileSystem client
33 DEFAULT:=n
34 DEPENDS:=+kmod-rxrpc +kmod-dnsresolver +kmod-fs-fscache
35 KCONFIG:=\
36 CONFIG_AFS_FS=m \
37 CONFIG_AFS_DEBUG=n \
38 CONFIG_AFS_FSCACHE=y
39 FILES:=$(LINUX_DIR)/fs/afs/kafs.ko
40 AUTOLOAD:=$(call AutoLoad,30,kafs)
41 endef
42
43 define KernelPackage/fs-afs/description
44 Kernel module for Andrew FileSystem client support
45 endef
46
47 $(eval $(call KernelPackage,fs-afs))
48
49 define KernelPackage/fs-autofs4
50 SUBMENU:=$(FS_MENU)
51 TITLE:=AUTOFS4 filesystem support
52 KCONFIG:= \
53 CONFIG_AUTOFS4_FS \
54 CONFIG_AUTOFS_FS
55 FILES:= \
56 $(LINUX_DIR)/fs/autofs4/autofs4.ko@lt4.18 \
57 $(LINUX_DIR)/fs/autofs/autofs4.ko@ge4.18
58 AUTOLOAD:=$(call AutoLoad,30,autofs4)
59 endef
60
61 define KernelPackage/fs-autofs4/description
62 Kernel module for AutoFS4 support
63 endef
64
65 $(eval $(call KernelPackage,fs-autofs4))
66
67
68 define KernelPackage/fs-btrfs
69 SUBMENU:=$(FS_MENU)
70 TITLE:=BTRFS filesystem support
71 DEPENDS:=+kmod-lib-crc32c +kmod-lib-lzo +kmod-lib-zlib-inflate +kmod-lib-zlib-deflate +kmod-lib-raid6 +kmod-lib-xor +kmod-lib-zstd
72 KCONFIG:=\
73 CONFIG_BTRFS_FS \
74 CONFIG_BTRFS_FS_POSIX_ACL=n \
75 CONFIG_BTRFS_FS_CHECK_INTEGRITY=n
76 FILES:=\
77 $(LINUX_DIR)/fs/btrfs/btrfs.ko
78 AUTOLOAD:=$(call AutoLoad,30,btrfs,1)
79 endef
80
81 define KernelPackage/fs-btrfs/description
82 Kernel module for BTRFS support
83 endef
84
85 $(eval $(call KernelPackage,fs-btrfs))
86
87
88 define KernelPackage/fs-cifs
89 SUBMENU:=$(FS_MENU)
90 TITLE:=CIFS support
91 KCONFIG:= \
92 CONFIG_CIFS \
93 CONFIG_CIFS_XATTR=y \
94 CONFIG_CIFS_DFS_UPCALL=n \
95 CONFIG_CIFS_UPCALL=n \
96 CONFIG_CIFS_SMB311=n
97 FILES:=$(LINUX_DIR)/fs/cifs/cifs.ko
98 AUTOLOAD:=$(call AutoLoad,30,cifs)
99 $(call AddDepends/nls)
100 DEPENDS+= \
101 +kmod-crypto-arc4 \
102 +kmod-crypto-hmac \
103 +kmod-crypto-md5 \
104 +kmod-crypto-md4 \
105 +kmod-crypto-des \
106 +kmod-crypto-ecb \
107 +kmod-crypto-sha256
108 endef
109
110 define KernelPackage/fs-cifs/description
111 Kernel module for CIFS support
112 endef
113
114 $(eval $(call KernelPackage,fs-cifs))
115
116
117 define KernelPackage/fs-configfs
118 SUBMENU:=$(FS_MENU)
119 TITLE:=Configuration filesystem support
120 KCONFIG:= \
121 CONFIG_CONFIGFS_FS
122 FILES:=$(LINUX_DIR)/fs/configfs/configfs.ko
123 AUTOLOAD:=$(call AutoLoad,30,configfs)
124 endef
125
126 define KernelPackage/fs-configfs/description
127 Kernel module for configfs support
128 endef
129
130 $(eval $(call KernelPackage,fs-configfs))
131
132
133 define KernelPackage/fs-cramfs
134 SUBMENU:=$(FS_MENU)
135 TITLE:=Compressed RAM/ROM filesystem support
136 DEPENDS:=+kmod-lib-zlib-inflate
137 KCONFIG:= \
138 CONFIG_CRAMFS
139 FILES:=$(LINUX_DIR)/fs/cramfs/cramfs.ko
140 AUTOLOAD:=$(call AutoLoad,30,cramfs)
141 endef
142
143 define KernelPackage/fs-cramfs/description
144 Kernel module for cramfs support
145 endef
146
147 $(eval $(call KernelPackage,fs-cramfs))
148
149
150 define KernelPackage/fs-efivarfs
151 SUBMENU:=$(FS_MENU)
152 TITLE:=efivar filesystem support
153 KCONFIG:=CONFIG_EFIVAR_FS
154 FILES:=$(LINUX_DIR)/fs/efivarfs/efivarfs.ko
155 DEPENDS:=@(x86_64||x86)
156 AUTOLOAD:=$(call Autoload,90,efivarfs)
157 endef
158
159 define KernelPackage/fs-efivarfs/description
160 Kernel module to support efivarfs file system mountpoint.
161 endef
162
163 $(eval $(call KernelPackage,fs-efivarfs))
164
165
166 define KernelPackage/fs-exfat
167 SUBMENU:=$(FS_MENU)
168 TITLE:=exFAT filesystem support
169 KCONFIG:= \
170 CONFIG_EXFAT_FS \
171 CONFIG_EXFAT_DONT_MOUNT_VFAT=y \
172 CONFIG_EXFAT_DISCARD=y \
173 CONFIG_EXFAT_DELAYED_SYNC=n \
174 CONFIG_EXFAT_KERNEL_DEBUG=n \
175 CONFIG_EXFAT_DEBUG_MSG=n \
176 CONFIG_EXFAT_DEFAULT_CODEPAGE=437 \
177 CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
178 FILES:=$(LINUX_DIR)/drivers/staging/exfat/exfat.ko
179 AUTOLOAD:=$(call AutoLoad,30,exfat,1)
180 DEPENDS:=@!(LINUX_4_4||LINUX_4_19) +kmod-nls-base
181 endef
182
183 define KernelPackage/fs-exfat/description
184 Kernel module for exFAT filesystem support
185 endef
186
187 $(eval $(call KernelPackage,fs-exfat))
188
189
190 define KernelPackage/fs-exportfs
191 SUBMENU:=$(FS_MENU)
192 TITLE:=exportfs kernel server support
193 KCONFIG:=CONFIG_EXPORTFS
194 FILES=$(LINUX_DIR)/fs/exportfs/exportfs.ko
195 AUTOLOAD:=$(call AutoLoad,20,exportfs,1)
196 endef
197
198 define KernelPackage/fs-exportfs/description
199 Kernel module for exportfs. Needed for some other modules.
200 endef
201
202 $(eval $(call KernelPackage,fs-exportfs))
203
204
205 define KernelPackage/fs-ext4
206 SUBMENU:=$(FS_MENU)
207 TITLE:=EXT4 filesystem support
208 DEPENDS := \
209 +kmod-lib-crc16 \
210 +kmod-crypto-hash \
211 +kmod-crypto-crc32c
212 KCONFIG:= \
213 CONFIG_EXT4_FS \
214 CONFIG_EXT4_ENCRYPTION=n \
215 CONFIG_JBD2
216 FILES:= \
217 $(LINUX_DIR)/fs/ext4/ext4.ko \
218 $(LINUX_DIR)/fs/jbd2/jbd2.ko \
219 $(LINUX_DIR)/fs/mbcache.ko
220 AUTOLOAD:=$(call AutoLoad,30,mbcache jbd2 ext4,1)
221 endef
222
223 define KernelPackage/fs-ext4/description
224 Kernel module for EXT4 filesystem support
225 endef
226
227 $(eval $(call KernelPackage,fs-ext4))
228
229
230 define KernelPackage/fs-f2fs
231 SUBMENU:=$(FS_MENU)
232 TITLE:=F2FS filesystem support
233 DEPENDS:= +kmod-crypto-hash +kmod-crypto-crc32 +LINUX_5_4:kmod-nls-base
234 KCONFIG:= \
235 CONFIG_F2FS_FS \
236 CONFIG_F2FS_STAT_FS=y \
237 CONFIG_F2FS_FS_XATTR=y \
238 CONFIG_F2FS_FS_POSIX_ACL=n \
239 CONFIG_F2FS_FS_SECURITY=n \
240 CONFIG_F2FS_CHECK_FS=n
241 FILES:=$(LINUX_DIR)/fs/f2fs/f2fs.ko
242 AUTOLOAD:=$(call AutoLoad,30,f2fs,1)
243 endef
244
245 define KernelPackage/fs-f2fs/description
246 Kernel module for F2FS filesystem support
247 endef
248
249 $(eval $(call KernelPackage,fs-f2fs))
250
251
252 define KernelPackage/fs-fscache
253 SUBMENU:=$(FS_MENU)
254 TITLE:=General filesystem local cache manager
255 DEPENDS:=
256 KCONFIG:=\
257 CONFIG_FSCACHE=m \
258 CONFIG_FSCACHE_STATS=y \
259 CONFIG_FSCACHE_HISTOGRAM=n \
260 CONFIG_FSCACHE_DEBUG=n \
261 CONFIG_FSCACHE_OBJECT_LIST=n \
262 CONFIG_CACHEFILES=y \
263 CONFIG_CACHEFILES_DEBUG=n \
264 CONFIG_CACHEFILES_HISTOGRAM=n
265 FILES:=$(LINUX_DIR)/fs/fscache/fscache.ko
266 AUTOLOAD:=$(call AutoLoad,29,fscache)
267 endef
268
269 $(eval $(call KernelPackage,fs-fscache))
270
271
272 define KernelPackage/fs-hfs
273 SUBMENU:=$(FS_MENU)
274 TITLE:=HFS filesystem support
275 KCONFIG:=CONFIG_HFS_FS
276 FILES:=$(LINUX_DIR)/fs/hfs/hfs.ko
277 AUTOLOAD:=$(call AutoLoad,30,hfs)
278 $(call AddDepends/nls)
279 endef
280
281 define KernelPackage/fs-hfs/description
282 Kernel module for HFS filesystem support
283 endef
284
285 $(eval $(call KernelPackage,fs-hfs))
286
287
288 define KernelPackage/fs-hfsplus
289 SUBMENU:=$(FS_MENU)
290 TITLE:=HFS+ filesystem support
291 KCONFIG:=CONFIG_HFSPLUS_FS
292 FILES:=$(LINUX_DIR)/fs/hfsplus/hfsplus.ko
293 AUTOLOAD:=$(call AutoLoad,30,hfsplus)
294 $(call AddDepends/nls,utf8)
295 endef
296
297 define KernelPackage/fs-hfsplus/description
298 Kernel module for HFS+ filesystem support
299 endef
300
301 $(eval $(call KernelPackage,fs-hfsplus))
302
303
304 define KernelPackage/fs-isofs
305 SUBMENU:=$(FS_MENU)
306 TITLE:=ISO9660 filesystem support
307 DEPENDS:=+kmod-lib-zlib-inflate
308 KCONFIG:=CONFIG_ISO9660_FS CONFIG_JOLIET=y CONFIG_ZISOFS=n
309 FILES:=$(LINUX_DIR)/fs/isofs/isofs.ko
310 AUTOLOAD:=$(call AutoLoad,30,isofs)
311 $(call AddDepends/nls)
312 endef
313
314 define KernelPackage/fs-isofs/description
315 Kernel module for ISO9660 filesystem support
316 endef
317
318 $(eval $(call KernelPackage,fs-isofs))
319
320
321 define KernelPackage/fs-jfs
322 SUBMENU:=$(FS_MENU)
323 TITLE:=JFS filesystem support
324 KCONFIG:=CONFIG_JFS_FS
325 FILES:=$(LINUX_DIR)/fs/jfs/jfs.ko
326 AUTOLOAD:=$(call AutoLoad,30,jfs,1)
327 $(call AddDepends/nls)
328 endef
329
330 define KernelPackage/fs-jfs/description
331 Kernel module for JFS support
332 endef
333
334 $(eval $(call KernelPackage,fs-jfs))
335
336 define KernelPackage/fs-minix
337 SUBMENU:=$(FS_MENU)
338 TITLE:=Minix filesystem support
339 KCONFIG:=CONFIG_MINIX_FS
340 FILES:=$(LINUX_DIR)/fs/minix/minix.ko
341 AUTOLOAD:=$(call AutoLoad,30,minix)
342 endef
343
344 define KernelPackage/fs-minix/description
345 Kernel module for Minix filesystem support
346 endef
347
348 $(eval $(call KernelPackage,fs-minix))
349
350
351 define KernelPackage/fs-msdos
352 SUBMENU:=$(FS_MENU)
353 TITLE:=MSDOS filesystem support
354 DEPENDS:=+kmod-fs-vfat
355 KCONFIG:=CONFIG_MSDOS_FS
356 FILES:=$(LINUX_DIR)/fs/fat/msdos.ko
357 AUTOLOAD:=$(call AutoLoad,40,msdos)
358 $(call AddDepends/nls)
359 endef
360
361 define KernelPackage/fs-msdos/description
362 Kernel module for MSDOS filesystem support
363 endef
364
365 $(eval $(call KernelPackage,fs-msdos))
366
367
368 define KernelPackage/fs-nfs
369 SUBMENU:=$(FS_MENU)
370 TITLE:=NFS filesystem client support
371 DEPENDS:=+kmod-fs-nfs-common +kmod-dnsresolver
372 KCONFIG:= \
373 CONFIG_NFS_FS \
374 CONFIG_NFS_USE_LEGACY_DNS=n \
375 CONFIG_NFS_USE_NEW_IDMAPPER=n
376 FILES:= \
377 $(LINUX_DIR)/fs/nfs/nfs.ko
378 AUTOLOAD:=$(call AutoLoad,40,nfs)
379 endef
380
381 define KernelPackage/fs-nfs/description
382 Kernel module for NFS client support
383 endef
384
385 $(eval $(call KernelPackage,fs-nfs))
386
387
388 define KernelPackage/fs-nfs-common
389 SUBMENU:=$(FS_MENU)
390 TITLE:=Common NFS filesystem modules
391 KCONFIG:= \
392 CONFIG_LOCKD \
393 CONFIG_SUNRPC \
394 CONFIG_GRACE_PERIOD
395 FILES:= \
396 $(LINUX_DIR)/fs/lockd/lockd.ko \
397 $(LINUX_DIR)/net/sunrpc/sunrpc.ko \
398 $(LINUX_DIR)/fs/nfs_common/grace.ko
399 AUTOLOAD:=$(call AutoLoad,30,grace sunrpc lockd)
400 endef
401
402 $(eval $(call KernelPackage,fs-nfs-common))
403
404
405 define KernelPackage/fs-nfs-common-rpcsec
406 SUBMENU:=$(FS_MENU)
407 TITLE:=NFS Secure RPC
408 DEPENDS:= \
409 +kmod-fs-nfs-common \
410 +kmod-crypto-des \
411 +kmod-crypto-cbc \
412 +kmod-crypto-cts \
413 +kmod-crypto-md5 \
414 +kmod-crypto-sha1 \
415 +kmod-crypto-hmac \
416 +kmod-crypto-ecb \
417 +kmod-crypto-arc4
418 KCONFIG:= \
419 CONFIG_SUNRPC_GSS \
420 CONFIG_RPCSEC_GSS_KRB5
421 FILES:= \
422 $(LINUX_DIR)/lib/oid_registry.ko \
423 $(LINUX_DIR)/net/sunrpc/auth_gss/auth_rpcgss.ko \
424 $(LINUX_DIR)/net/sunrpc/auth_gss/rpcsec_gss_krb5.ko
425 AUTOLOAD:=$(call AutoLoad,31,oid_registry auth_rpcgss rpcsec_gss_krb5)
426 endef
427
428 define KernelPackage/fs-nfs-common-rpcsec/description
429 Kernel modules for NFS Secure RPC
430 endef
431
432 $(eval $(call KernelPackage,fs-nfs-common-rpcsec))
433
434
435 define KernelPackage/fs-nfs-v3
436 SUBMENU:=$(FS_MENU)
437 TITLE:=NFS3 filesystem client support
438 DEPENDS:=+kmod-fs-nfs
439 FILES:= \
440 $(LINUX_DIR)/fs/nfs/nfsv3.ko
441 AUTOLOAD:=$(call AutoLoad,41,nfsv3)
442 endef
443
444 define KernelPackage/fs-nfs-v3/description
445 Kernel module for NFS v3 client support
446 endef
447
448 $(eval $(call KernelPackage,fs-nfs-v3))
449
450
451 define KernelPackage/fs-nfs-v4
452 SUBMENU:=$(FS_MENU)
453 TITLE:=NFS4 filesystem client support
454 DEPENDS:=+kmod-fs-nfs
455 KCONFIG:= \
456 CONFIG_NFS_V4=y
457 FILES:= \
458 $(LINUX_DIR)/fs/nfs/nfsv4.ko
459 AUTOLOAD:=$(call AutoLoad,41,nfsv4)
460 endef
461
462 define KernelPackage/fs-nfs-v4/description
463 Kernel module for NFS v4 support
464 endef
465
466 $(eval $(call KernelPackage,fs-nfs-v4))
467
468
469 define KernelPackage/fs-nfsd
470 SUBMENU:=$(FS_MENU)
471 TITLE:=NFS kernel server support
472 DEPENDS:=+kmod-fs-nfs-common +kmod-fs-exportfs +kmod-fs-nfs-common-rpcsec
473 KCONFIG:= \
474 CONFIG_NFSD \
475 CONFIG_NFSD_V4=y \
476 CONFIG_NFSD_V4_SECURITY_LABEL=n \
477 CONFIG_NFSD_BLOCKLAYOUT=n \
478 CONFIG_NFSD_SCSILAYOUT=n \
479 CONFIG_NFSD_FLEXFILELAYOUT=n \
480 CONFIG_NFSD_FAULT_INJECTION=n
481 FILES:=$(LINUX_DIR)/fs/nfsd/nfsd.ko
482 AUTOLOAD:=$(call AutoLoad,40,nfsd)
483 endef
484
485 define KernelPackage/fs-nfsd/description
486 Kernel module for NFS kernel server support
487 endef
488
489 $(eval $(call KernelPackage,fs-nfsd))
490
491
492 define KernelPackage/fs-ntfs
493 SUBMENU:=$(FS_MENU)
494 TITLE:=NTFS filesystem support
495 KCONFIG:=CONFIG_NTFS_FS
496 FILES:=$(LINUX_DIR)/fs/ntfs/ntfs.ko
497 AUTOLOAD:=$(call AutoLoad,30,ntfs)
498 $(call AddDepends/nls)
499 endef
500
501 define KernelPackage/fs-ntfs/description
502 Kernel module for NTFS filesystem support
503 endef
504
505 $(eval $(call KernelPackage,fs-ntfs))
506
507
508 define KernelPackage/fs-reiserfs
509 SUBMENU:=$(FS_MENU)
510 TITLE:=ReiserFS filesystem support
511 KCONFIG:=CONFIG_REISERFS_FS \
512 CONFIG_REISERFS_FS_XATTR=y
513 FILES:=$(LINUX_DIR)/fs/reiserfs/reiserfs.ko
514 AUTOLOAD:=$(call AutoLoad,30,reiserfs,1)
515 endef
516
517 define KernelPackage/fs-reiserfs/description
518 Kernel module for ReiserFS support
519 endef
520
521 $(eval $(call KernelPackage,fs-reiserfs))
522
523
524 define KernelPackage/fs-squashfs
525 SUBMENU:=$(FS_MENU)
526 TITLE:=SquashFS 4.0 filesystem support
527 KCONFIG:=CONFIG_SQUASHFS \
528 CONFIG_SQUASHFS_XZ=y
529 FILES:=$(LINUX_DIR)/fs/squashfs/squashfs.ko
530 AUTOLOAD:=$(call AutoLoad,30,squashfs,1)
531 endef
532
533 define KernelPackage/fs-squashfs/description
534 Kernel module for SquashFS 4.0 support
535 endef
536
537 $(eval $(call KernelPackage,fs-squashfs))
538
539
540 define KernelPackage/fs-udf
541 SUBMENU:=$(FS_MENU)
542 TITLE:=UDF filesystem support
543 KCONFIG:=CONFIG_UDF_FS
544 FILES:=$(LINUX_DIR)/fs/udf/udf.ko
545 AUTOLOAD:=$(call AutoLoad,30,udf)
546 DEPENDS:=+kmod-lib-crc-itu-t
547 $(call AddDepends/nls)
548 endef
549
550 define KernelPackage/fs-udf/description
551 Kernel module for UDF filesystem support
552 endef
553
554 $(eval $(call KernelPackage,fs-udf))
555
556
557 define KernelPackage/fs-vfat
558 SUBMENU:=$(FS_MENU)
559 TITLE:=VFAT filesystem support
560 KCONFIG:= \
561 CONFIG_FAT_FS \
562 CONFIG_VFAT_FS
563 FILES:= \
564 $(LINUX_DIR)/fs/fat/fat.ko \
565 $(LINUX_DIR)/fs/fat/vfat.ko
566 AUTOLOAD:=$(call AutoLoad,30,fat vfat)
567 $(call AddDepends/nls,cp437 iso8859-1 utf8)
568 endef
569
570 define KernelPackage/fs-vfat/description
571 Kernel module for VFAT filesystem support
572 endef
573
574 $(eval $(call KernelPackage,fs-vfat))
575
576
577 define KernelPackage/fs-xfs
578 SUBMENU:=$(FS_MENU)
579 TITLE:=XFS filesystem support
580 KCONFIG:=CONFIG_XFS_FS
581 DEPENDS:= +kmod-fs-exportfs +kmod-lib-crc32c
582 FILES:=$(LINUX_DIR)/fs/xfs/xfs.ko
583 AUTOLOAD:=$(call AutoLoad,30,xfs,1)
584 endef
585
586 define KernelPackage/fs-xfs/description
587 Kernel module for XFS support
588 endef
589
590 $(eval $(call KernelPackage,fs-xfs))
591
592
593 define KernelPackage/fuse
594 SUBMENU:=$(FS_MENU)
595 TITLE:=FUSE (Filesystem in Userspace) support
596 KCONFIG:= CONFIG_FUSE_FS
597 FILES:=$(LINUX_DIR)/fs/fuse/fuse.ko
598 AUTOLOAD:=$(call AutoLoad,80,fuse)
599 endef
600
601 define KernelPackage/fuse/description
602 Kernel module for userspace filesystem support
603 endef
604
605 $(eval $(call KernelPackage,fuse))