[FE training-materials-updates] First updates for Linux 4.6 and Ubuntu 16.04

Michael Opdenacker michael.opdenacker at free-electrons.com
Mon May 16 08:50:31 CEST 2016


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

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

commit 7f905268ecb60710f0e23f287a49fb0ac2514d1d
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Mon May 16 08:50:31 2016 +0200

    First updates for Linux 4.6 and Ubuntu 16.04
    
    - For the embedded Linux course
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


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

7f905268ecb60710f0e23f287a49fb0ac2514d1d
 errata/tftpd-hpa.tex                               |   4 +-
 .../sama5d3_xplained-nandflashboot-uboot-3.7.1.bin | Bin 14508 -> 14376 bytes
 .../bootloader/data/u-boot-2016.03.bin             | Bin 0 -> 476744 bytes
 lab-data/embedded-linux/bootloader/data/u-boot.bin | Bin 440764 -> 18 bytes
 .../{busybox-1.23.config => busybox-1.24.config}   |  61 +++++++++++++--------
 labs/setup/setup.tex                               |   8 ++-
 .../sysdev-block-filesystems.tex                   |   8 +--
 .../sysdev-kernel-cross-compiling.tex              |   2 +-
 .../sysdev-kernel-fetch-and-patch.tex              |  16 +++---
 labs/sysdev-tinysystem/sysdev-tinysystem.tex       |  36 +++++++++++-
 labs/sysdev-toolchain/sysdev-toolchain.tex         |  30 ++++------
 labs/sysdev-u-boot/network-config-1.png            | Bin 40480 -> 70298 bytes
 labs/sysdev-u-boot/network-config-2.png            | Bin 24584 -> 20437 bytes
 labs/sysdev-u-boot/network-config-3.png            | Bin 50383 -> 43472 bytes
 labs/sysdev-u-boot/sysdev-u-boot.tex               |  40 +++++++-------
 labs/sysdev-u-boot/xplained-serial-connector.jpg   | Bin 0 -> 975599 bytes
 16 files changed, 122 insertions(+), 83 deletions(-)

