[bootlin/training-materials updates] master: Embedded Linux: improve/update details about block filesystems (20dddf38)

Michael Opdenacker michael.opdenacker at bootlin.com
Tue Mar 1 13:32:39 CET 2022


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/20dddf38ab2c40be57e3409bce6d4f321341f6f6

>---------------------------------------------------------------

commit 20dddf38ab2c40be57e3409bce6d4f321341f6f6
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Tue Mar 1 13:32:39 2022 +0100

    Embedded Linux: improve/update details about block filesystems
    
    Add Elixir links to the configuration options
    (good to get extra details)
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


>---------------------------------------------------------------

20dddf38ab2c40be57e3409bce6d4f321341f6f6
 .../sysdev-block-filesystems.tex                   | 38 +++++++++++-----------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/slides/sysdev-block-filesystems/sysdev-block-filesystems.tex b/slides/sysdev-block-filesystems/sysdev-block-filesystems.tex
index 572842af..3a6b94f5 100644
--- a/slides/sysdev-block-filesystems/sysdev-block-filesystems.tex
+++ b/slides/sysdev-block-filesystems/sysdev-block-filesystems.tex
@@ -111,10 +111,10 @@ major minor #blocks name
   \item The standard filesystem used on Linux systems is the series of
     \code{ext{2,3,4}} filesystems
     \begin{itemize}
-    \item \code{ext2}
+    \item \code{ext2} (\kconfig{CONFIG_EXT2_FS})
     \item \code{ext3}, brought {\em journaling} (explained next slide)
           compared to \code{ext2}, now obsoleted by \code{ext4}.
-    \item \code{ext4}, mainly brought performance improvements and
+    \item \code{ext4} (\kconfig{CONFIG_EXT4_FS}), mainly brought performance improvements and
           support for very big partitions.
     \end{itemize}
   \item It supports all features Linux needs in a root filesystem:
@@ -161,14 +161,14 @@ major minor #blocks name
 \begin{frame}
   \frametitle{Other journaled Linux/UNIX filesystems}
   \begin{itemize}
-  \item \code{btrfs}, the most actively developed filesystem
+  \item \code{btrfs} (\kconfig{CONFIG_BTRFS_FS}), the most actively developed filesystem
     for Linux. It integrates numerous features: data checksuming,
     integrated volume management, snapshots, etc.
-  \item \code{XFS}, high-performance filesystem inherited from SGI
+  \item \code{XFS} (\kconfig{CONFIG_XFS_FS}), high-performance filesystem inherited from SGI
     IRIX, still actively developed.
-  \item \code{JFS}, inherited from IBM AIX. No longer actively
+  \item \code{JFS} (\kconfig{CONFIG_JFS_FS}), inherited from IBM AIX. No longer actively
     developed, provided mainly for compatibility.
-  \item \code{reiserFS}, used to be a popular filesystem, but its
+  \item \code{reiserFS} (\kconfig{CONFIG_REISERFS_FS}), used to be a popular filesystem, but its
     latest version \code{Reiser4} was never merged upstream.
   \item \code{ZFS}, provides standard and advanced filesystem and
     volume management (CoW, snapshot, etc.). Due to license it
@@ -182,7 +182,7 @@ major minor #blocks name
 
 \begin{frame}
   \frametitle{F2FS: filesystem for flash-based block storage}
-  \url{https://en.wikipedia.org/wiki/F2FS}
+  \kconfig{CONFIG_F2FS_FS}, \url{https://en.wikipedia.org/wiki/F2FS}
   \begin{itemize}
   \item Filesystem that takes into account the characteristics of
     flash-based storage: eMMC, SD cards, SSD, etc.
@@ -193,7 +193,6 @@ major minor #blocks name
     storage internal behavior which may not easy to get
   \item Benchmarks: best performer on flash devices most of the time: \\
         See \url{https://lwn.net/Articles/520003/}
-  \item Technical details: \url{https://lwn.net/Articles/518988/}
   \item Not as widely used as \code{ext4} and \code{btrfs}, even on flash-based
     storage.
   \end{itemize}
@@ -201,6 +200,7 @@ major minor #blocks name
 
 \begin{frame}
   \frametitle{SquashFS: read-only filesystem}
+  \kconfig{CONFIG_SQUASHFS}
   \begin{itemize}
   \item Read-only, compressed filesystem for block devices. Fine for
     parts of a filesystem which can be read-only (kernel, binaries...)
@@ -211,7 +211,7 @@ major minor #blocks name
   \item Benchmarks: roughly 3 times smaller than ext3, and 2-4 times
     faster (\url{https://elinux.org/Squash_Fs_Comparisons})
   \item New alternative to SquashFS: EROFS\\
-    \url{https://en.wikipedia.org/wiki/EROFS}
+    \kconfig{CONFIG_EROFS_FS}, \url{https://en.wikipedia.org/wiki/EROFS}
   \end{itemize}
 \end{frame}
 
@@ -233,8 +233,9 @@ major minor #blocks name
                    performance.
 	     \item Keep the one working best in your case.
            \end{itemize}
-     \item For read/write partitions, the best choices are
-           probably \code{btrfs} and \code{f2fs}.
+     \item For read/write partitions, a good default choice
+           would be \code{ext4}, and then try \code{btrfs} and \code{f2fs}
+           if you need extra performance.
   \end{itemize}
 \end{frame}
 
@@ -243,7 +244,7 @@ major minor #blocks name
   Linux also supports several other filesystem formats, mainly to be
   interoperable with other operating systems:
   \begin{itemize}
-  \item \code{vfat} for compatibility with the FAT filesystem used in
+  \item \code{vfat} (\kconfig{CONFIG_VFAT_FS}) for compatibility with the FAT filesystem used in
     the Windows world and on numerous removable devices
     \begin{itemize}
     \item Also convenient to store bootloader binaries (FAT easy
@@ -251,19 +252,18 @@ major minor #blocks name
     \item This filesystem does {\em not} support features like
       permissions, ownership, symbolic links, etc. Cannot be used for
       a Linux root filesystem.
-    \item Linux now supports the exFAT filesystem too (\code{exfat}).
+    \item Linux now supports the exFAT filesystem too (\kconfig{CONFIG_EXFAT_FS}).
     \end{itemize}
-  \item \code{ntfs} for compatibility with the NTFS filesystem used on
-    Windows
-  \item \code{hfs} for compatibility with the HFS filesystem used on
-    Mac OS
-  \item \code{iso9660}, the filesystem format used on CD-ROMs,
-    obviously a read-only filesystem
+  \item \code{ntfs} (\kconfig{CONFIG_NTFS_FS}) for compatibility with
+      Windows NTFS filesystem.
+  \item \code{hfs} (\kconfig{CONFIG_HFS_FS}) for compatibility with the
+      MacOS HFS filesystem.
   \end{itemize}
 \end{frame}
 
 \begin{frame}
   \frametitle{tmpfs: filesystem in RAM}
+  \kconfig{CONFIG_TMPFS}
   \begin{itemize}
   \item Not a block filesystem of course!
   \item Perfect to store temporary data in RAM: system log files,




More information about the training-materials-updates mailing list