[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