[FE training-materials-updates] kernel labs: use U-Boot saveenv command
Michael Opdenacker
michael.opdenacker at free-electrons.com
Thu Oct 3 06:05:23 CEST 2013
Repository : git://git.free-electrons.com/training-materials.git
On branch : kernel-ng
Link : http://git.free-electrons.com/training-materials/commit/?id=ff5f99eca21ff2fb9d30e8fb054b93a2fdc92d33
>---------------------------------------------------------------
commit ff5f99eca21ff2fb9d30e8fb054b93a2fdc92d33
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date: Thu Oct 3 06:02:22 2013 +0200
kernel labs: use U-Boot saveenv command
- Now works fine with a properly configured U-Boot
for Beagle Bone Black.
Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>
>---------------------------------------------------------------
ff5f99eca21ff2fb9d30e8fb054b93a2fdc92d33
labs/kernel-board-setup/kernel-board-setup.tex | 17 +++++------------
.../kernel-compiling-and-nfs-booting.tex | 17 ++++++++---------
2 files changed, 13 insertions(+), 21 deletions(-)
diff --git a/labs/kernel-board-setup/kernel-board-setup.tex b/labs/kernel-board-setup/kernel-board-setup.tex
index 300feea..d562c9b 100644
--- a/labs/kernel-board-setup/kernel-board-setup.tex
+++ b/labs/kernel-board-setup/kernel-board-setup.tex
@@ -213,24 +213,17 @@ or set it to \code{0.0.0.0}:
Now, it's time to configure networking on U-Boot's side.
-Remove the micro-SD card and connect it to your workstation. Create a
-new \code{uEnv.txt} file in the boot partition (mounted on
-\code{/media/boot}), with the below contents:
+Back to the U-Boot command line, set the below environment variables:
\begin{verbatim}
-ipaddr=192.168.0.100
-serverip=192.168.0.1
+setenv ipaddr 192.168.0.100
+setenv serverip 192.168.0.1
\end{verbatim}
-Umount your micro-SD card, put in back in the board, and reset your
-BeagleBone Black.
-
-Make sure that your environment settings were loaded properly, by
-checking the value of your environment variables:
+Save these settings to the MMC card:
\begin{verbatim}
-U-Boot# printenv ipaddr
-ipaddr=192.168.0.100
+saveenv
\end{verbatim}
You can then test the TFTP connection. First, put a small text
diff --git a/labs/kernel-compiling-and-nfs-booting/kernel-compiling-and-nfs-booting.tex b/labs/kernel-compiling-and-nfs-booting/kernel-compiling-and-nfs-booting.tex
index 03c186a..cfaa0e6 100644
--- a/labs/kernel-compiling-and-nfs-booting/kernel-compiling-and-nfs-booting.tex
+++ b/labs/kernel-compiling-and-nfs-booting/kernel-compiling-and-nfs-booting.tex
@@ -176,12 +176,14 @@ First, boot the board to the U-Boot prompt. Before booting the kernel,
we need to tell it which console to use and that the root filesystem
should be mounted over NFS, by setting some kernel parameters.
-Do this by setting U-boot's \code{bootargs} environment variable:
-Modify the \code{uEnv.txt} file by adding the below line (in just 1 line):
+Do this by setting U-boot's \code{bootargs} environment variable (all in
+just one line, pay attention to the \code{O} character, like "OMAP", in
+\code{ttyO0}):
\begin{verbatim}
setenv bootargs root=/dev/nfs ip=192.168.0.100 console=ttyO0
nfsroot=192.168.0.1:/home/<user>/felabs/linux/modules/nfsroot
+saveenv
\end{verbatim}
Of course, you need to adapt the IP addresses to your exact network
@@ -213,19 +215,16 @@ also have a look at the NFS server logs in \code{/var/log/syslog}.
\section{Automate the boot process}
To avoid typing the same U-boot commands over and over again each time
-you power on or reset your board, here's a way to automatically call the
-above commands at boot time:
+you power on or reset your board, you can use U-Boot's \code{bootcmd}
+environment variable:
-Modify your \code{uEnv.txt} file and add the below lines:
{\scriptsize
\begin{verbatim}
-bootargs=root=/dev/nfs ip=192.168.0.100 console=ttyO0 nfsroot=192.168.0.1:/home/<user>/felabs/linux/modules/nfsroot
-uenvcmd=tftp 0x81000000 uImage; tftp 0x82000000 am335x-boneblack.dtb; bootm 0x81000000 - 0x82000000
+setenv bootcmd 'tftp 0x81000000 uImage; tftp 0x82000000 am335x-boneblack.dtb; bootm 0x81000000 - 0x82000000'
+saveenv
\end{verbatim}
}
-\code{uenvcmd} will automatically be run after the U-boot timeout
-expires and the \code{uEnv.txt} settings are loaded.
Don't hesitate to change it according to your exact needs.
We could also copy the \code{uImage} file to the eMMC flash and avoid
More information about the training-materials-updates
mailing list