2.6.x Kernel Compilation Problems: Difference between revisions

From KoanSoftware Wiki
Jump to navigation Jump to search
No edit summary
Line 2: Line 2:


With Ubuntu 12 is no longer possible to build old 2.6 kernels (2.6.30 in my case).
With Ubuntu 12 is no longer possible to build old 2.6 kernels (2.6.30 in my case).
The problem is that gcc 4.6 doesn't support anymore linker-style architecture options.
The problem is that gcc 4.6 doesn't support anymore linker-style architecture options.


Line 17: Line 18:
----------
----------
Apply the following changes to solve the problem :
Apply the following changes to solve the problem :
vi arch/x86/vdso/Makefile


In arch/x86/vdso/Makefile :
In arch/x86/vdso/Makefile :


replace "-m elf_x86_64" by "-m64" on the line starting with VDSO_LDFLAGS_vdso.lds
* replace "-m elf_x86_64" by "-m64" on the line starting with VDSO_LDFLAGS_vdso.lds
 
* replace "-m elf_i386" by "-m32" on the line starting with VDSO_LDFLAGS_vdso32.lds
replace "-m elf_i386" by "-m32" on the line starting with VDSO_LDFLAGS_vdso32.lds

Revision as of 13:59, 8 February 2013

2.6.x Kernel Compilation Problems

With Ubuntu 12 is no longer possible to build old 2.6 kernels (2.6.30 in my case).

The problem is that gcc 4.6 doesn't support anymore linker-style architecture options.

PROBLEM:

gcc: error: elf_i386: No such file or directory
  OBJCOPY arch/x86/vdso/vdso32-int80.so
objcopy: 'arch/x86/vdso/vdso32-int80.so.dbg': No such file
make[2]: *** [arch/x86/vdso/vdso32-int80.so] Error 1
make[1]: *** [arch/x86/vdso] Error 2
make: *** [arch/x86] Error 2


SOLUTION:


Apply the following changes to solve the problem :

vi arch/x86/vdso/Makefile


In arch/x86/vdso/Makefile :

  • replace "-m elf_x86_64" by "-m64" on the line starting with VDSO_LDFLAGS_vdso.lds
  • replace "-m elf_i386" by "-m32" on the line starting with VDSO_LDFLAGS_vdso32.lds