Re: [PATCH] x86: Add "make tinyconfig" to configure the tiniest possible kernel

From: Josh Triplett
Date: Wed Aug 06 2014 - 18:24:48 EST


On Wed, Aug 06, 2014 at 03:06:11PM -0700, David Rientjes wrote:
> On Wed, 6 Aug 2014, Josh Triplett wrote:
> > Since commit 5d2acfc7b974bbd3858b4dd3f2cdc6362dd8843a ("kconfig: make
> > allnoconfig disable options behind EMBEDDED and EXPERT") in 3.15-rc1,
> > "make allnoconfig" disables every possible config option.
> >
> > However, a few configuration options (CC_OPTIMIZE_FOR_SIZE,
> > OPTIMIZE_INLINING) produce a smaller kernel when turned on, and a few
> > choices exist (compression, highmem, allocator) for which a non-default
> > option produces a smaller kernel.
> >
> > Add a "tinyconfig" target, which starts from allnoconfig and then sets
> > these options to configure the tiniest possible kernel. This provides a
> > better baseline for embedded systems or efforts to reduce kernel size.
> >
>
> I like it, the only comment that I have is that we already have a
> xenconfig patchset sitting around that adds a helper function for this
> functionality in the x86 Makefile that hasn't been merged yet.
>
> The *config functionality is added in
> http://marc.info/?l=linux-kernel&m=140233900403377
>
> and then used in
> http://marc.info/?l=linux-kernel&m=140233901403381
> http://marc.info/?l=linux-kernel&m=140233904503428
>
> and have been pending since June. I was going to ask Luis to rebase and
> resend, but perhaps you can send the first patch along as a predecessor to
> your patch and then let tinyconfig use build-virtconfig?

Sure, no problem. I ended up modifying that patch a bit, but I included
a mini-changelog in it noting that I based it on Luis's patch. Will
send a 2-patch v2 series momentarily, in response to this mail.

- Josh Triplett
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/