I pulled down the 2.6.18-92.1.10 source, installed it, built the package, copied the straight x86_64 config file from SOURCES into the build directory, redid make menuconfig to enable NTFS support, added the # x86_64 back into the .config file, copied .config back to the SOURCES directory and ran rpmbuild -ba --target=x86_64 <spec file> (same as I always do with new kernels), but this time I'm getting this error in the build:
Patch #99990 (linux-2.6-rhel-version-h.patch): + patch -p1 -s + perl -p -i -e 's/^SUBLEVEL.*/SUBLEVEL = 18/' Makefile + perl -p -i -e 's/^EXTRAVERSION.*/EXTRAVERSION = -prep/' Makefile + perl -p -i -e 's/^RHEL_MAJOR.*/RHEL_MAJOR = 5/' Makefile + perl -p -i -e 's/^RHEL_MINOR.*/RHEL_MINOR = 2/' Makefile + cp /home/rpmbuild/SOURCES/COPYING.modules Documentation/ + mkdir configs + for cfg in 'kernel-2.6.18-x86_64*.config' + cp -f /home/rpmbuild/SOURCES/kernel-2.6.18-x86_64-debug.config /home/rpmbuild/SOURCES/kernel-2.6.18-x86_64-xen.config /home/rpmbuild/SOURCES/kernel-2.6.18-x86_64.config . + for i in 'kernel-2.6.18-x86_64*.config' + mv kernel-2.6.18-x86_64-debug.config kernel-2.6.18-x86_64-debug.config.tmp + /home/rpmbuild/SOURCES/merge.pl /home/rpmbuild/SOURCES/config-rhel-generic kernel-2.6.18-x86_64-debug.config.tmp + rm kernel-2.6.18-x86_64-debug.config.tmp + for i in 'kernel-2.6.18-x86_64*.config' + mv kernel-2.6.18-x86_64-xen.config kernel-2.6.18-x86_64-xen.config.tmp + /home/rpmbuild/SOURCES/merge.pl /home/rpmbuild/SOURCES/config-rhel-generic kernel-2.6.18-x86_64-xen.config.tmp + rm kernel-2.6.18-x86_64-xen.config.tmp + for i in 'kernel-2.6.18-x86_64*.config' + mv kernel-2.6.18-x86_64.config kernel-2.6.18-x86_64.config.tmp + /home/rpmbuild/SOURCES/merge.pl /home/rpmbuild/SOURCES/config-rhel-generic kernel-2.6.18-x86_64.config.tmp + rm kernel-2.6.18-x86_64.config.tmp + rm -f kernel-2.6.18-i686-kdump.config kernel-2.6.18-x86_64-kdump.config + rm -f kernel-2.6.18-i586.config + rm -f kernel-2.6.18-x86_64-debug.config + for i in '*.config' + mv kernel-2.6.18-x86_64-xen.config .config ++ head -1 .config ++ cut -b 3- + Arch=x86_64 + make ARCH=x86_64 nonint_oldconfig + echo '# x86_64' + cat .config + for i in '*.config' + mv kernel-2.6.18-x86_64.config .config ++ head -1 .config ++ cut -b 3- + Arch=x86_64 + make ARCH=x86_64 nonint_oldconfig CONFIG_MAX_RAW_DEVS make[1]: *** [nonint_oldconfig] Error 1 make: *** [nonint_oldconfig] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.53835 (%prep)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.53835 (%prep)
Was there something I needed to tweak in the spec file, other than the build id and a few of the build switches I usually turn off (xen, debug, kdump)?
Thanks.
mhr
On Wed, Aug 6, 2008 at 11:23 PM, Mark Hull-Richter mhullrich@gmail.com wrote:
I pulled down the 2.6.18-92.1.10 source, installed it, built the package, copied the straight x86_64 config file from SOURCES into the build directory, redid make menuconfig to enable NTFS support, added the # x86_64 back into the .config file, copied .config back to the SOURCES directory and ran rpmbuild -ba --target=x86_64 <spec file> (same as I always do with new kernels), but this time I'm getting this error in the build:
Patch #99990 (linux-2.6-rhel-version-h.patch):
- patch -p1 -s
- perl -p -i -e 's/^SUBLEVEL.*/SUBLEVEL = 18/' Makefile
(snip)
- cat .config
- for i in '*.config'
- mv kernel-2.6.18-x86_64.config .config
++ head -1 .config ++ cut -b 3-
- Arch=x86_64
- make ARCH=x86_64 nonint_oldconfig
CONFIG_MAX_RAW_DEVS make[1]: *** [nonint_oldconfig] Error 1 make: *** [nonint_oldconfig] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.53835 (%prep)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.53835 (%prep)
Was there something I needed to tweak in the spec file, other than the build id and a few of the build switches I usually turn off (xen, debug, kdump)?
I suggest you take a look at the Wiki article:
http://wiki.centos.org/HowTos/Custom_Kernel
It has been updated recently (Alan did most of the work) to accommodate recent changes in the spec file. You will find many lines that were changed or added newly. Among other things, it now suggests that you copy the .config file from the config/ directory (or from your /boot) instead of the SOURCES directory. Because your build is failing at the step of:
make ARCH=$Arch nonint_oldconfig > /dev/null
I suspect using the config file from configs/ might fix the error you got.
Akemi
Akemi Yagi wrote:
On Wed, Aug 6, 2008 at 11:23 PM, Mark Hull-Richter mhullrich@gmail.com wrote:
I pulled down the 2.6.18-92.1.10 source, installed it, built the package, copied the straight x86_64 config file from SOURCES into the build directory, redid make menuconfig to enable NTFS support, added the # x86_64 back into the .config file, copied .config back to the SOURCES directory and ran rpmbuild -ba --target=x86_64 <spec file> (same as I always do with new kernels), but this time I'm getting this error in the build:
Patch #99990 (linux-2.6-rhel-version-h.patch):
- patch -p1 -s
- perl -p -i -e 's/^SUBLEVEL.*/SUBLEVEL = 18/' Makefile
(snip)
- cat .config
- for i in '*.config'
- mv kernel-2.6.18-x86_64.config .config
++ head -1 .config ++ cut -b 3-
- Arch=x86_64
- make ARCH=x86_64 nonint_oldconfig
CONFIG_MAX_RAW_DEVS make[1]: *** [nonint_oldconfig] Error 1 make: *** [nonint_oldconfig] Error 2 error: Bad exit status from /var/tmp/rpm-tmp.53835 (%prep)
RPM build errors: Bad exit status from /var/tmp/rpm-tmp.53835 (%prep)
Was there something I needed to tweak in the spec file, other than the build id and a few of the build switches I usually turn off (xen, debug, kdump)?
I suggest you take a look at the Wiki article:
http://wiki.centos.org/HowTos/Custom_Kernel
It has been updated recently (Alan did most of the work) to accommodate recent changes in the spec file. You will find many lines that were changed or added newly. Among other things, it now suggests that you copy the .config file from the config/ directory (or from your /boot) instead of the SOURCES directory. Because your build is failing at the step of:
make ARCH=$Arch nonint_oldconfig > /dev/null
I suspect using the config file from configs/ might fix the error you got.
Also,
Do 'make oldconfig' first, before adding the x86_64 back in and coping back to the SOURCES dir.
ALSO ... there are some "generic" parts that need stripped out of the spec or it will override CONFIG settings. I think they do this so they don't have to change the fedora configs and still get the RHEL settings.
If you don't remove the "generic" compares in the spec, it will turn of NTFS regardless of your settings in the config file.
On Thu, Aug 7, 2008 at 6:45 AM, Johnny Hughes johnny@centos.org wrote:
Akemi Yagi wrote:
Also,
Do 'make oldconfig' first, before adding the x86_64 back in and coping back to the SOURCES dir.
ALSO ... there are some "generic" parts that need stripped out of the spec or it will override CONFIG settings. I think they do this so they don't have to change the fedora configs and still get the RHEL settings.
If you don't remove the "generic" compares in the spec, it will turn of NTFS regardless of your settings in the config file.
Actually, this is covered in the Wiki now, but thanks as well.
mhr
On Thu, Aug 7, 2008 at 2:24 AM, Akemi Yagi amyagi@gmail.com wrote:
I suggest you take a look at the Wiki article:
http://wiki.centos.org/HowTos/Custom_Kernel
It has been updated recently (Alan did most of the work) to accommodate recent changes in the spec file. You will find many lines that were changed or added newly. Among other things, it now suggests that you copy the .config file from the config/ directory (or from your /boot) instead of the SOURCES directory.
Wow! Major update, and I didn't need these for the 92.1.6 build....
THANKS!
mhr
On Thu, Aug 7, 2008 at 8:34 AM, MHR mhullrich@gmail.com wrote:
On Thu, Aug 7, 2008 at 2:24 AM, Akemi Yagi amyagi@gmail.com wrote:
I suggest you take a look at the Wiki article:
http://wiki.centos.org/HowTos/Custom_Kernel
It has been updated recently (Alan did most of the work) to accommodate recent changes in the spec file. You will find many lines that were changed or added newly. Among other things, it now suggests that you copy the .config file from the config/ directory (or from your /boot) instead of the SOURCES directory.
Wow! Major update, and I didn't need these for the 92.1.6 build....
THANKS!
One other note about the updated wiki article. This line:
[user@host]$ cp /boot/config-`uname -r` .config
is especially important at this moment even if you are building just the standard kernel. This is because there is a bug in the current kernel:
https://bugzilla.redhat.com/show_bug.cgi?id=445095
which causes custom kernel build to fail (details are in that bugzilla). This has to do with the fact we need to remove the template section which would otherwise disable the buslogic driver. By running the above cp command, you will be using the config files that have buslogic disabled.
Akemi
On Thu, Aug 7, 2008 at 8:53 AM, Akemi Yagi amyagi@gmail.com wrote:
On Thu, Aug 7, 2008 at 8:34 AM, MHR mhullrich@gmail.com wrote:
On Thu, Aug 7, 2008 at 2:24 AM, Akemi Yagi amyagi@gmail.com wrote:
I suggest you take a look at the Wiki article:
http://wiki.centos.org/HowTos/Custom_Kernel
It has been updated recently (Alan did most of the work) to accommodate recent changes in the spec file. You will find many lines that were changed or added newly. Among other things, it now suggests that you copy the .config file from the config/ directory (or from your /boot) instead of the SOURCES directory.
Wow! Major update, and I didn't need these for the 92.1.6 build....
THANKS!
One other note about the updated wiki article. This line:
[user@host]$ cp /boot/config-`uname -r` .config
Oooops, not that line. The line I was talking about was this:
[user@host]$ cp configs/* ~/rpmbuild/SOURCES
Akemi
On Thu, Aug 7, 2008 at 8:54 AM, Akemi Yagi amyagi@gmail.com wrote:
On Thu, Aug 7, 2008 at 8:53 AM, Akemi Yagi amyagi@gmail.com wrote:
One other note about the updated wiki article. This line:
[user@host]$ cp /boot/config-`uname -r` .config
Oooops, not that line. The line I was talking about was this:
[user@host]$ cp configs/* ~/rpmbuild/SOURCES
Wait - which one works and which one does not, or do they both work or ????
mhr
On Thu, Aug 7, 2008 at 9:57 AM, MHR mhullrich@gmail.com wrote:
On Thu, Aug 7, 2008 at 8:54 AM, Akemi Yagi amyagi@gmail.com wrote:
On Thu, Aug 7, 2008 at 8:53 AM, Akemi Yagi amyagi@gmail.com wrote:
One other note about the updated wiki article. This line:
[user@host]$ cp /boot/config-`uname -r` .config
Oooops, not that line. The line I was talking about was this:
[user@host]$ cp configs/* ~/rpmbuild/SOURCES
Wait - which one works and which one does not, or do they both work or ????
NEVER MIND! (Please) - I was reading with my dyslexia glasses on....
mhr
Akemi Yagi wrote:
On Thu, Aug 7, 2008 at 8:34 AM, MHR mhullrich@gmail.com wrote:
On Thu, Aug 7, 2008 at 2:24 AM, Akemi Yagi amyagi@gmail.com wrote:
I suggest you take a look at the Wiki article:
http://wiki.centos.org/HowTos/Custom_Kernel
It has been updated recently (Alan did most of the work) to accommodate recent changes in the spec file. You will find many lines that were changed or added newly. Among other things, it now suggests that you copy the .config file from the config/ directory (or from your /boot) instead of the SOURCES directory.
Wow! Major update, and I didn't need these for the 92.1.6 build....
THANKS!
One other note about the updated wiki article. This line:
[user@host]$ cp /boot/config-`uname -r` .config
is especially important at this moment even if you are building just the standard kernel. This is because there is a bug in the current kernel:
https://bugzilla.redhat.com/show_bug.cgi?id=445095
which causes custom kernel build to fail (details are in that bugzilla). This has to do with the fact we need to remove the template section which would otherwise disable the buslogic driver. By running the above cp command, you will be using the config files that have buslogic disabled.
hi, first of all this bug is already fixed by rhel (after i reported it). second i've a few comment about this wiki page (since we don't do this way and imho it's much easier and cleaner).
- i don't do the step 3, except: - %define buildid .your_identifier - # %_sourcedir/kabitool -b . -d ... - touch symsets-$KernelVer.tar.gz - and of course the patches:-)
- at the and of the config merge (currently at line 4768) we add our extra setting merge eg: like this (and of course we've got our config-xxx files): # ------- Start Custom ----------- # XFS hardcoded for i in %{all_arch_configs} do mv $i $i.tmp $RPM_SOURCE_DIR/merge.pl $RPM_SOURCE_DIR/config-xfs $i.tmp > $i rm $i.tmp done # move to the new libata driver (only sdX) for i in %{all_arch_configs} do sed -i "s/CONFIG_IDE=y/# CONFIG_IDE is not set/g" $i done # -------- End Custom -----------
in this way out diff from the centos spec file has about a dozen of different lines which much easier the read. and after that we build with: rpmbuild -ba --target "noarch,i386,i686" --without pae --without debug --without debuginfo --without kabichk ~/rpm/SPECS/kernel-2.6-custom.spec
yours.
On Thu, Aug 7, 2008 at 10:58 AM, Farkas Levente lfarkas@lfarkas.org wrote:
Akemi Yagi wrote:
is especially important at this moment even if you are building just the standard kernel. This is because there is a bug in the current kernel:
https://bugzilla.redhat.com/show_bug.cgi?id=445095
which causes custom kernel build to fail (details are in that bugzilla). This has to do with the fact we need to remove the template section which would otherwise disable the buslogic driver. By running the above cp command, you will be using the config files that have buslogic disabled.
hi, first of all this bug is already fixed by rhel (after i reported it).
Well, it is not considered "fixed" until the patch gets actually incorporated into the kernel upstream. We have to apply the patch manually at this moment to compile the buslogic module.
second i've a few comment about this wiki page (since we don't do this way and imho it's much easier and cleaner).
(snip)
Levente "Si vis pacem para bellum!"
Thanks. I will make sure Alan gets to read your note.
Akemi