[FE training-materials-updates] buildroot-rootfs: a few additional slides
Thomas Petazzoni
thomas.petazzoni at free-electrons.com
Thu May 7 13:44:47 CEST 2015
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=2f77981fdffa1cb3e2df84cc4d72209f388401a8
>---------------------------------------------------------------
commit 2f77981fdffa1cb3e2df84cc4d72209f388401a8
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date: Thu May 7 13:44:45 2015 +0200
buildroot-rootfs: a few additional slides
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
>---------------------------------------------------------------
2f77981fdffa1cb3e2df84cc4d72209f388401a8
slides/buildroot-rootfs/buildroot-rootfs.tex | 61 ++++++++++++++++++++++++++++
1 file changed, 61 insertions(+)
diff --git a/slides/buildroot-rootfs/buildroot-rootfs.tex b/slides/buildroot-rootfs/buildroot-rootfs.tex
index 147333a..5712ce7 100644
--- a/slides/buildroot-rootfs/buildroot-rootfs.tex
+++ b/slides/buildroot-rootfs/buildroot-rootfs.tex
@@ -321,6 +321,67 @@ test 8000 wheel -1 = - /bin/sh - Test u
\end{itemize}
\end{frame}
+\begin{frame}{Deploying the images}
+ \begin{itemize}
+ \item By default, Buildroot simply stores the different images in
+ \code{$(O)/images}
+ \item It is up to the user to deploy those images to the target
+ device.
+ \item Possible solutions:
+ \begin{itemize}
+ \item For removable storage (SD card, USB keys):
+ \begin{itemize}
+ \item manually create the partitions and extract the root
+ filesystem as a tarball to the appropriate partition.
+ \item use a tool like \code{genimage} to create a complete image
+ of the media, including all partitions
+ \end{itemize}
+ \item For NAND flash:
+ \begin{itemize}
+ \item Transfer the image to the target, and flash it.
+ \end{itemize}
+ \item NFS booting
+ \item initramfs
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Deploying the image: NFS booting}
+ \begin{itemize}
+ \item Many people try to use \code{$(O)/target} directly for NFS booting
+ \begin{itemize}
+ \item This cannot work, due to permissions/ownership being
+ incorrect
+ \item Clearly explained in the
+ \code{THIS_IS_NOT_YOUR_ROOT_FILESYSTEM} file.
+ \end{itemize}
+ \item Generate a tarball of the root filesystem
+ \item Use \code{sudo tar -C /nfs -xf output/images/rootfs.tar} to
+ prepare your NFS share.
+ \end{itemize}
+\end{frame}
+
+\begin{frame}{Deploying the image: initramfs}
+ \begin{itemize}
+
+ \item Another common use case is to use an {\em initramfs}, i.e a
+ root filesystem fully in RAM.
+ \begin{itemize}
+ \item Convenient for small filesystems, fast booting or kernel
+ development
+ \end{itemize}
+ \item Two solutions:
+ \begin{itemize}
+ \item \code{BR2_TARGET_ROOTFS_CPIO=y} to generate a {\em cpio}
+ archive, that you can load from your bootloader next to the
+ kernel image.
+ \item \code{BR2_TARGET_ROOTFS_INITRAMFS=y} to directly include the
+ {\em initramfs} inside the kernel image. Only available when the
+ kernel is built by Buildroot.
+ \end{itemize}
+ \end{itemize}
+\end{frame}
+
\setuplabframe
{Root filesystem construction}
{
More information about the training-materials-updates
mailing list