lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 6 Mar 2023 06:40:18 +0100
From:   Thorsten Leemhuis <linux@...mhuis.info>
To:     Bagas Sanjaya <bagasdotme@...il.com>,
        Jonathan Corbet <corbet@....net>
Cc:     Randy Dunlap <rdunlap@...radead.org>,
        Lukas Bulwahn <lukas.bulwahn@...il.com>,
        linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
        regressions@...ts.linux.dev
Subject: Re: [PATCH v3] docs: describe how to quickly build a trimmed kernel

On 06.03.23 05:19, Bagas Sanjaya wrote:
> On Sun, Mar 05, 2023 at 02:04:44PM +0100, Thorsten Leemhuis wrote:
>> + * Create the build configuration for your kernel based on an existing
>> +   configuration.
>> +
>> +   If you already prepared such a '.config' file yourself, copy it to
>> +   ~/linux/ and run ``make olddefconfig``.
>> +
>> +   Use the same command, if your distribution or somebody else already tailored
>> +   your running kernel to your or your hardware's needs: the make target
>> +   'olddefconfig' will then try to use that kernel's .config as base.
>> +
>> +   Using this make target is fine for everybody else, too -- but you often can
>> +   save a lot of time by using this command instead::
>> +
>> +     yes "" | make localmodconfig
>> +
>> +   This will try to pick your distribution's kernel as base, but then disable
>> +   modules for any features apparently superfluous for your setup. This will
>> +   reduce the compile time enormously, especially if you are running an
>> +   universal kernel from a commodity Linux distribution.
>> +
>> +   There is a catch: the make target 'localmodconfig' will disable kernel
>> +   features you have not directly or indirectly through some program utilized
>> +   since you booted the system. You can reduce or nearly eliminate that risk by
>> +   using tricks outlined in the reference section; for quick testing purposes
>> +   that risk is often negligible, but it is an aspect you want to keep in mind
>> +   in case your kernel behaves oddly.
> 
> If your distro config have ``CONFIG_IKCONFIG=y``, you can copy from
> procfs::
> 
>     zcat /proc/config.gz > .config

Localmodconfig afaics does that automatically and I'm pretty sure
olddefconfig does that, too (but I didn't check either). So no need to
explain this in the text afaics.

> If it isn't the case, you may want to enable the aforementioned config
> option.

That or put them in /boot/config-$(uname -r). But well, that is
something the provider of the running kernel needs to do, so it won't
help the reader if we mention it here.

Or do you think the guide should explain this to ensure people can
pickup their config from there again in case they deleted their build
artifacts? Hmmm. I currently tend to think that's not worth making the
text longer for, as at that point it might be better to restart from
scratch with a distro config anyway.

Ciao, Thorsten

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