Filesystem

From Syslinux Wiki
Jump to: navigation, search

EXTLINUX supports:
[3.00+] ext2/3,
[4.00+] FAT12/16/32, ext2/3/4, Btrfs,
[4.06+] FAT12/16/32, NTFS, ext2/3/4, Btrfs,
[5.01+] FAT12/16/32, NTFS, ext2/3/4, Btrfs, XFS,
[6.03+] FAT12/16/32, NTFS, ext2/3/4, Btrfs, XFS, UFS/FFS,

Some limitations might apply, depending on the filesystem.

As of Syslinux 6.03, the extlinux command line installer supports 512 bytes per sector.

Please contact The Syslinux Project if the extlinux command line installer fails in any way in the supported filesystems or if the boot process fails after installing the bootloader.

For the available command line options, see Install.


Btrfs

Initial support for Btrfs was introduced in Syslinux 4.06. Several improvements and fixes were added in later versions. Syslinux 6.03 (or later) is recommended.

As of Syslinux 6.03, Btrfs' multi-device volumes are not supported.

As of Syslinux 6.03, the compression and/or encryption features of Btrfs volumes are not supported. In other words, Syslinux cannot find (configuration / kernel / initrd) files if the boot filesystem is compressed and/or encrypted.

[6.04] Fix logical_to_physical block address mapping.

Additional boot parameters might be needed so as to specify Btrfs subvolume IDs. For example: rootflags=subvol=<root subvolume>.


ext

As of Syslinux 6.03, "pure 64-bits", compression and/or encryption are not supported.


Quoting part of the release notes of version 1.43 of e2fsprogs (May 17, 2016):

Mke2fs will now create file systems with the metadata_csum and 64bit features enabled by default.

Users should rather (manually) disable the 64bit feature in the mke2fs command when creating / formatting a boot volume with ext4; otherwise, the bootloader (as of version 6.03) will fail.

Notes:

  • For a 4KiB block size, an ext2/3/4 volume size of less than 16TiB when created without the "64bit feature" is supported by Syslinux as of version 6.03.
  • To manually disable the "64bit" feature when creating ext4 volumes, use  -O ^64bit  in the mke2fs (or equivalent) command. That is, an hyphen, immediately followed by an upper-case letter "O", a space character, the caret "^" symbol, followed by "64bit" (no hyphen).
    • In some cases, a backslash character before the caret might be needed:  -O \^64bit 
  • In resize2fs, the  -s  parameter (that is, an hyphen followed by a lower-case letter "s") disables the "64bit" feature of an already-created filesystem volume, if its size allows it.


ISO9660

Not relevant for EXTLINUX. See ISOLINUX.


NTFS

Initial support for NTFS was introduced in Syslinux 4.06. Several improvements and fixes were added in later versions. Syslinux 6.03 (or later) is recommended.

Note: As of Syslinux 6.03, Syslinux supports NTFS volumes with Cluster (aka "Allocation Unit") size equal or smaller than 4096 bytes.

4096 Bytes (or less) per "Allocation Unit" (aka Cluster).
Each Cluster can be 4KiB or smaller.
For 512 Bytes per sector → either 8 / 4 / 2 / 1 Sectors per Cluster.
For 4096 Bytes per sector → 1 Sector per Cluster.

A Cluster size of 4096 bytes is usually the default and the recommended value.

For general information about Cluster size: http://support.microsoft.com/kb/140365

As of Syslinux 6.03, EXTLINUX does not support symlinks on NTFS volumes.


UFS

Syslinux 6.03 adds support for UFS/FFS in little-endian architectures (x86 and x86-64). UFS1 and UFS2 are both supported.

The author of UFS/FFS, Kirk McKusick, said about the name:

The code is broken into two parts, the part that handles naming (UFS where the U stands for Unix), and the part that handles disk layout (FFS where the F stands for Fast). When the two parts are put together they are called UFS/FFS or more commonly just UFS.

UFS notes

  • The following steps were initially only made under a GNU/Linux environment. Therefore, functionality might vary on other systems.
  • Dependency: ufsutils (UFS filesystems utilities) or equivalent.
  • To add Write support on UFS to Linux, a kernel with the option CONFIG_UFS_FS_WRITE enabled is needed, or at least configured as a module. To the latter case, load the module "ufs.ko" with modprobe (probably located at "/lib/modules/").
  • Enable UFS Write support under Debian (November 26, 2012):
 http://oz123.github.io/writings/2012-11-26-enable-ufs-write-support-debian/ 


XFS

As of Syslinux 6.03, a filesystem block size of 4KiB is supported.

As of Syslinux 6.03, an XFS partition in an "MBR" partition scheme is supported.

[6.04+] Support XFS on-disk V5, node directories version 3, xfsprogs 4.x.