[FE training-materials-updates] labs/buildroot-advanced: add a "Going further" step

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Tue Oct 17 13:46:35 CEST 2017

Repository : git://git.free-electrons.com/training-materials.git
On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=feb2d6e7fc161706815304ea6ef2d158b60a972f


commit feb2d6e7fc161706815304ea6ef2d158b60a972f
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Tue Oct 17 13:45:15 2017 +0200

    labs/buildroot-advanced: add a "Going further" step
    For participants ahead of schedule, add a going further step in which
    we switch from MMC to TFTP/NFS booting.
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>


 labs/buildroot-rootfs/buildroot-rootfs.tex | 32 ++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/labs/buildroot-rootfs/buildroot-rootfs.tex b/labs/buildroot-rootfs/buildroot-rootfs.tex
index ff4bdd2..78ddb5a 100644
--- a/labs/buildroot-rootfs/buildroot-rootfs.tex
+++ b/labs/buildroot-rootfs/buildroot-rootfs.tex
@@ -448,3 +448,35 @@ log:
 make 2>&1 | tee build.log
+\section{Going further}
+If you have some time left, let's improve our setup to use TFTP and
+NFS, in order to avoid having to reflash the SD card for every
+test. What you need to do is:
+\item Install a TFTP server (package \code{tftpd-hpa}) and a NFS
+  server (package \code{nfs-kernel-server}) on your system. Configure
+  the NFS server, in \code{/etc/exports} to export
+  \code{/home/<user>/nfsroot} over NFS.
+\item Copy the Linux kernel image and Device Tree to
+  \code{/var/lib/tftpboot} so that they are made available by the TFTP
+  server.
+\item Extract (as root) \code{rootfs.tar} to
+  \code{/home/<user>/nfsroot}.
+\item Change the U-Boot \code{bootcmd} to load the kernel image and
+  the Device Tree over TFTP.
+\item Change the U-Boot \code{bootargs} variable to tell the Linux
+  kernel that the root filesystem should be mounted over NFS:
+  \code{root=/dev/nfs ip=<IP of board> nfsroot=<IP of
+    PC>:/home/<user>/nfsroot}.
+See the training materials of our {\em Embedded Linux system
+  development} course for details!

More information about the training-materials-updates mailing list