i'm attempting to rebuild centos51 kernel-xen.
(fwiw, because pciback has NOT been compiled into the kernel, http://bugs.centos.org/view.php?id=2767)
after,
yum install kernel-devel kernel-xen-devel
and usual,
ln -s /usr/src/kernels/`uname -r`-`uname -m` /usr/src/linux cd /usr/src/linux cp /boot/config-`uname -r` ./.config make oldconfig make menuconfig ...
next,
make rpm
fails at,
scripts/kconfig/conf -s arch/x86_64/Kconfig make clean scripts/Makefile.clean:17: /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/amso1100/Makefile: No such file or directory make[5]: *** No rule to make target `/usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/amso1100/Makefile'. Stop. make[4]: *** [drivers/infiniband/hw/amso1100] Error 2 make[3]: *** [drivers/infiniband] Error 2 make[2]: *** [_clean_drivers] Error 2 make[1]: *** [rpm] Error 2 make: *** [rpm] Error 2
checking,
ls -al \ /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/amso1100/Makefile \ /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/*/Makefile in fact *is* missing,
/bin/ls: /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/amso1100/Makefile: No such file or directory -rw-r--r-- 1 root root 380 May 7 06:12 /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/cxgb3/Makefile -rw-r--r-- 1 root root 545 May 7 06:12 /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/ehca/Makefile -rw-r--r-- 1 root root 782 May 7 06:12 /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/ipath/Makefile -rw-r--r-- 1 root root 310 May 7 06:12 /usr/src/kernels/2.6.18-53.1.19.el5-xen-x86_64/drivers/infiniband/hw/mthca/Makefile
installing & checking original/full SRPM,
cd /usr/src/redhat/SRPMS wget http://mirror.centos.org/centos/5.1/updates/SRPMS/kernel-2.6.18-53.1.19.el5.... rpm -ivh kernel-2.6.18-53.1.19.el5.src.rpm
it's also missing there,
ls -al /usr/src/kernels/2.6.18-53.1.19.el5-x86_64/drivers/infiniband/hw/amso1100/Makefile /bin/ls: /usr/src/kernels/2.6.18-53.1.19.el5-x86_64/drivers/infiniband/hw/amso1100/Makefile: No such file or directory
where can I get the 'Makefile'?
thanks.
checking further for the Makefile in the latest git repo,
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband.git for-linus
, there's also no Makefile in the respective directory,
./for-linus/drivers/infiniband/hw/amso1100/
emailed the repo maintainer to ask,
"is this an omission? if not, where can i get the Makefile?"
and received,
Reply "There is a Kbuild file instead of a Makefile there."
i'm not yet sure what to do with that ... but, i presume that the 'make' process should *not* look for the Makefile? or, is there an additonal step req'd?
snowcrash+centos wrote:
i'm not yet sure what to do with that ... but, i presume that the 'make' process should *not* look for the Makefile? or, is there an additonal step req'd?
the Kbuild file is a Makefile substitute, take a look at this doc: http://www.mjmwired.net/kernel/Documentation/kbuild/makefiles.txt
the developers can drop either a Makefile or a Kbuild file into the tree
On Wed, May 14, 2008 at 10:54 PM, snowcrash+centos schneecrash+centos@gmail.com wrote:
yum install kernel-devel kernel-xen-devel
and usual,
Oh, we're going off instinct here.. this might get ugly...
ln -s /usr/src/kernels/`uname -r`-`uname -m` /usr/src/linux cd /usr/src/linux cp /boot/config-`uname -r` ./.config make oldconfig make menuconfig ...
next,
make rpm
HOUSTON, We have a problem.
It's probably worth mentioning here, that this won't work in any recent (Centos 4 or 5) release, because kernel-*-devel packages don't contain any source files. They contain the headers needed to link a module against the kernel, and that's about it.
If you want to rebuild the kernel, you're going to have to extract the source from the kernel src.rpm, and follow the instructions on the wiki.