diff --git a/errata/tftpd-hpa.tex b/errata/tftpd-hpa.tex
index f7ccf3e..0701e5c 100644
--- a/errata/tftpd-hpa.tex
+++ b/errata/tftpd-hpa.tex
@@ -1,7 +1,7 @@
 \fbox{
 \begin{minipage}{\textwidth}
-{\bf Caution: known issue in Ubuntu 12.04 and later (still present
-in Ubuntu 14.04)}: if download through tftp doesn't work,
+{\bf Caution: known issue in Ubuntu 14.04 and later (maybe still present
+in Ubuntu 16.04)}: if download through tftp doesn't work,
 you may have to stop the \code{tftpd-hpa} server and start it
 again every time you boot your workstation:
 
diff --git a/lab-data/embedded-linux/bootloader/data/sama5d3_xplained-nandflashboot-uboot-3.7.1.bin b/lab-data/embedded-linux/bootloader/data/sama5d3_xplained-nandflashboot-uboot-3.7.1.bin
old mode 100755
new mode 100644
index 56126ea..e346ee6
Binary files a/lab-data/embedded-linux/bootloader/data/sama5d3_xplained-nandflashboot-uboot-3.7.1.bin and b/lab-data/embedded-linux/bootloader/data/sama5d3_xplained-nandflashboot-uboot-3.7.1.bin differ
diff --git a/lab-data/embedded-linux/bootloader/data/u-boot-2016.03.bin b/lab-data/embedded-linux/bootloader/data/u-boot-2016.03.bin
new file mode 100644
index 0000000..83ab0ea
Binary files /dev/null and b/lab-data/embedded-linux/bootloader/data/u-boot-2016.03.bin differ
diff --git a/lab-data/embedded-linux/bootloader/data/u-boot.bin b/lab-data/embedded-linux/bootloader/data/u-boot.bin
deleted file mode 100755
index cad9493..0000000
Binary files a/lab-data/embedded-linux/bootloader/data/u-boot.bin and /dev/null differ
diff --git a/lab-data/embedded-linux/bootloader/data/u-boot.bin b/lab-data/embedded-linux/bootloader/data/u-boot.bin
new file mode 120000
index 0000000..fd1fd82
--- /dev/null
+++ b/lab-data/embedded-linux/bootloader/data/u-boot.bin
@@ -0,0 +1 @@
+u-boot-2016.03.bin
\ No newline at end of file
diff --git a/lab-data/embedded-linux/tinysystem/data/busybox-1.23.config b/lab-data/embedded-linux/tinysystem/data/busybox-1.24.config
similarity index 98%
rename from lab-data/embedded-linux/tinysystem/data/busybox-1.23.config
rename to lab-data/embedded-linux/tinysystem/data/busybox-1.24.config
index 7b7f3d5..ac99773 100644
--- a/lab-data/embedded-linux/tinysystem/data/busybox-1.23.config
+++ b/lab-data/embedded-linux/tinysystem/data/busybox-1.24.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Busybox version: 1.23.2
-# Wed Nov  4 23:09:52 2015
+# Busybox version: 1.24.2
+# Sun May 15 02:28:16 2016
 #
 CONFIG_HAVE_DOT_CONFIG=y
 
@@ -91,7 +91,7 @@ CONFIG_INSTALL_APPLET_SYMLINKS=y
 # CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
 # CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
 # CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="./_install"
+CONFIG_PREFIX="../nfsroot"
 
 #
 # Busybox Library Tuning
@@ -156,6 +156,7 @@ CONFIG_IOCTL_HEX2STR_ERROR=y
 # CONFIG_GZIP is not set
 # CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
 CONFIG_GZIP_FAST=0
+# CONFIG_FEATURE_GZIP_LEVELS is not set
 # CONFIG_LZOP is not set
 # CONFIG_LZOP_COMPR_HIGH is not set
 # CONFIG_RPM is not set
@@ -183,10 +184,17 @@ CONFIG_CAT=y
 # CONFIG_FEATURE_DATE_ISOFMT is not set
 # CONFIG_FEATURE_DATE_NANO is not set
 # CONFIG_FEATURE_DATE_COMPAT is not set
+# CONFIG_DD is not set
+# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set
+# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
+# CONFIG_FEATURE_DD_IBS_OBS is not set
+# CONFIG_FEATURE_DD_STATUS is not set
 # CONFIG_HOSTID is not set
 # CONFIG_ID is not set
 # CONFIG_GROUPS is not set
 CONFIG_SHUF=y
+CONFIG_SYNC=y
+# CONFIG_FEATURE_SYNC_FANCY is not set
 # CONFIG_TEST is not set
 # CONFIG_FEATURE_TEST_64 is not set
 CONFIG_TOUCH=y
@@ -195,6 +203,7 @@ CONFIG_TOUCH=y
 # CONFIG_TR is not set
 # CONFIG_FEATURE_TR_CLASSES is not set
 # CONFIG_FEATURE_TR_EQUIV is not set
+# CONFIG_TRUNCATE is not set
 CONFIG_UNLINK=y
 # CONFIG_BASE64 is not set
 # CONFIG_WHO is not set
@@ -211,10 +220,6 @@ CONFIG_CHMOD=y
 CONFIG_CP=y
 # CONFIG_FEATURE_CP_LONG_OPTIONS is not set
 # CONFIG_CUT is not set
-# CONFIG_DD is not set
-# CONFIG_FEATURE_DD_SIGNAL_HANDLING is not set
-# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
-# CONFIG_FEATURE_DD_IBS_OBS is not set
 CONFIG_DF=y
 CONFIG_FEATURE_DF_FANCY=y
 # CONFIG_DIRNAME is not set
@@ -283,7 +288,6 @@ CONFIG_SLEEP=y
 # CONFIG_FEATURE_STAT_FORMAT is not set
 # CONFIG_STTY is not set
 # CONFIG_SUM is not set
-CONFIG_SYNC=y
 # CONFIG_TAC is not set
 # CONFIG_TAIL is not set
 # CONFIG_FEATURE_FANCY_TAIL is not set
@@ -292,6 +296,7 @@ CONFIG_SYNC=y
 # CONFIG_TRUE is not set
 # CONFIG_TTY is not set
 CONFIG_UNAME=y
+CONFIG_UNAME_OSNAME="GNU/Linux"
 # CONFIG_UNEXPAND is not set
 # CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
 # CONFIG_UNIQ is not set
@@ -545,7 +550,18 @@ CONFIG_FEATURE_MDEV_RENAME=y
 CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
 CONFIG_FEATURE_MDEV_EXEC=y
 # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
+CONFIG_MOUNT=y
+# CONFIG_FEATURE_MOUNT_FAKE is not set
+# CONFIG_FEATURE_MOUNT_VERBOSE is not set
+# CONFIG_FEATURE_MOUNT_HELPERS is not set
+# CONFIG_FEATURE_MOUNT_LABEL is not set
+# CONFIG_FEATURE_MOUNT_NFS is not set
+# CONFIG_FEATURE_MOUNT_CIFS is not set
+CONFIG_FEATURE_MOUNT_FLAGS=y
+CONFIG_FEATURE_MOUNT_FSTAB=y
+# CONFIG_FEATURE_MOUNT_OTHERTAB is not set
 # CONFIG_REV is not set
+# CONFIG_UEVENT is not set
 # CONFIG_ACPID is not set
 # CONFIG_FEATURE_ACPID_COMPAT is not set
 # CONFIG_BLKID is not set
@@ -591,15 +607,6 @@ CONFIG_LSUSB=y
 # CONFIG_MKSWAP is not set
 # CONFIG_FEATURE_MKSWAP_UUID is not set
 CONFIG_MORE=y
-CONFIG_MOUNT=y
-# CONFIG_FEATURE_MOUNT_FAKE is not set
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-# CONFIG_FEATURE_MOUNT_HELPERS is not set
-# CONFIG_FEATURE_MOUNT_LABEL is not set
-# CONFIG_FEATURE_MOUNT_NFS is not set
-# CONFIG_FEATURE_MOUNT_CIFS is not set
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
 # CONFIG_PIVOT_ROOT is not set
 # CONFIG_RDATE is not set
 # CONFIG_RDEV is not set
@@ -652,10 +659,15 @@ CONFIG_FEATURE_UMOUNT_ALL=y
 # CONFIG_FEATURE_CROND_D is not set
 # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
 CONFIG_FEATURE_CROND_DIR=""
+# CONFIG_I2CGET is not set
+# CONFIG_I2CSET is not set
+# CONFIG_I2CDUMP is not set
+# CONFIG_I2CDETECT is not set
 # CONFIG_LESS is not set
 CONFIG_FEATURE_LESS_MAXLINES=0
 # CONFIG_FEATURE_LESS_BRACKETS is not set
 # CONFIG_FEATURE_LESS_FLAGS is not set
+# CONFIG_FEATURE_LESS_TRUNCATE is not set
 # CONFIG_FEATURE_LESS_MARKS is not set
 # CONFIG_FEATURE_LESS_REGEXP is not set
 # CONFIG_FEATURE_LESS_WINCH is not set
@@ -705,7 +717,7 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
 # CONFIG_FLASHCP is not set
 # CONFIG_FLASH_LOCK is not set
 # CONFIG_FLASH_UNLOCK is not set
-# CONFIG_FLASH_ERASEALL is not set
+CONFIG_FLASH_ERASEALL=y
 # CONFIG_IONICE is not set
 # CONFIG_INOTIFYD is not set
 # CONFIG_LAST is not set
@@ -750,6 +762,13 @@ CONFIG_FEATURE_BEEP_LENGTH_MS=0
 CONFIG_PING=y
 # CONFIG_PING6 is not set
 CONFIG_FEATURE_FANCY_PING=y
+# CONFIG_WGET is not set
+# CONFIG_FEATURE_WGET_STATUSBAR is not set
+# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
+# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
+# CONFIG_FEATURE_WGET_TIMEOUT is not set
+# CONFIG_FEATURE_WGET_OPENSSL is not set
+# CONFIG_FEATURE_WGET_SSL_HELPER is not set
 # CONFIG_WHOIS is not set
 # CONFIG_FEATURE_IPV6 is not set
 # CONFIG_FEATURE_UNIX_LOCAL is not set
@@ -811,6 +830,7 @@ CONFIG_IFUPDOWN_IFSTATE_PATH=""
 # CONFIG_FEATURE_IP_ADDRESS is not set
 # CONFIG_FEATURE_IP_LINK is not set
 # CONFIG_FEATURE_IP_ROUTE is not set
+CONFIG_FEATURE_IP_ROUTE_DIR=""
 # CONFIG_FEATURE_IP_TUNNEL is not set
 # CONFIG_FEATURE_IP_RULE is not set
 # CONFIG_FEATURE_IP_SHORT_FORMS is not set
@@ -873,11 +893,6 @@ CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
 CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
 # CONFIG_UDPSVD is not set
 # CONFIG_VCONFIG is not set
-# CONFIG_WGET is not set
-# CONFIG_FEATURE_WGET_STATUSBAR is not set
-# CONFIG_FEATURE_WGET_AUTHENTICATION is not set
-# CONFIG_FEATURE_WGET_LONG_OPTIONS is not set
-# CONFIG_FEATURE_WGET_TIMEOUT is not set
 # CONFIG_ZCIP is not set
 
 #
diff --git a/labs/setup/setup.tex b/labs/setup/setup.tex
index 9ff396b..5aaa140 100644
--- a/labs/setup/setup.tex
+++ b/labs/setup/setup.tex
@@ -59,7 +59,13 @@ Can be useful throughout any of the labs
   user may no longer be able to handle the corresponding generated
   files. In this case, use the \code{chown -R} command to give the new
   files back to your regular user.\\
-  Example: \code{chown -R myuser.myuser linux-3.4}
+  Example: \code{chown -R myuser.myuser linux-4.5}
+
+\item If you are using Gnome Terminal (the default terminal emulator
+  in Ubuntu 16.04), you can use tabs to have multiple terminals
+  in the same window. There's no more menu option to create a new
+  tab, but you can get one by pressing the \code{[Ctrl] [Shift] [t]}
+  keys.
 
 \end{itemize}
 
diff --git a/labs/sysdev-block-filesystems/sysdev-block-filesystems.tex b/labs/sysdev-block-filesystems/sysdev-block-filesystems.tex
index 1bc0adc..f01fd6c 100644
--- a/labs/sysdev-block-filesystems/sysdev-block-filesystems.tex
+++ b/labs/sysdev-block-filesystems/sysdev-block-filesystems.tex
@@ -24,13 +24,13 @@ directory, which we will progressively adapt to use block filesystems.
 
 \section{Filesystem support in the kernel}
 
-Recompile your kernel with support for SquashFS and ext3. Update your
+Recompile your kernel with support for SquashFS and ext3\footnote{Basic
+configuration options for these filesystems will be sufficient. No need
+for things like extended attributes.}. Update your
 kernel image in NAND flash.
 
 Boot your board with this new kernel and on the NFS filesystem you
-used in this previous lab\footnote{If you didn't do or complete the
-  tinysystem lab, you can use the \code{data/rootfs} directory
-  instead.}.
+used in this previous lab.
 
 Now, check the contents of \code{/proc/filesystems}. You should see
  that ext3 and SquashFS are now supported.
diff --git a/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex b/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex
index 0d26d28..033aebd 100644
--- a/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex
+++ b/labs/sysdev-kernel-cross-compiling/sysdev-kernel-cross-compiling.tex
@@ -102,7 +102,7 @@ We will use TFTP to load the kernel image on the Xplained board:
 
 \end{itemize}
 
-You should see Linux boot and finally crashing. This is expected: we
+You should see Linux boot and finally panicking. This is expected: we
 haven't provided a working root filesystem for our device yet.
 
 You can now automate all this every time the board is booted or
diff --git a/labs/sysdev-kernel-fetch-and-patch/sysdev-kernel-fetch-and-patch.tex b/labs/sysdev-kernel-fetch-and-patch/sysdev-kernel-fetch-and-patch.tex
index a41edd6..2e4b5ea 100644
--- a/labs/sysdev-kernel-fetch-and-patch/sysdev-kernel-fetch-and-patch.tex
+++ b/labs/sysdev-kernel-fetch-and-patch/sysdev-kernel-fetch-and-patch.tex
@@ -19,24 +19,24 @@ identify the latest stable version.
 Just to make sure you know how to do it, check the version of the
 Linux kernel running on your machine.
 
-We will use \code{linux-4.4.x}, which this lab was tested with.
+We will use \code{linux-4.6.x}, which this lab was tested with.
 
-To practice with the \code{patch} command later, download the full 4.3
-sources. Unpack the archive, which creates a \code{linux-4.3}
+To practice with the \code{patch} command later, download the full 4.5
+sources. Unpack the archive, which creates a \code{linux-4.5}
 directory. Remember that you can use \code{wget <URL>} on the command
 line to download files.
 
 \section{Apply patches}
 
-Download the 2 patch files corresponding to the latest 4.4 stable
-release: a first patch to move from 4.3 to 4.4 and a second patch to
-move from 4.4 to 4.4.x.
+Download the patch files corresponding to the latest 4.6 stable
+release: a first patch to move from 4.5 to 4.6 and if one exists,
+a second patch to move from 4.6 to 4.6.x.
 
-Without uncompressing them (!), apply the 2 patches to the Linux
+Without uncompressing them (!), apply the patches to the Linux
 source directory.
 
 View one of the 2 patch files with \code{vi} or \code{gvim}
 (if you prefer a graphical editor), to understand the information carried
 by such a file. How are described added or removed files?
 
-Rename the \code{linux-4.3} directory to \code{linux-4.4.<x>}.
+Rename the \code{linux-4.5} directory to \code{linux-4.6.<x>}.
diff --git a/labs/sysdev-tinysystem/sysdev-tinysystem.tex b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
index 86fec12..f3f2637 100644
--- a/labs/sysdev-tinysystem/sysdev-tinysystem.tex
+++ b/labs/sysdev-tinysystem/sysdev-tinysystem.tex
@@ -132,11 +132,11 @@ filesystem and finally make it usable.
 
 \section{Root filesystem with Busybox}
 
-Download the sources of the latest BusyBox 1.23.x release.
+Download the sources of the latest BusyBox 1.24.x release.
 
 To configure BusyBox, we won't be able to use \code{make xconfig},
-which is currently broken for BusyBox in Ubuntu 14.04, because of Qt
-library dependencies.
+which is currently broken for BusyBox in Ubuntu (14.04 and 16.04),
+because of Qt library dependencies.
 
 We are going to use \code{make gconfig} this time. Before doing this,
 install the required packages:
@@ -200,6 +200,36 @@ script, mount the \code{/proc} and \code{/sys} filesystems.
 
 Any issue after doing this?
 
+\section{Starting the shell in a proper terminal}
+
+Before the shell prompt, you probably noticed the below warning message:
+
+\begin{verbatim}
+/bin/sh: can't access tty; job control turned off
+\end{verbatim}
+
+This happens because the shell specified in the \code{/etc/inittab} file
+in started by default in \code{/dev/console}:
+
+\begin{verbatim}
+::askfirst:/bin/sh
+\end{verbatim}
+
+When nothing is specified before the leading \code{::}, \code{/dev/console}
+is used. However, while this device is fine for a simple shell, it is
+not elaborate enough to support things such as job control
+(\code{[Ctrl][c]} and \code{[Ctrl][z]}), allowing to interrupt and
+suspend jobs. 
+
+So, to get rid of the warning message, we need \code{init} to run
+\code{/bin/sh} in a real terminal device:
+
+\begin{verbatim}
+ttyS0::askfirst:/bin/sh
+\end{verbatim}
+
+Reboot the system and the message will be gone!
+
 \section{Switching to shared libraries}
 
 Take the \code{hello.c} program supplied in the lab \code{data}
diff --git a/labs/sysdev-toolchain/sysdev-toolchain.tex b/labs/sysdev-toolchain/sysdev-toolchain.tex
index 64b9654..7db43e8 100644
--- a/labs/sysdev-toolchain/sysdev-toolchain.tex
+++ b/labs/sysdev-toolchain/sysdev-toolchain.tex
@@ -18,7 +18,7 @@ Go to the \code{$HOME/embedded-linux-labs/toolchain} directory.
 Install the packages needed for this lab:
 
 \begin{verbatim}
-sudo apt-get install autoconf automake libtool libexpat1-dev \
+sudo apt-get install autoconf automake libtool-bin libexpat1-dev \
      libncurses5-dev bison flex patch curl cvs texinfo git bc \
      build-essential subversion gawk python-dev gperf unzip \
      pkg-config wget help2man
@@ -30,7 +30,7 @@ long command line!}
 
 \section{Getting Crosstool-ng}
 
