lkml.org 
[lkml]   [2012]   [Jul]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    SubjectRe: [opensuse-kernel] Re: [RFC] Simplifying kernel configuration for distro issues
    From
    Date
    On Thu, 2012-07-19 at 18:48 +0200, Borislav Petkov wrote:

    > > Also, if you are building on another box than what the kernel is for,
    > > you can go to that box and run 'lsmod > /tmp/lsmod'. Copy that file to
    > > the build machine (into /tmp/lsmod), and then run
    > > 'make LSMOD=/tmp/lsmod localmodconfig', and this will remove the modules
    > > not used by the target box.
    >
    > Seriously, this helps only in the cases where the stuff the distro
    > actually needs is in modules. So, there probably are obscure situations
    > where you need to enable stuff which is bool and not M. Hopefully those
    > cases are seldom enough so thanks for this, I'll try that the next time.
    >

    This is why I created the make-min-config in ktest. It keeps on
    disabling configs to see what the machine needs to boot (and optionally
    run some test), and what configs it can disable. It does not touch the
    multi options though.

    It creates two configs. One that has the configs that it can't turn off
    (still enabled with a make allnoconfig, or selected by something that it
    must have), and a config that just has the configs that 'if I disable
    this, the box doesn't boot'.

    Here's an example:

    For my min-config files with the configs that couldn't be turned off:

    $ wc -l config-min*
    117 config-min
    139 config-min-net

    The config-min will get the box to boot (no network). The -net, adds
    enough to ssh to the box.

    $ wc -l config-skip*
    11 config-skip
    14 config-skip-net

    The above are the configs that ktest found if it disabled, would not
    boot (or ssh).

    $ cat config-skip-net
    CONFIG_SERIAL_8250_CONSOLE=y
    CONFIG_SATA_AHCI=y
    CONFIG_E1000=y
    CONFIG_QUOTA=y
    CONFIG_ATA=y
    CONFIG_UNIX=y
    CONFIG_INET=y
    CONFIG_DEVTMPFS=y
    CONFIG_EXT4_FS=y
    CONFIG_DEVTMPFS_MOUNT=y
    CONFIG_SERIAL_8250=y
    CONFIG_BLK_DEV_SD=y
    CONFIG_NET=y
    CONFIG_NETDEVICES=y

    I can pass the above to a allnoconfig, and the box will boot and allow
    ssh. Note, the reason for the serial config, is that this ktest run uses
    a serial port to see if the box booted. If the serial isn't there, then
    it thinks it failed.

    -- Steve




    \
     
     \ /
      Last update: 2012-07-19 19:41    [W:4.119 / U:0.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site