Compiling FC3 kernel.
Satish Balay
balay at fastmail.fm
Fri Dec 3 01:15:11 UTC 2004
On Thu, 2 Dec 2004, Juan Pablo Claude wrote:
> Yes, the tape drive modules are disabled in the default config. And the
> problem is that the source tree from the current SRPM is not compiling clean
> for me. All ftape rpm's and source code are dated and will not compile for
> Fedora Core.
Ok - Most of this info in in the URL's I've pointed to earler. And some
in the FC3 release notes (give them a read)
1. Build a non-root rpm build enviornment
(from http://www.fedoranews.org/tchung/rpmbuild)
$ cd ~
cp -a /usr/src/redhat/ rpmbuild
echo '%_topdir %(echo $HOME)/rpmbuild' >> .rpmmacros
2. Now obtain the kerne.src.rpm (perhaps using wget or something)
<digression>
2.1 If you were to just recompile the kernel you would do the following.
rpmbuild --rebuild --target=i686 kernel.src.rpm
the built kernel would be in ~/rpmbuild/RPMS/i686
<end digression>
3. unpack the .src.rpm (caution: this is done as 'user' - not 'root')
rpm -ivh kernel...src.rpm
Now you will find the following:
- The spec file is in ~/rpmbuild/SPECS
- the sources & patches are in ~/rpmbuild/SOURCES
4. Now to get the patched-source tree - you do the following:
<from FC3 release notes>
rpmbuild -bp --target=i686 ~/rpmbuild/SPECS/kernel-2.6.spec
Now the patched source tree is in ~/rpmbuild/BUILD
5. Now go to this location and modify the .config file - and build
your modified kernel.
I guess there are a bunch of ways to do this.
- make modification - & compile - as you woud have done with the
old kernel-source.rpm package
- or modify the .config file as necessary - and replace the original
with the modified one. i.e:
cd ~/rpmbuild/BUILD/kernel-2.6.9/linux-2.6.9
make menuconfig
<make necessary changes - save & quit>
diff .config ~/rpmbuild/SOURCES/kernel-2.6.9-i686.config
cp .config ~/rpmbuild/SOURCES/kernel-2.6.9-i686.config
And now rebuild the kernel
rpmbuild -ba --target=i686 ~/rpmbuild/SPECS/kernel-2.6.spec
Satish
----
Notes: Ideally you'll have patches for ALL changes - and apply these patches
from the spec file - this way its easy to do it again with a kernel
upgrade.
Also disable the build of the smp kernel - in the .spec file
i.e chnage:
%define buildsmp 1
to
%define buildsmp 0
More information about the fedora-list
mailing list