-Let's download the 1.20.0 release of Crosstool-ng, through its git
+Let's download the 1.22.0 release of Crosstool-ng, through its git
 source repository: 
 
 \begin{verbatim}
@@ -104,13 +104,13 @@ In \code{Toolchain options}:
 
 In \code{C-library}:
 \begin{itemize}
-  \item Enable the \code{IPv6} support.
+  \item Enable \code{IPv6} support.
 \end{itemize}
 
 In \code{Debug facilities}:
 \begin{itemize}
-\item Make sure that \code{gdb}, \code{strace} and \code{ltrace})
-      are enabled.
+\item Make sure that \code{gdb}, \code{strace} and \code{ltrace}
+      are enabled. Select the \code{0.5.3} version of \code{ltrace}.
 \item Remove the remaining options (\code{dmalloc} and \code{duma}).
 \item In \code{gdb} options, make sure that the \code{Cross-gdb} and
       \code{Build a static gdbserver} options are enabled; the other
@@ -157,20 +157,6 @@ instead of \code{.bz2}) will be fine too. Then, all you have to do is run
 \code{./ct-ng build} again, and it will use the source archive that you
 downloaded.
 
-\subsubsection{ppl-0.10.2 compiling error with gcc 4.7.1}
-
-If you are using gcc 4.7.1, for example in Ubuntu 12.10 (not officially
-supported in these labs), compilation will fail in \code{ppl-0.10.2} with
-the below error:
-
-\begin{verbatim}
-error: 'f_info' was not declared in this scope
-\end{verbatim}
-
-One solution is to add the \code{-fpermissive} flag to the
-\code{CT_EXTRA_FLAGS_FOR_HOST} setting (in \code{Path and misc options
-->  Extra host compiler flags}).
-
 \section{Testing the toolchain}
 
 You can now test your toolchain by adding
