building from kernel source rpm

Bryn M. Reeves bmr at redhat.com
Thu Nov 29 10:42:25 UTC 2012


On 28/11/12 18:52, Rick Stevens wrote:
> 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.

This is fine if you want a hand-built kernel and don't mind having to
manually save the config used for a given build and keep track of them
over time.

For development work that's normally convenient but if you're doing this
regularly to simply use the builds and want to keep track of your
changes and ensure they don't get mixed up or lost (what config options
did I enable in build x.y.z-foo??) using the SRPM and rpmbuild is easier
(you could also use a VCS but since the original question related to RPM
builds that doesn't seem to be the case).

Running an rpmbuild -ba will generate a new SRPM so as long as you keep
track of release numbers and preserve the SRPMs you can always go back
to see how a given binary RPM was configured (you also get the used
config-* included in it).

Regards,
Bryn.



More information about the users mailing list