[Ksummit-discuss] RFC: Kernel tinification - kernel config reduction

Geert Uytterhoeven geert at linux-m68k.org
Thu Aug 14 07:40:20 UTC 2014


Hi Günther,

On Thu, Aug 14, 2014 at 12:45 AM, Guenter Roeck <linux at roeck-us.net> wrote:
> On Wed, Aug 13, 2014 at 09:53:58PM +0200, Geert Uytterhoeven wrote:
>> On Wed, Aug 13, 2014 at 8:07 PM, Guenter Roeck <linux at roeck-us.net> wrote:
>> > Major problem I see is that many architecture maintainers don't seem to care
>> > about "make allmodconfig" and/or "make allyesconfig", meaning there is no
>> > simple means to at least compile-test all code that _can_ be enabled for
>> > a given architecture. And don't even mention "make randconfig".
>>
>> There are still architectures that don't support multi-platform kernels, which
>> is a requirement for good coverage.
>>
> This is not about creating a working kernel, but for compile tests. I have
> separate configurations to test working kernels. But I would prefer to build,

If you manage to fix the duplicate symbols due to combining multiple
single-platform configs into one kernel image, why not go to the next step
to make it actually work, if possible?

E.g. a m68k allmodconfig kernel is supposed to work (actually haven't tried
that since we fixed the 4 MiB kernel size limit to make multi_defconfig work
in the not-so-tiny new world order).

> say, no more than half a dozen arm configurations instead of the 40 in my
> current build list.

For ARM, this is (slowly) being fixed. Stay tuned for 2-3 more years ;-)

>> An alternative could be to have several allmodconfig builds, one for each
>> subset that can't be built-in together, like
>>
>> make CONFIG_SUBSET_FOO=y allmodconfig
>> make CONFIG_SUBSET_BAR=y allmodconfig
>> ...
>>
> Maybe something like
>
> make PCI=n allmodconfig
> make GPIOLIB=n allmodconfig
>
> which would let me disable key options selectively so I can improve compile
> coverage without having to go through all configurations (or randconfig).

That's doable, using KCONFIG_ALLCONFIG.

>> You also only build some of the allmodconfigs?
>>
> Never "only". I always also build defconfig, plus at least sometimes a couple
> of additional configurations (if available) to improve coverage of conditional
> functionality.

Sorry, should have said "only some of the allmodconfigs".
I noticed for e.g. m68k you build defconfig and allmodconfig (and a nommu
config), but for some other architectures only defconfig.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds


More information about the Ksummit-discuss mailing list