@@ -184,7 +170,11 @@ correctly been compiled for the ARM architecture.
 
 \section{Cleaning up}
 
-To save about 6 GB of storage space, do a \code{./ct-ng clean} in the
+{\em Do this only if you have limited storage space. In case you made a
+mistake in the toolchain configuration, you may need to run Crosstool-ng
+again. Keeping generated files would save a significant amount of time.}
+
+To save about 7 GB of storage space, do a \code{./ct-ng clean} in the
 Crosstool-NG source directory. This will remove the source code of the
 different toolchain components, as well as all the generated files
 that are now useless since the toolchain has been installed in
diff --git a/labs/sysdev-u-boot/network-config-1.png b/labs/sysdev-u-boot/network-config-1.png
index 5264e3e..8940833 100644
Binary files a/labs/sysdev-u-boot/network-config-1.png and b/labs/sysdev-u-boot/network-config-1.png differ
diff --git a/labs/sysdev-u-boot/network-config-2.png b/labs/sysdev-u-boot/network-config-2.png
index ebeb621..6942628 100644
Binary files a/labs/sysdev-u-boot/network-config-2.png and b/labs/sysdev-u-boot/network-config-2.png differ
diff --git a/labs/sysdev-u-boot/network-config-3.png b/labs/sysdev-u-boot/network-config-3.png
index 0e007a3..6b29059 100644
Binary files a/labs/sysdev-u-boot/network-config-3.png and b/labs/sysdev-u-boot/network-config-3.png differ
diff --git a/labs/sysdev-u-boot/sysdev-u-boot.tex b/labs/sysdev-u-boot/sysdev-u-boot.tex
index c0b6d87..9c6ff0a 100644
--- a/labs/sysdev-u-boot/sysdev-u-boot.tex
+++ b/labs/sysdev-u-boot/sysdev-u-boot.tex
@@ -45,12 +45,6 @@ wget http://www.atmel.com/Images/sam-ba_2.15.zip
 unzip sam-ba_2.15.zip
 \end{verbatim}
 
