Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - R index

CONFIG_RELOCATABLE: Build a relocatable kernel image

General informations

The Linux kernel configuration item CONFIG_RELOCATABLE has multiple definitions:

Build a relocatable kernel image found in arch/arm64/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds the kernel as a Position Independent Executable (PIE), which retains all relocation metadata required to relocate the kernel binary at runtime to a different virtual address than the address it was linked at. Since AArch64 uses the RELA relocation format, this requires a relocation pass at runtime even if the kernel is loaded at the same address it was linked at.

Build a relocatable kernel found in arch/x86/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that retains relocation information so it can be loaded someplace besides the default 1MB. The relocations tend to make the kernel binary about 10% larger, but are discarded at runtime.

One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel.

Note: If RELOCATABLE=y, then the kernel runs from the address it has been loaded at and the compile time physical address (PHYSICAL_START) is used as the minimum location.

Build a relocatable kernel found in arch/riscv/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel as a Position Independent Executable (PIE), which retains all relocation metadata required to relocate the kernel binary at runtime to a different virtual address than the address it was linked at. Since RISCV uses the RELA relocation format, this requires a relocation pass at runtime even if the kernel is loaded at the same address it was linked at.

If unsure, say N.

Build a relocatable kernel found in arch/powerpc/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that is capable of running at the location the kernel is loaded at. For ppc32, there is no any alignment restrictions, and this feature is a superset of DYNAMIC_MEMSTART and hence overrides it. For ppc64, we should use 16k-aligned base address. The kernel is linked as a position-independent executable (PIE) and contains dynamic relocations which are processed early in the bootup process.

One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel.

Note: If RELOCATABLE=y, then the kernel runs from the address it has been loaded at and the compile time physical addresses PHYSICAL_START is ignored. However PHYSICAL_START setting can still be useful to bootwrappers that need to know the load address of the kernel (eg. u-boot/mkimage).

Relocatable kernel found in arch/mips/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that retains relocation information so it can be loaded someplace besides the default 1MB. The relocations make the kernel binary about 15% larger, but are discarded at runtime

Relocatable kernel found in arch/loongarch/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds the kernel as a Position Independent Executable (PIE), which retains all relocation metadata required, so as to relocate the kernel binary at runtime to a different virtual address from its link address.

found in arch/s390/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that retains relocation information so it can be loaded at an arbitrary address. The relocations make the kernel image about 15% larger (compressed 10%), but are discarded at runtime. Note: this option exists only for documentation purposes, please do not remove it.

Build a relocatable kernel found in arch/s390/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that retains relocation information so it can be loaded at an arbitrary address. The kernel is linked as a position-independent executable (PIE) and contains dynamic relocations which are processed early in the bootup process. The relocations make the kernel image about 15% larger (compressed 10%), but are discarded at runtime.

found in arch/arm64/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds the kernel as a Position Independent Executable (PIE), which retains all relocation metadata required to relocate the kernel binary at runtime to a different virtual address than the address it was linked at. Since AArch64 uses the RELA relocation format, this requires a relocation pass at runtime even if the kernel is loaded at the same address it was linked at.

Build a relocatable kernel (EXPERIMENTAL) found in arch/powerpc/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that is capable of running at the location the kernel is loaded at, without any alignment restrictions. This feature is a superset of DYNAMIC_MEMSTART and hence overrides it.

One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel.

Note: If RELOCATABLE=y, then the kernel runs from the address it has been loaded at and the compile time physical addresses PHYSICAL_START is ignored. However PHYSICAL_START setting can still be useful to bootwrappers that need to know the load address of the kernel (eg. u-boot/mkimage).

Build a relocatable kernel (EXPERIMENTAL) found in arch/x86/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that retains relocation information so it can be loaded someplace besides the default 1MB. The relocations tend to make the kernel binary about 10% larger, but are discarded at runtime.

One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel.

Note: If RELOCATABLE=y, then the kernel runs from the address it has been loaded at and the compile time physical address (PHYSICAL_START) is ignored.

Build a relocatable kernel(EXPERIMENTAL) found in arch/x86_64/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

Builds a relocatable kernel. This enables loading and running a kernel binary from a different physical address than it has been compiled for.

One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel.

Note: If RELOCATABLE=y, then kernel run from the address it has been loaded at and compile time physical address (PHYSICAL_START) is ignored.

Build a relocatable kernel(EXPERIMENTAL) found in arch/i386/Kconfig

The configuration item CONFIG_RELOCATABLE:

Help text

This builds a kernel image that retains relocation information so it can be loaded someplace besides the default 1MB. The relocations tend to make the kernel binary about 10% larger, but are discarded at runtime.

One use is for the kexec on panic case where the recovery kernel must live at a different physical address than the primary kernel.

Hardware

LKDDb

Raw data from LKDDb:

Sources

This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).

The data is retrived from:

Automatic links from Google (and ads)

Custom Search

Popular queries:

Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - R index

Automatically generated (in year 2024). See also LKDDb sources on GitLab