zoukankan      html  css  js  c++  java
  • [RFC] Simplifying kernel configuration for distro issues

    http://lwn.net/Articles/507276/

    From: Linus Torvalds <torvalds-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b-AT-public.gmane.org>
    To: Dave Jones <davej-H+wXaHxf7aLQT0dZR+AlfA-AT-public.gmane.org>, Greg Kroah-Hartman <greg-U8xfFu+wG4EAvxtiuMwx3w-AT-public.gmane.org>, Ubuntu Kernel Team <kernel-team-nLRlyDuq1AZFpShjVBNYrg-AT-public.gmane.org>, Debian Kernel Team <debian-kernel-0aAXYlwwYIJuHlm7Suoebg-AT-public.gmane.org>, OpenSUSE Kernel Team <opensuse-kernel-stAJ6ESoqRxg9hUCZPvPmw-AT-public.gmane.org>
    Subject: [RFC] Simplifying kernel configuration for distro issues
    Date: Fri, 13 Jul 2012 13:37:41 -0700
    Message-ID: <CA+55aFxw8pY1KMjobp=dKJd+g4B9KGhe4+fsfSPA3ofCGVhkPQ@mail.gmail.com>
    Cc: Linux Kernel Mailing List <linux-kernel-u79uwXL29TY76Z2rM5mHXA-AT-public.gmane.org>
    Archive-link: Article, Thread


    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". 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

    《Kernel configuration for distributions》

    By Jake Edge
    July 18, 2012

    http://lwn.net/Articles/507239/

  • 相关阅读:
    Vue 生命周期
    Vue
    对象
    【菜鸟学php】用菜鸟的眼光浅谈php上传文件
    在职程序猿为啥要考相关证书
    微信分享js失效,分享内容自定义将作为接口开放
    【菜鸟学Linux】gzip解压报错:gzip: stdin has more than one entry--rest ignored
    【菜鸟学php】在敲代码的路上,给自己点时间来思考
    【菜鸟学php】小菜鸟由帝国备份王在Wamp环境下打开500错误浅谈PHP程序员
    eclipse中使用ctrl无法追踪函数的问题(php项目)
  • 原文地址:https://www.cnblogs.com/baiyw/p/3316244.html
Copyright © 2011-2022 走看看