-To run \code{sam-ba}, you will need to install the below libraries:
-
-\begin{verbatim}
-sudo apt-get install libxss1 libxft2
-\end{verbatim}
-
 \section{Setting up serial communication with the board}
 
 Plug the USB-to-serial cable on the Xplained board. The blue end of
@@ -58,6 +52,10 @@ the cable is going to \code{GND} on \code{J23}, red on \code{RXD} and
 green on \code{TXD}. When plugged in your computer, a serial port
 should appear, \code{/dev/ttyUSB0}.
 
+\begin{center}
+\includegraphics[width=8cm]{labs/sysdev-u-boot/xplained-serial-connector.jpg}
+\end{center}
+
 You can also see this device appear by looking at the output of
 \code{dmesg}.
 
@@ -194,12 +192,11 @@ the next section.
 Download U-Boot:
 
 \begin{verbatim}
-wget ftp://ftp.denx.de/pub/u-boot/u-boot-2015.04.tar.bz2
+wget ftp://ftp.denx.de/pub/u-boot/u-boot-2016.03.tar.bz2
 \end{verbatim}
 
-We're going to use a specific U-Boot version, \code{2015.04}, which we
-have tested to work on the Atmel Xplained board. More recent versions
-may also work, but we have not tested them.
+
+More recent versions may also work, but we have not tested them.
 
 Extract the source archive and get an understanding of U-Boot's
 configuration and compilation steps by reading the \code{README} file,
