On 11/28/2012 09:46 AM, Bryn M. Reeves issued this missive:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 11/28/2012 05:07 PM, JD wrote:
The main point is that the build takes too darned long. On my
unicore cpu, it takes almost 2 days. Building bazillions of useless
modules is a great waste of time and machine.

If you want to change the set of modules enabled you'll have to do a
bit more as the kernel .config options aren't exposed in the spec file
in a way that you can control via rpmbuild options.

That said, you should check out Richard's suggestion as you may find
that it's the many variant (up/smp/pae/debug/debuginfo etc.)
sub-packages that are chewing up the time for you. If turning those
off gives you an acceptable build time it's less invasive than munging
the KConfig options to drop unneeded modules.

If you decide you do need to do that though you'll need to install the
SRPM (either with bare RPM build directory or via mock) so that you
can get access to the individual sources and patches that make it up.

If you're using the normal RPM directory layout then the files you're
interested in will end up in $rpmbuild/SOURCES (where $rpmbuild is
whatever RPM's %_topdir macro is set to).

For the kernel the interesting files are config-*-generic,
config-*-smp etc., Makefile.config and a perl script named merge.pl:

$ cd rpmbuild/SOURCES
$ ls config-* merge.pl Makefile.config
config-arm-generic              config-powerpc32-generic
config-arm-highbank             config-powerpc32-smp
config-arm-imx                  config-powerpc64
config-arm-kirkwood             config-powerpc-generic
config-arm-omap-generic         config-rhel-generic
config-arm-tegra                config-s390x
config-debug                    config-sparc64-generic
config-generic                  config-x86-32-generic
config-i686-PAE                 config-x86_64-generic
config-local                    config-x86-generic
config-nodebug                  merge.pl
Makefile.config

The structure of the config files is fairly self-explanatory;
config-generic is the global catch-all and architectures and variants
(e.g. PAE, smp) can override specific values as needed.

If you just want to make a few local changes you can drop them into
config-local - this should have the highest precedence and is is
automatically merged by kernel.spec during %prep.

I reiterate:

        1. Install the kernel source RPM.

        2. Navigate to your ~/rpmbuild/SPECS directory.

        3. Do "rpmbuild -bp --target=x86_64 kernel.spec" or
           "rpmbuild -bp --target=i686 kernel.spec" depending on your
           processor.

        4. Once that's complete, navigate to your
           ~rpmbuild/BUILD/kernel-3.6.fc17/linux-3.6.7-4.fc17.x86_64
           directory. Read the "README" file. I say again, read the
           README file!

        5. Run "make nconfig" or "make xconfig" or whatever
           "make *config" floats your boat and bugger the configuration
           as you see fit.

        6. Run "make" to build the kernel as you've specified. Follow
           the directions in the README file's "COMPILING the kernel"
           section.

That README file is chock full of what you need to do. This is the way
customized kernels are built. Always has been, probably always will be.
----------------------------------------------------------------------
- Rick Stevens, Systems Engineer, AllDigital    ri...@alldigital.com -
- AIM/Skype: therps2        ICQ: 22643734            Yahoo: origrps2 -
-                                                                    -
-     I was married by a judge.  I should have asked for a jury.     -
-                                                   -- Groucho Marx  -
----------------------------------------------------------------------
--
users mailing list
users@lists.fedoraproject.org
To unsubscribe or change subscription options:
https://admin.fedoraproject.org/mailman/listinfo/users
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org

Reply via email to