Re: [PATCH v2] docs: describe how to quickly build a trimmed kernel

From: Bagas Sanjaya
Date: Tue Feb 14 2023 - 22:51:44 EST


On Tue, Feb 14, 2023 at 07:58:09PM +0100, Thorsten Leemhuis wrote:
> + Execute the following command to retrieve a fresh mainline codebase::
> +
> + git clone --no-checkput --depth 1 -b master \
> + https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git \
> + ~/linux/sources/
> + cd ~/linux/sources/
> +
> + If you want to access recent mainline releases and pre-releases, deepen you
> + clone's history to the oldest version you are interested in::
> +
> + git fetch --shallow-exclude=v6.0

For me, another way is to use `git fetch --shallow-since="<some-date>"
&& git repack -a -d`. This requires knowing version release date. If
you want that version, the date used should be one or two days before
that version's release date. Repacking is important!

Nevertheless, you need to go to Git ML and ask why repacking is required
in that case (I have tried searching threads there, but inconclusive).

> +The make target olddefconfig and the ``yes "" |`` used when utilizing
> +localmodconfig will set any undefined build options to their default value. This
> +among others will disable many kernel features that were introduced after your
> +base kernel was released.
> +
> +If you want to set these configurations options manually, use ``oldconfig``
> +instead of ``olddefconfig`` or omit the ``yes "" |`` when utilizing
> +localmodconfig. Then for each undefined configuration option you will be asked
> +how to proceed. In case you are unsure what to answer, simply hit 'enter' to
> +apply the default value.

olddefconfig and `yes "" | make localmodconfig` can produce different
config, since the default value for new config symbols may not be Y.
Often, for new drivers, the default is N.


> + * Remove a stale reference to a certificate file that would cause your build to
> + fail::
> +
> + ./scripts/config --file ~/linux/build/.config --set-str SYSTEM_TRUSTED_KEYS ''
> +
> + Alternatively, download the needed certificate and make that configuration
> + option point to it, as `the Debian handbook explains in more detail
> + <https://debian-handbook.info/browse/stable/sect.kernel-compilation.html>`_ .
> +

Another way is to generate the certificate yourself (see
Documentation/admin-guide/module-signing.rst for the instructions).

Thanks.

--
An old man doll... just what I always wanted! - Clara

Attachment: signature.asc
Description: PGP signature