@@ -211,6 +208,8 @@ Basically, you need to:
 
 \item Set the \code{CROSS_COMPILE} environment variable;
 
+\item Run the \code{tools/genboardscfg.py} utility to generate
+      the \code{boards.cfg} file needed in the next step.
 \item Run \code{make <NAME>_defconfig}, where \code{<NAME>} is the
   name of your board as declared in \code{boards.cfg}. There are
   two flavors of the Xplained configuration: one to run from the SD card
@@ -240,7 +239,7 @@ Reset the board and check that it boots your new bootloaders. You can
 verify this by checking the build dates:
 
 \begin{verbatim}
-AT91Bootstrap 3.7.1 (Wed Oct 28 06:48:23 CET 2015)
+AT91Bootstrap 3.7.1 (Tue May 10 08:59:24 EDT 2016)
 
 NAND: ONFI flash detected
 NAND: Manufacturer ID: 0x2c Chip ID: 0x32
@@ -250,7 +249,7 @@ NAND: Image: Copy 0x80000 bytes from 0x40000 to 0x26f00000
 NAND: Done to load image
 
 
-U-Boot 2015.04 (Oct 28 2015 - 07:11:52)
+U-Boot 2016.03 (May 10 2016 - 09:12:47 -0400)
 
 CPU: SAMA5D36
 Crystal frequency:       12 MHz
