[CentOS] Trying to find all the kernel modules needed for my machine using shell script

Aft nix
Fri, 13 Jul 2012 12:33:29 -0000

On Fri, Jul 13, 2012 at 6:29 PM, Aft nix <aftnix at gmail.com>
wrote:
> Hi,
>
> I'm developing kernel modules right now, and the build times are
> starting to get under my skin. As a side effect i'm taking way too
> many "coffee" breaks during builds.
>
> So i was looking for a way to build only the stuffs i need for my
> platform. Chapter 7 and 8 of "linux kernel in a nutshell" gave a
good
> detail of how to do that by hand. Its a good read :
> http://www.kroah.com/lkn/
>
> But Although i understand the stuffs, this is still a lot of tweaks to
> make that work.
>
> 2.6.32 and later kernels added a new target "make
localmodconfig".
> which scans through "lsmod" and change the .config appropriately.
So i
> thought i found my "automation". But this perl script has some
problem
> too.
>
> This thread describes the problems :
> https://bbs.archlinux.org/viewtopic.php?pid=845113
>
> There was also a proposed solution which apparently worked for others
> , is to run the script directly instead of using make's target.
>
> Although for me, make localmodconfig does not work at all. its because
> of the following :
>
>     $make clean
>     $make mrproper
>     $cp /boo/config-'uname -r' .config
>     $make localmodconfig
>
> and it haults with
>
>     vboxguest config not found!!
>     nf_defrag_ipv6 config not found!!
>     vboxsf config not found!!
>     vboxvideo config not found!!
>
> The thing is my kernel development environment is inside virtualbox.
> These vbox modules were installed when i chose to install "virtualbox
> guest addtion".
>
> And the netfilter module might be a Distribution specific module(Lot
> of netfilter modules are not part of the mainline kernel, so its not a
> shock to me), which is not included in mainline kernel.
>
> Now the workaround this obviously unloading these module and trying
> again. But I'm thinking if there is patch for the
> "streamline_config.pl" which will enable the user to exclude
certain
> modules if s/he wants. Problem is i have "zero" knowledge about
perl
> and i like it that way.
>
> So my problems in "nutshell"
>
> 1) Patching streamline_config.pl so i can give a list of module name
> as argument which it will exclude from processing the config file.
>
> 2) I've tried to run the script by myself. But running it directly
> fails with a error.
>
>     [root at kernel-host-rh6 linux-2.6]# sh
scripts/kconfig/streamline_config.pl
>     scripts/kconfig/streamline_config.pl: line 45: my: command not found
>     scripts/kconfig/streamline_config.pl: line 47: my: command not found
>     scripts/kconfig/streamline_config.pl: line 48: chomp: command not found
>     scripts/kconfig/streamline_config.pl: line 50: syntax error near
> unexpected token `('
>     scripts/kconfig/streamline_config.pl: line 50: `my @searchconfigs =
('
>
> Again my "zero" knowledge about perl does not helping my case.
>
> Additional info:
>
> I have faced the same thing in 2.6.32, 2.6.33, 2.6.35, 3.4, 3.4.rc1
> .....(I constantly switch version for various reasons, everywhere the
> problem is same)
>
> You can access the script from kernel.org gitweb:
>
http://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=blob;f=scripts/kconfig/streamline_config.pl;h=bccf07ddd0b67a0e2f761fd5721f274a49bf9bbb;hb=HEAD
>
> Its from 3.4.0. `git log --stat scripts/kconfig/streamline_config.pl`
> shows some activity recently on this file. But my problem persists.
>
> 3) Is there any way i can get the "Centos specific" patches in
"plain
> patch" format? That means i dont wanna do things in src-rpm way.
> If the patches are available in normal patch format i can keep
> everything tidy in my kernel git tree.
> --
> -aft

You can ignore the "perl script" not running thing. I was trying
trying run a perl script with "sh" in front of it. How horribly dumb
i've been today :)
cheers.

--
-aft