[CentOS-devel] Building a custom 2.6.9 kernel

Fri Feb 3 20:38:00 UTC 2006
Eric Sandeen <sandeen at sgi.com>

William L. Thomson Jr. wrote:
>>>After messing with that for days, patches and all. I decided to give the
>>>kernel-devel rpms a go. So I downloaded
>>>
>>>kernel-devel-2.6.9-22.EL.i686.rpm
>>>kernel-devel-2.6.9-22.EL.x86_64.rpm
>>
>>These are only the kernel headers. They won't help you.
> 
> 
> You keep saying that, but they do contain a full source. I made a kernel
> with this one kernel-devel-2.6.9-22.EL.i686.rpm. As offered on IRC, I
> can do each command again, and pastebin the output.

You are mistaken.  See for yourself:

[sandeen at stout tmp]$ wget 
http://mirrors.kernel.org/centos/4.2/os/i386/CentOS/RPMS/kernel-devel-2.6.9-22.EL.i686.rpm
--14:34:22-- 
http://mirrors.kernel.org/centos/4.2/os/i386/CentOS/RPMS/kernel-devel-2.6.9-22.EL.i686.rpm
            => `kernel-devel-2.6.9-22.EL.i686.rpm'
Length: 3,778,931 (3.6M) [application/x-rpm]

100%[=========================================================================================>] 
3,778,931    485.99K/s    ETA 00:00

14:34:29 (549.58 KB/s) - `kernel-devel-2.6.9-22.EL.i686.rpm' saved 
[3778931/3778931]

[sandeen at stout tmp]$ rpm -qpl kernel-devel-2.6.9-22.EL.i686.rpm | grep \\.c$
warning: kernel-devel-2.6.9-22.EL.i686.rpm: Header V3 DSA signature: NOKEY, key 
ID 443e1821
/usr/src/kernels/2.6.9-22.EL-i686/scripts/basic/docproc.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/basic/fixdep.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/basic/split-include.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/bin2c.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/binoffset.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/conmakehash.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/genksyms/genksyms.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/genksyms/keywords.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/genksyms/lex.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/genksyms/parse.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kallsyms.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/conf.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/confdata.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/expr.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/gconf.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/images.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/kconfig_load.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/lex.zconf.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/mconf.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/menu.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/symbol.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/kconfig/zconf.tab.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/checklist.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/inputbox.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/lxdialog.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/menubox.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/msgbox.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/textbox.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/util.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/lxdialog/yesno.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/mod/empty.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/mod/file2alias.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/mod/mk_elfconfig.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/mod/modpost.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/mod/sumversion.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/modsign/mod-extract.c
/usr/src/kernels/2.6.9-22.EL-i686/scripts/pnmtologo.c
[sandeen at stout tmp]$


That is not a full linux kernel, I'm sorry.  You'll need a bit more source 
code.  About 8000 more C files or so....

-Eric