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  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:	Wed, 6 Aug 2014 17:04:14 -0700
From:	Josh Triplett <josh@...htriplett.org>
To:	David Rientjes <rientjes@...gle.com>
Cc:	akpm@...ux-foundation.org, torvalds@...ux-foundation.org,
	"Luis R. Rodriguez" <mcgrof@...e.com>,
	"H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...hat.com>,
	Thomas Gleixner <tglx@...utronix.de>, x86@...nel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [PATCH 2/2] x86: Add "make tinyconfig" to configure the tiniest
 possible kernel

On Wed, Aug 06, 2014 at 04:37:54PM -0700, David Rientjes wrote:
> On Wed, 6 Aug 2014, Josh Triplett wrote:
> > On Wed, Aug 06, 2014 at 03:38:56PM -0700, David Rientjes wrote:
> > > On Wed, 6 Aug 2014, Josh Triplett wrote:
> > > > diff --git a/arch/x86/Makefile b/arch/x86/Makefile
> > > > index 1568678..2b5ca16 100644
> > > > --- a/arch/x86/Makefile
> > > > +++ b/arch/x86/Makefile
> > > > @@ -257,6 +257,10 @@ PHONY += kvmconfig
> > > >  kvmconfig:
> > > >  	$(call mergeconfig,kvm_guest)
> > > >  
> > > > +PHONY += tinyconfig
> > > > +tinyconfig: allnoconfig
> > > 
> > > Calling allnoconfig here makes "make tinyconfig" default to CONFIG_X86_32 
> > > even on 64 bit platforms and the caller would need to explicitly do
> > > "make ARCH=x86_64 tinyconfig" to avoid it.  It's not clear that this is 
> > > intended from the documentation of tinyconfig, that tiniest == 32 bit by 
> > > default.
> > 
> > Calling allnoconfig was quite intentional; this is intended to be the
> > smallest possible configuration, and unlike kvmconfig (which modifies an
> > existing configuration to make it suitable for a KVM guest), this
> > intentionally creates a specific new configuration from scratch.
> > 
> > 32-bit produces a far smaller kernel than 64-bit, so having that as the
> > default for tinyconfig seems quite appropriate.  As you showed, it's
> > easy enough to override it if needed.  I'd expect many potential users
> > of tinyconfig for embedded systems to start with tinyconfig and then
> > immediately use menuconfig to enable a pile of additional options.
> 
> In that case, any reason to make tinyconfig x86 only?

The set of configuration options may vary by architecture.  For
instance, NOHIGHMEM only exists on x86.  So, at a minimum, different
architectures will require different versions of tiny.config.

The target itself and the common options could theoretically be shared,
but that would require splitting the configuration, and it isn't obvious
where the non-arch-specific tiny.config would live.  There doesn't
appear to be any precedent for that kind of setup; only x86 has a
configuration other than defconfigs (specifically, kvm_guest.config).  I
don't think it's likely that new targets like this will pop up often in
the future, either.

Nonetheless, I could modify scripts/kconfig/Makefile to add this target
instead, if someone has a good suggestion for where the
non-arch-specific tiny.config should live.  (kernel/configs/ ?)

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

Powered by blists - more mailing lists