[bootlin/training-materials updates] master: boot-time slides: kernel: tip to identify biggest symbols (292cce34)

Michael Opdenacker michael.opdenacker at bootlin.com
Fri Jun 16 11:53:44 CEST 2023


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/292cce34148b30d1161eb9bf1b8b96a9788dcf4f

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

commit 292cce34148b30d1161eb9bf1b8b96a9788dcf4f
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Fri Jun 16 11:53:44 2023 +0200

    boot-time slides: kernel: tip to identify biggest symbols
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


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

292cce34148b30d1161eb9bf1b8b96a9788dcf4f
 slides/boot-time-kernel/boot-time-kernel.tex | 38 ++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/slides/boot-time-kernel/boot-time-kernel.tex b/slides/boot-time-kernel/boot-time-kernel.tex
index 4170f1b8..a61ea1d3 100644
--- a/slides/boot-time-kernel/boot-time-kernel.tex
+++ b/slides/boot-time-kernel/boot-time-kernel.tex
@@ -127,6 +127,44 @@ First, we focus on reducing the size without removing features
 \end{itemize}
 \end{frame}
 
+\begin{frame}[fragile]
+\frametitle{Reduce kernel size - Detect the biggest symbols}
+\footnotesize
+\begin{columns}
+\column{0.5\textwidth}
+\begin{itemize}
+	\item Use this command to find the biggest symbols in the compiled kernel:\\
+	      \code{nm --size -r vmlinux}
+	\item For those which could be unnecessary, look for them in the code
+	\item Then study the corresponding \code{Makefile} to see
+	      how not to compile them, if possible.
+	\item See \url{https://elinux.org/System_Size}
+\end{itemize}
+\column{0.5\textwidth}
+\begin{block}{}
+\begin{verbatim}
+$ nm --size -r vmlinux
+00003f00 b serial8250_ports
+000039c0 D v4l2_dv_timings_presets
+000038b8 T hidinput_connect
+00003790 d edid_cea_modes_1
+00002680 d drm_dmt_modes
+00002000 b page_address_maps
+00002000 d crc32table_le
+00002000 d crc32table_be
+00002000 d crc32ctable_le
+00002000 d blake2s_testvecs
+00001b90 b fb_display
+00001b0a T v4l2_ctrl_get_name
+00001ae8 t usbdev_ioctl
+00001ac0 t v4l_enum_fmt
+000019e0 t do_con_write
+...
+\end{verbatim}
+\end{block}
+\end{columns}
+\end{frame}
+
 \begin{frame}
 \frametitle{Kernel Compression}
 Depending on the balance between your storage reading speed and your




More information about the training-materials-updates mailing list