[FE training-materials-updates] Add more stuff to the flash storage slides

Boris Brezillon boris.brezillon at free-electrons.com
Fri May 15 16:28:47 CEST 2015

Repository : git://git.free-electrons.com/training-materials.git

On branch  : mtd-rework-WIP
Link       : http://git.free-electrons.com/training-materials/commit/?id=de9e4e69bc47449b8bd5177178c360fcf3b09a11


commit de9e4e69bc47449b8bd5177178c360fcf3b09a11
Author: Boris Brezillon <boris.brezillon at free-electrons.com>
Date:   Fri May 15 16:27:10 2015 +0200

    Add more stuff to the flash storage slides
    Signed-off-by: Boris Brezillon <boris.brezillon at free-electrons.com>


 .../sysdev-flash-filesystems.tex                   | 54 +++++++++++++---------
 1 file changed, 31 insertions(+), 23 deletions(-)

diff --git a/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex b/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
index fcad422..4dc4727 100644
--- a/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
+++ b/slides/sysdev-flash-filesystems/sysdev-flash-filesystems.tex
@@ -11,7 +11,6 @@
       increased for performance reasons)
     \item Considered as reliable (if the storage media is not, some
       hardware or software parts are supposed to make it reliable)
-    \item Used by the {\em mtd-utils} utilities
   \item Flash devices:
@@ -679,6 +678,31 @@ vol_alignment=1
+  \frametitle{U-Boot: UBI tools}
+  \begin{itemize}
+  \item Grouped under the \code{ubi} command
+    \begin{itemize}
+    \item \code{ubi part <part-name>} attach an MTD partition to the UBI
+      layer
+    \item \code{ubi info [layout]} display UBI device information (or
+      volume information if the \code{layout} string is passed
+    \item \code{ubi check <vol-name>} check if a volume exists
+    \item \code{ubi readvol <dest-addr> <vol-name> [<size>]} read volume
+      content
+    \item U-Boot also provides tools to update the UBI device content
+    \item Using them is highly discouraged (the U-Boot UBI implementation
+      is not entirely stable, and using commands that do not touch the UBI
+      metadata is safer)
+      \begin{itemize}
+      \item \code{ubi createvol <vol-name> [<size>] [<type>]}
+      \item \code{ubi removevol <vol-name>}
+      \item \code{ubi writevol <src-addr> <vol-name> <size>}
+      \end{itemize}
+    \end{itemize}
+  \end{itemize}
   \frametitle{Linux: UBI target tools (1)}
   \item Tools used on the target to dynamically create and modify
@@ -766,7 +790,7 @@ vol_alignment=1
     \item \code{rootfstype=ubifs root=ubi0:rootfs}: mount the
       \code{rootfs} volume on ubi0 as a UBIFS filesystem
-  \item Example\code{rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs}
+  \item Example: \code{rootfstype=ubifs ubi.mtd=1 root=ubi0:rootfs}
@@ -793,30 +817,13 @@ vol_alignment=1
-  \frametitle{Issues with flash-based block storage}
-  \begin{itemize}
-  \item Flash storage made available only through a block interface.
-  \item Hence, no way to access a low level flash interface
-    and use the Linux filesystems doing wear leveling.
-  \item No details about the layer (Flash Translation Layer) they
-    use. Details are kept as trade secrets, and may hide poor
-    implementations.
-  \item Can use {\em flashbench}
-        (\url{https://github.com/bradfa/flashbench}) to find out
-        the erase block size and optimize filesystem formating.
-  \item Not knowing about the wear leveling algorithm,
-        it is highly recommended to limit the number of writes
-        to these devices.
-  \end{itemize}
+%  \frametitle{Linux: ubiblk (TODO ?)}
   \frametitle{Useful reading}
-  \item Arnd Bergmann: Optimizing Linux with cheap flash drives\\
-    In depth coverage of flash storage with a block interface.\\
-    \url{http://lwn.net/Articles/428584/}
   \item Managing flash storage with Linux:\\
   \item Documentation on the linux-mtd website:\\
@@ -829,7 +836,8 @@ vol_alignment=1
   \item Creating partitions in your internal flash storage
-  \item Creating a UBI image with several volumes and flash it from u-boot
+  \item Creating a UBI image with several volumes and flashing it from
+    U-Boot
   \item Manipulating UBI volumes from linux

More information about the training-materials-updates mailing list