From Bugzilla Helper: User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705) Description of problem: Trying to do a make rpm kernel.spec with the kernel sources on RH 8.0 fails. The problem is caused by the second last line in the Makefile, where it uses rpm -ta instead of rpmbuild -ta. It appears that RH itself is build binary RPMS from the source RPMs for RH 8.0 on a non-RH 8.0 system. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.Install all packages required to make kernel from source 2.make menuconfig 3.make rpm kernel.spec Actual Results: After spending a long time building the new kernel, the make script aborts with an error of "rpm -ta unrecognised option" Expected Results: New kernel RPM should have been generated. Additional info:
the kernel is actually produced from the kernel-2.4.18-14.src.rpm (which is on the second half of the cd's). What you have done is built a kernel-source kernel and used an upstream feature "make rpm". However that feature is not complete and indeed doesn't work in RHL 8.0. Alan Cox has fixed that 2 days ago in his 2.4.21-pre3-ac2 kernel and it'll be fixed in the next RHL release.
You mean to say that the feature to make a binary rpm out of kernel-2.4.18- 19.8.0.src.rpm is not available? I noticed that my steps listed above for reproduction were missing a step. Here is the sequence of steps that I followed: 1) rpm -ivh kernel-2.4.18-19.8.0.src.rpm 2) cd /usr/src/linux-2.4 3) make menuconfig 4) make kernel.spec (this is the step I failed to list) 5) make rpm. Step (5) failed until I edited the Makefile and changed the second last line and replaced rpm with rpmbuild. Once I did that everything worked fine and I got a kernel-x.x.x.rpm. Is the above process not yet available with RHL 8.0?
the above process hasn't been available ever really. rpmbuild --rebuild --target=i686 kernel-2.4.18-14.src.rpm is how you get binaries from a source rpm normally; you can also rpm -i the src.rpm and rpmbuild -ba the spec. Of course your steps look very convenient, and it'll work in the next release but it's NOT the same rpm steps Red Hat takes.
If the steps you mentions are followed then how would one get kernel customizations into the kernel rpm? It appears that in your process, make menuconfig is never executed, hence there seems no way to get any customizations into the custom kernel rpm.
make menuconfig generates a .config file. if you rpm -i the src.rpm all the config files that are used for building the rpm's are put in /usr/src/redhat/SOURCES with names like kernel-2.4.18-i686.config (for the i686 single processor kernel). Just replace that with the .config you generated and "rpmbuild -ba --target i686 kernel-2.4.spec" (if you only want to get the 1 cpu kernel you can edit the top of the spec to disable the smp and bigmem kernels to save build time)
Ahh...ok, thanks. I retract the bug then :)