@@ -274,7 +273,7 @@ Hit any key to stop autoboot:  0
 
 Interrupt the countdown to enter the U-Boot shell:
 \begin{verbatim}
-U-Boot #
+=>
 \end{verbatim}
 
 In U-Boot, type the \code{help} command, and explore the few commands
@@ -303,26 +302,25 @@ the {\em Network Manager} tasklet on your desktop, and select {\em
 \includegraphics[width=8cm]{labs/sysdev-u-boot/network-config-1.png}
 \end{center}
 
-Select the new {\em wired network connection}:
+Select {\em Wired connection 1} and press the {\em Edit} button.
 
 \begin{center}
 \includegraphics[width=8cm]{labs/sysdev-u-boot/network-config-2.png}
 \end{center}
 
-In the \code{IPv4 Settings} tab, press the \code{Add} button
-and then choose the \code{Manual} method to make the interface use
-a static IP address, like \code{192.168.0.1} (of course, make sure
-that this address belongs to a separate network segment from the one
-of the main company network).
+In the \code{IPv4 Settings} tab, choose the \code{Manual} method
+to make the interface use a static IP address, like \code{192.168.0.1}
+(of course, make sure that this address belongs to a separate network
+segment from the one of the main company network).
 
 \begin{center}
 \includegraphics[width=8cm]{labs/sysdev-u-boot/network-config-3.png}
 \end{center}
 
-You can use \code{255.255.255.0} as \code{Netmask}, and leave the
+You can use \code{24} as \code{Netmask}, and leave the
 \code{Gateway} field untouched (if you click on the \code{Gateway} box, you
 will have to type a valid IP address, otherwise you won't be allowed to
-click on the \code{Apply} button).
+click on the \code{Save} button).
 
 Now, configure the network on the board in U-Boot by setting the \code{ipaddr}
 and \code{serverip} environment variables:
diff --git a/labs/sysdev-u-boot/xplained-serial-connector.jpg b/labs/sysdev-u-boot/xplained-serial-connector.jpg
new file mode 100644
index 0000000..7440432
Binary files /dev/null and b/labs/sysdev-u-boot/xplained-serial-connector.jpg differ




More information about the training-materials-updates mailing list