02-28-2021, 11:04 PM
(02-28-2021, 07:11 PM)ab1jx Wrote: That seems to work but it's not the format I remember, I think I've mostly used menuconfig. I've built way more BSD kernels than Linux. Even if I enable the option though, that doesn't supply any code.I'm not sure I follow your question...
I see:
Code:#
# DOS/FAT/EXFAT/NT Filesystems
#
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="ascii"
# CONFIG_FAT_DEFAULT_UTF8 is not set
# CONFIG_EXFAT_FS is not set
CONFIG_NTFS_FS=y
# CONFIG_NTFS_DEBUG is not set
CONFIG_NTFS_RW=y
# end of DOS/FAT/EXFAT/NT Filesystems
So why is there both exfat and ntfs? cat /proc/filesystems shows ntfs in there, I didn't try it.
What the values in your quote mean is your kernel has built-in drivers supporting all FAT variants except for exFAT, as well as built-in support for NTFS, including read/write support for NTFS. To contrast with Ubuntu kernel on my work laptop:
Code:
CONFIG_FAT_FS=y
CONFIG_MSDOS_FS=m
CONFIG_VFAT_FS=y
CONFIG_FAT_DEFAULT_CODEPAGE=437
CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
# CONFIG_FAT_DEFAULT_UTF8 is not set
CONFIG_EXFAT_FS=m
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
CONFIG_NTFS_FS=m
# CONFIG_NTFS_DEBUG is not set
# CONFIG_NTFS_RW is not set
Which means exFAT is a loadable module, same for NTFS support, and NTFS R/W is not provided through kernel module but I have to use FUSE instead. My current PBP kernel is largely the same, except it actually has CONFIG_NTFS_RW set to 'y'.
The difference between 'y' and 'm' in the above configs is 'y' means driver will be built-in, always part of the kernel image on disk and in memory, whereas 'm' will be stored as a separate file and loaded in memory only when kernel actually needs it to access a file system. If that driver is important for getting to the point where kernel can mount the root FS then you need to either make that driver built-in, or make sure that loadable module is included in your initramfs image (which is usually done automatically if your /etc/initramfs-tools/initramfs.conf has MODULES=most). Otherwise if I were you I'd probably just reconfigure those drivers to be more similar to Ubuntu or Debian kernel config and call it a day.
If you don't care for building your own kernel outside of just getting the damn exFAT but would be content with an already working kernel you could use the kernel package that was built by xmixahlx, otherwise if you still prefer to build your own kernel but just want to minimize the amount of manual steps to wade through you could use xmixahlx's script for building a kernel package yourself.
This message was created with 100% recycled electrons