How do I convert a kernel .config file from 32-bit to 64-bit?

10,927

The recommended answer, as the comment suggests, is to save it as .config in the top-level source directory, and then run make xconfig (GUI, easier) or make menuconfig (TUI) on a 64-bit system.

That said, to simply switch from 32-bit to 64-bit without changing anything else, a little editing at the beginning is all that's needed. Compare:

  • Original (32-bit)
# CONFIG_64BIT is not set
CONFIG_X86_32=y
# CONFIG_X86_64 is not set
CONFIG_OUTPUT_FORMAT="elf32-i386"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
  • "Converted" 64-bit
CONFIG_64BIT=y
# CONFIG_X86_32 is not set
CONFIG_X86_64=y
CONFIG_OUTPUT_FORMAT="elf64-x86-64"
CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig"
  • Note that CONFIG_X86=y is not touched.
Share:
10,927

Related videos on Youtube

zuecho
Author by

zuecho

Updated on September 18, 2022

Comments

  • zuecho
    zuecho over 1 year

    At this page you can download a configuration file that lets you target a particular notebook architecture during the compilation of a new 32-bit Linux kernel.

    I need a 64 bit version.

    What do I have to do? I compiled a kernel 2-3 times in my life but I never touched a config file, I always have used an interactive menu.

    • Kevin
      Kevin almost 12 years
      just put the config file in the source directory as .config, I believe make menuconfig reads it.
  • zuecho
    zuecho almost 12 years
    it's ok to compile a kernel on a different machine? I would like to use another machine that is faster than this.