1. 19 8月, 2009 7 次提交
    • S
      kconfig: test for /boot/config-uname after /proc/config.gz in localconfig · 810b2be6
      Steven Rostedt 提交于
      Many distros put their config in /boot/config-`uname -r`, add a check
      for that right after /proc/config.gz
      Reported-by: NAlan Jenkins <sourcejedi.lkml@googlemail.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      810b2be6
    • S
      kconfig: unset IKCONFIG_PROC and clean up nesting · d08ca277
      Steven Rostedt 提交于
      Due to cut and paste error IKCONFIG was both set and cleared.
      It was suppose to be IKCONFIG_PROC to be cleared.
      
      Also cleaned up if nesting.
      Reported-by: NAlan Jenkins <sourcejedi.lkml@googlemail.com>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      d08ca277
    • S
      kconfig: search for a config to base the local(mod|yes)config on · cdfc4795
      Steven Rostedt 提交于
      Instead of using the .config in the local directory. This patch
      changes streamline_config.pl to search various locations for a config.
      
      Here's the list and order of search:
      
        /proc/config.gz
        /boot/vmlinuz-`uname -r`
        vmlinux  # local to the directory
        /lib/modules/`uname -r`/kernel/kernel/configs.ko
        kernel/configs.ko
        kernel/configs.o
        .config
      
      Once it finds a file that contains a config (it checks if the binary
      objects have configs first) it then uses it to create the .config
      with minimum modules needed.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      cdfc4795
    • S
      kconfig: enable CONFIG_IKCONFIG from streamline_config.pl · 744ffcbe
      Steven Rostedt 提交于
      Ingo Molnar suggested that the streamline_config.pl should enable
      CONFIG_IKCONFIG to keep the current config in the kernel.
      Then we can use scripts/extract-ikconfig to find the current
      modules.
      
      This patch changes streamline_config.pl to check if CONFIG_IKCONFIG
      is not set, and if it is not, it enables it to be a module.
      
      [ Impact: make current config options easier to find ]
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      744ffcbe
    • S
      kconfig: do not warn about modules built in · ea2c1894
      Steven Rostedt 提交于
      The streamline_config.pl finds all the configs that are needed to
      compile the currently loaded modules. After it creates the .config
      file, it tests to make sure all the configs that are needed were
      set.
      
      It only looks at the configs that are modules, it does not look
      at the builtin configs. This causes unnecessary warnings about modules
      not being covered.
      Reported-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      ea2c1894
    • S
      kconfig: streamline_config.pl do not stop with no depends · 74398d32
      Steven Rostedt 提交于
      If a config does not have a prompt, it must be selected.
      streamline_config.pl keeps track of all configs that select other configs.
      If a config that does not have a prompt needs to be set to enable a
      current module, it will include all configs that select it.
      Note, streamline_config.pl does not enable modules that are not already
      enabled. It only keeps enabled those that were enabled and might be
      needed to compile the current modules.
      
      The code to find the selects of a config is after the code that
      adds the depends. But if a config needed selects but had no dependencies,
      it would not be set. Because the code would stop before getting to
      the select.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      74398d32
    • S
      kconfig: add streamline_config.pl to scripts · dcc60243
      Steven Rostedt 提交于
      streamline_config.pl is a very powerful tool. For those that install
      a kernel to a new box using the config file from the distribution know that
      it can take forever to compile the kernel.
      
      Making a custom config file that will still boot your box, but bring
      down the compile time of the kernel can be quit painful, and to ask
      someone that reported a bug to do this can be a large burdon since that
      person may not even know how to build a kernel.
      
      This script will perform "lsmod" to find all the modules loaded on the
      current running system. It will read all the Makefiles to map which
      CONFIG enables a module. It will read the Kconfig files to find the
      dependencies and selects that may be needed to support a CONFIG.
      Finally, it reads the .config file and removes any module "=m" that is
      not needed to enable the currently loaded modules. The output goes to
      standard out.
      
      Here's a way to run the script. From the Linux directory that holds
      a distribution .config.
      
       $ scripts/kconfig/streamline_config.pl arch/x86/Kconfig > config-sl
       $ mv .config config-save
       $ mv config-sl .config
       $ make oldconfig
      
      Now you have a .config that will still build all your modules, but also
      take much less time to build the kernel.
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      dcc60243