[FE training-materials-updates] Boot time slides: explicit details about mklibs
Michael Opdenacker
michael.opdenacker at free-electrons.com
Tue Dec 24 06:05:11 CET 2013
Repository : git://git.free-electrons.com/training-materials.git
On branch : master
Link : http://git.free-electrons.com/training-materials/commit/?id=16a65cb4deaa10b27d6f771780ca9f25a7847b5c
>---------------------------------------------------------------
commit 16a65cb4deaa10b27d6f771780ca9f25a7847b5c
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date: Tue Dec 24 05:40:45 2013 +0100
Boot time slides: explicit details about mklibs
Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>
>---------------------------------------------------------------
16a65cb4deaa10b27d6f771780ca9f25a7847b5c
.../boottime-init-scripts.tex | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/slides/boottime-init-scripts/boottime-init-scripts.tex b/slides/boottime-init-scripts/boottime-init-scripts.tex
index 94f42d2..1cf3927 100644
--- a/slides/boottime-init-scripts/boottime-init-scripts.tex
+++ b/slides/boottime-init-scripts/boottime-init-scripts.tex
@@ -151,7 +151,7 @@ See \url{http://elinux.org/Optimize_RC_Scripts}
\end{frame}
\begin{frame}
-\frametitle{Reduce size}
+\frametitle{Reduce size (1)}
\begin{itemize}
\item Strip your executables and libraries, removing ELF sections
only needed for development and debugging. The \code{strip}
@@ -162,13 +162,24 @@ See \url{http://elinux.org/Optimize_RC_Scripts}
Goes beyond \code{strip} and can strip out a few more bits
that are not used by Linux to start an executable.
\code{BR2_STRIP_sstrip} in Buildroot.
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Reduce size (2)}
+\begin{itemize}
\item use \code{mklibs}, available at
\url{http://packages.debian.org/sid/mklibs}.
- \code{mklibs} produces cut-down shared libraries that contain
+ \begin{itemize}
+ \item \code{mklibs} produces cut-down shared libraries that contain
only the routines required by a particular set of executables.
Really useful with big libraries like OpenGL and QT. It even
- works without having the source code but be careful as
- sometimes it can strip a bit too much (dlopened libraries).
+ works without having the source code.
+ \item Available in Yocto, but not in Buildroot (at least
+ in 2013.11).
+ \item Limitation: \code{mklibs} could remove \code{dlopen}ed libraries
+ (loaded "manually" by applications) because it doesn't see them.
+ \end{itemize}
\end{itemize}
\end{frame}
More information about the training-materials-updates
mailing list