[CentOS] CentOS6: Building a modified kernel rpm

Wed Mar 30 12:53:14 UTC 2016
James Pearson <james-p at moving-picture.com>

Patrick Begou wrote:
> Dear Akemi,
>
> I'm really ashamed, in
> "https://wiki.centos.org/HowTos/I_need_the_Kernel_Source" I've missed
> the last 5 lines following the CentOS5 section. All is now clear for me
> on the process to follow to build a new kernel from source rpm and the
> CONFIG_NUMA_EMU option is active.
> I've set it with make menuconfig to avoid some additional mistakes in
> the config file.
>
> However, with this CONFIG_NUMA_EMU option , the compiler returns an
> error and compilation fails.
> arch/x86/mm/srat_64.c: In function 'acpi_fake_nodes':
> arch/x86/mm/srat_64.c:469: error: implicit declaration of function
> '__acpi_map_pxm_to_node'
> make[2]: *** [arch/x86/mm/srat_64.o] Error 1
> make[1]: *** [arch/x86/mm] Error 2
> make: *** [arch/x86] Error 2
> make: *** Waiting for unfinished jobs....
> error: Bad exit status from /var/tmp/rpm-tmp.VkJ805 (%build)
>      Bad exit status from /var/tmp/rpm-tmp.VkJ805 (%build)
>
> Without CONFIG_NUMA_EMU option, compilation is successfull.
> It is the CentOSplus kernel from
> kernel-2.6.32-573.el6.centos.plus.src.rpm as yous suggested.

Redhat make very big changes to the base kernel source to create their 
kernel - meaning that code they don't use (i.e. code included with 
CONFIG options they don't support) may no longer build - as is probably 
the case here

You may want to compare the 2.6.32-573 source with the generic 2.6.32 
kernel source where your compile fails above to see if you can find a 
workaround

A useful starting point could be:

http://lxr.free-electrons.com/ident?v=2.6.32;i=__acpi_map_pxm_to_node

However, there is no guarantee that even if you get it to compile that 
it will work as expected ...

James Pearson