All of lore.kernel.org
 help / color / mirror / Atom feed
From: Casey Schaufler <casey@schaufler-ca.com>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Dave Jones <davej@redhat.com>,
	Greg Kroah-Hartman <greg@kroah.com>,
	Ubuntu Kernel Team <kernel-team@lists.ubuntu.com>,
	Debian Kernel Team <debian-kernel@lists.debian.org>,
	OpenSUSE Kernel Team <opensuse-kernel@opensuse.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [RFC] Simplifying kernel configuration for distro issues
Date: Fri, 13 Jul 2012 14:17:05 -0700	[thread overview]
Message-ID: <50009051.3060806@schaufler-ca.com> (raw)
In-Reply-To: <CA+55aFxw8pY1KMjobp=dKJd+g4B9KGhe4+fsfSPA3ofCGVhkPQ@mail.gmail.com>

On 7/13/2012 1:37 PM, Linus Torvalds wrote:
> So this has long been one of my pet configuration peeves: as a user I
> am perfectly happy answering the questions about what kinds of
> hardware I want the kernel to support (I kind of know that), but many
> of the "support infrastructure" questions are very opaque, and I have
> no idea which of the them any particular distribution actually depends
> on.
>
> And it tends to change over time. For example, F14 (iirc) started
> using TMPFS and TMPFS_POSIX_ACL/XATTR for /dev. And starting in F16,
> the initrd setup requires DEVTMPFS and DEVTMPFS_MOUNT. There's been
> several times when I started with my old minimal config, and the
> resulting kernel would boot, but something wouldn't quite work right,
> and it can be very subtle indeed.
>
> Similarly, the distro ends up having very particular requirements for
> exactly *which* security models it uses and needs, and they tend to
> change over time. And now with systemd, CGROUPS suddenly aren't just
> esoteric things that no normal person would want to use, but are used
> for basic infrastructure. And I remember being surprised by OpenSUSE
> suddenly needing the RAW table support for netfilter, because it had a
> NOTRACK rule or something.
>
> The point I'm slowly getting to is that I would actually love to have
> *distro* Kconfig-files, where the distribution would be able to say
> "These are the minimums I *require* to work".

Oh dear. I would expect Fedora to say that they require SELinux,
thereby making it unusable by anyone doing LSM development. It
would also make it more difficult for the people who don't want
any LSM (e.g. everyone sane) to configure the kernel they want.

This is the example that I see because of my particular biases.
I expect that there are similar things that distros do in other
areas that will have the same effect. The distro developers may
have decided that a feature is too cool to live without and
include it in their configuration even when it's not really
necessary. Plus, do you really think that they're going to
clean things out of their configuration when they decide that
they no longer need them?


>  So we'd have a "Distro"
> submenu, where you could pick the distro(s) you use, and then pick
> which release, and we'd have something like
>
>  - distro/Kconfig:
>
>     config DISTRO_REQUIREMENTS
>         bool "Pick minimal distribution requirements"
>
>     choice DISTRO
>         prompt "Distribution"
>         depends on DISTRO_REQUIREMENTS
>
>     config FEDORA
>     config OPENSUSE
>     config UBUNTU
>     ...
>
>     endchoice
>
> and then depending on the DISTRO config, we'd include one of the
> distro-specific ones with lists of supported distro versions and then
> the random config settings for that version:
>
>  - distro/Kconfig.suse:
>
>     config OPENSUSE_121
>         select OPENSUSE_11
>         select IP_NF_RAW  # ..
>
>  - distro/Kconfig.Fedora:
>
>     config FEDORA_16
>         select FEDORA_15
>         select DEVTMPFS               # F16 initrd needs this
>         select DEVTMPFS_MOUNT  # .. and expects the kernel to mount
> DEVTMPFS automatically
>         ...
>
>     config FEDORA_17
>         select FEDORA_16
>         select CGROUP_xyzzy
>         ...
>
> and the point would be that it would make it much easier for a normal
> user (and quite frankly, I want to put myself in that group too) to
> make a kernel config that "just works".
>
> Sure, you can copy the config file that came with the distro, but it
> has tons of stuff that really isn't required. Not just in hardware,
> but all the debug choices etc that are really a user choice. And it's
> really hard to figure out - even for somebody like me - what a minimal
> usable kernel is.
>
> And yes, I know about "make localmodconfig". That's missing the point
> for the same reason the distro config is missing the point.
>
> Comments? It doesn't have to start out perfect, but I think it would
> *really* help make the kernel configuration much easier for people.
>
> In addition to the "minimal distro settings", we might also have a few
> "common platform" settings, so that you could basically do a "hey, I
> have a modern PC laptop, make it pick the obvious stuff that a normal
> person needs, like USB storage, FAT/VFAT support, the core power
> management etc". The silly stuff that you need, and that
> "localyesconfig" actually misses because if you haven't inserted a USB
> thumb drive, you won't necessarily have the FAT module loaded, but we
> all know you do want it in real life. But that's really independent
> issue, so let's keep it to just distro core things at first, ok?
>
> Would something like this make sense to people? I really think that
> "How do I generate a kernel config file" is one of those things that
> keeps normal people from compiling their own kernel. And we *want*
> people to compile their own kernel so that they can help with things
> like bisecting etc. The more, the merrier.
>
>                     Linus
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/
>



  parent reply	other threads:[~2012-07-13 21:17 UTC|newest]

