How to compile the Centos SME Server 7.4 Linux Kernel 2.6.34

Download the latest stable kernel from the http://www.kernel.org/ unpack the downloaded source file.
Steps:

  1. # wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.34.tar.bz2
  2. # tar xjf tar xjf linux-2.6.34.tar.bz2
  3. # ln -s linux-2.6.34 linux
  4. # cd linux
  5. # cp /boot/config-`uname -r` ./.config
  6. # make menuconfig (here you can select .config as preselected .config from old kernel)
  7. # make rpm (Compile the Kernel and make a rpm-paket)
  1. During the compilation of linux-2.6.34 kernel the following error appears
  2. drivers/message/fusion/mptsas.c: In function `mptsas_port_delete'
  3.  drivers/message/fusion/mptsas.c: 105: sorry, unimplemented: inlining failed in call to 'mptsas_set_rphy': function body not available
  4.  drivers/message/fusion/mptsas.c: 467: sorry, unimplemented: called from here
  5. Because: The ‘mptsas_set_rphy’ function is defined after the ‘mptsas_port_delete’ function in the file

Solution :
Moved the ‘mptsas_set_rphy’ function definition before to the function ‘mptsas_port_delete’ function definition.

  1.  drivers/built-in.o(.init.text+0x3bad): In function `con_init': include/trace/events/kmem.h:47: undefined reference to `.L1452'

Solution:
This bug was due to the result of allocating the memory using kzalloc() in con_init() function in the drivers/char/vt.c file.
The problem is:

vc_cons[currcons].d = vc = kzalloc(sizeof(struct vc_data), GFP_NOWAIT);

Solution:
vc_cons[currcons].d = vc = alloc_bootmem(sizeof(struct vc_data));

Design copyright www.linuxonlinehelp.com - Linux PC & Server Support