Thread overview: 86+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-13 20:37 [RFC] Simplifying kernel configuration for distro issues Linus Torvalds
2012-07-13 20:54 ` Myklebust, Trond
2012-07-13 21:41   ` [opensuse-kernel] " richard -rw- weinberger
2012-07-14 10:37     ` Borislav Petkov
2012-07-14 12:12       ` Pekka Enberg
2012-07-14 12:43         ` Cyrill Gorcunov
2012-07-14 17:48           ` Borislav Petkov
2012-07-14 18:51             ` Cyrill Gorcunov
2012-07-14 19:51               ` david
2012-07-19 14:42             ` Steven Rostedt
2012-07-19 16:48               ` Borislav Petkov
2012-07-19 17:02                 ` Steven Rostedt
2012-07-19 17:34                   ` Borislav Petkov
2012-07-19 17:57                     ` Steven Rostedt
2012-07-19 18:09                       ` Borislav Petkov
2012-07-19 17:06                 ` Linus Torvalds
2012-07-19 17:53                   ` Borislav Petkov
2012-07-19 18:42                     ` Konrad Rzeszutek Wilk
2012-07-15 10:14         ` Borislav Petkov
2012-07-15 10:17           ` Pekka Enberg
2012-07-15 21:18             ` Borislav Petkov
2012-07-15 21:48               ` Cyrill Gorcunov
2012-07-15 22:09                 ` david
2012-07-15 22:22                   ` Cyrill Gorcunov
2012-07-15 23:06                     ` david
2012-07-16  8:24                   ` Borislav Petkov
2012-07-16 16:43                     ` david
2012-07-16 16:50                       ` Linus Torvalds
2012-07-16 19:26                         ` david
2012-07-16 20:56                           ` Linus Torvalds
2012-07-16 22:21                             ` david
2012-07-18  7:04                               ` Ingo Molnar
2012-07-18  8:42                                 ` david
2012-07-18  9:13                                   ` Ingo Molnar
2012-07-17  8:03                             ` Geert Uytterhoeven
2012-07-19 16:01                               ` Michal Marek
2012-07-16 17:01                     ` Alan Cox
2012-07-16 17:05                       ` david
2012-07-13 21:02 ` Dave Jones
2012-07-13 21:17   ` Linus Torvalds
2012-07-13 22:26     ` Josh Boyer
2012-07-19 15:26     ` Steven Rostedt
2012-07-19 15:43       ` Linus Torvalds
2012-07-19 16:12         ` Steven Rostedt
2012-07-19 15:45       ` Josh Boyer
2012-07-19 16:08         ` Steven Rostedt
2012-07-19 17:19           ` Josh Boyer
2012-07-19 17:30             ` Alan Cox
2012-07-19 17:38               ` Josh Boyer
2012-07-19 21:13               ` Ben Hutchings
2012-07-20  2:44                 ` david
2012-07-19 17:33             ` Steven Rostedt
2012-07-19 17:41               ` Alan Cox
2012-07-19 17:56               ` Josh Boyer
2012-07-19 18:13                 ` Steven Rostedt
2012-07-19 18:36                   ` Josh Boyer
2012-07-19 21:04                     ` david
2012-07-19 22:35                       ` Josh Boyer
2012-07-19 22:49                         ` Steven Rostedt
2012-07-21 20:47                 ` valdis.kletnieks
2012-07-19 18:20             ` Paul Bolle
2012-07-19 18:22               ` Josh Boyer
2012-07-19 18:49                 ` Geert Uytterhoeven
2012-07-19 18:55                   ` Paul Bolle
2012-07-19 21:30                 ` Geert Uytterhoeven
2012-07-13 21:29   ` Geert Uytterhoeven
2012-07-13 21:50   ` Paul Bolle
2012-07-13 21:55     ` Dave Jones
2012-07-13 22:11       ` Tony Luck
2012-07-13 22:20       ` Paul Bolle
2012-07-13 23:07       ` Frank Rowand
2012-07-13 21:06 ` Khalid Aziz
2012-07-13 21:17 ` Casey Schaufler [this message]
2012-07-13 21:20   ` Linus Torvalds
2012-07-13 22:13     ` david
2012-07-13 21:59 ` Hans de Bruin
2012-07-13 22:33 ` Jesper Juhl
2012-07-13 22:46   ` david
2012-07-14  9:44   ` Olivier Galibert
2012-07-14  4:18 ` Ben Hutchings
2012-07-14 12:35   ` Josh Boyer
2012-07-19  1:48 ` Steven Yong
2012-07-20  9:47 ` Jiri Kosina
2012-07-20 10:26   ` Sam Ravnborg
2012-07-18  9:55 Tom Gundersen
2012-07-22 20:10 ` David Greaves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=50009051.3060806@schaufler-ca.com \
    --to=casey@schaufler-ca.com \
    --cc=davej@redhat.com \
    --cc=debian-kernel@lists.debian.org \
    --cc=greg@kroah.com \
    --cc=kernel-team@lists.ubuntu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=opensuse-kernel@opensuse.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.