blob: 7b7f23c34a5097daa215d7e043690ad9366278c3 [file] [log] [blame]
if BR2_KERNEL_LINUX_ADVANCED
# --- "Linux kernel options"
# This file exports the following symbols for use by Makefile's
#
# BR2_PACKAGE_LINUX
#
# BR2_KERNEL_SITE
# BR2_DOWNLOAD_LINUX26_VERSION
# BR2_LINUX26_VERSION
#
# BR2_KERNEL_PATCH_SITE
# BR2_KERNEL_PATCH
#
# BR2_LINUX26_CUSTOM
# BR2_CUSTOM_LINUX26_PATCH_SITE
# BR2_CUSTOM_LINUX26_PATCH
#
# BR2_LINUX_BSP_PATCH
#
# BR2_PACKAGE_LINUX_USE_KCONFIG
# BR2_PACKAGE_LINUX_USE_DEFCONFIG
# BR2_PACKAGE_LINUX_USE_XCONFIG
# BR2_PACKAGE_LINUX_KCONFIG
#
# BR2_PACKAGE_LINUX_FORMAT
#
# BR2_LINUX_COPYTO_ROOTFS
# BR2_LINUX_COPYTO_TFTPBOOT
# BR2_LINUX_COPYTO
#
source "target/linux/Config.in.versions"
config BR2_KERNEL_PATCH_LEVEL
string
default $(BR2_KERNEL_LATEST_2_6_28) if BR2_LINUX_2_6_28 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_27) if BR2_LINUX_2_6_27 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_26) if BR2_LINUX_2_6_26 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_25) if BR2_LINUX_2_6_25 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_24) if BR2_LINUX_2_6_24 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_23) if BR2_LINUX_2_6_23 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_22) if BR2_LINUX_2_6_22 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_21) if BR2_LINUX_2_6_21 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default $(BR2_KERNEL_LATEST_2_6_20) if BR2_LINUX_2_6_20 && BR2_KERNEL_ADD_LATEST_MINORPATCH
default "$(BR2_KERNEL_MINORLEVEL)" if BR2_KERNEL_ADD_MINORPATCH
config BR2_KERNEL_NEXT_VERSION
string
default "2.6.29" if BR2_LINUX_2_6_28
default "2.6.28" if BR2_LINUX_2_6_27
default "2.6.27" if BR2_LINUX_2_6_26
default "2.6.26" if BR2_LINUX_2_6_25
default "2.6.25" if BR2_LINUX_2_6_24
default "2.6.24" if BR2_LINUX_2_6_23
default "2.6.23" if BR2_LINUX_2_6_22
default "2.6.22" if BR2_LINUX_2_6_21
default "2.6.21" if BR2_LINUX_2_6_20
config BR2_KERNEL_THIS_VERSION
string
default "2.6.29" if BR2_LINUX_2_6_29
default "2.6.28" if BR2_LINUX_2_6_28
default "2.6.27" if BR2_LINUX_2_6_27
default "2.6.26" if BR2_LINUX_2_6_26
default "2.6.25" if BR2_LINUX_2_6_25
default "2.6.24" if BR2_LINUX_2_6_24
default "2.6.23" if BR2_LINUX_2_6_23
default "2.6.22" if BR2_LINUX_2_6_22
default "2.6.21" if BR2_LINUX_2_6_21
default "2.6.20" if BR2_LINUX_2_6_20
config BR2_KERNEL_SITE
string
default "http://ftp.kernel.org/pub/linux/kernel/v2.6"
config BR2_MM_PATCH_SITE
string
default "http://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6"
config BR2_MM_PATCH_DIR
string
default "$(BR2_DOWNLOAD_LINUX26_VERSION)/$(LINUX26_LATEST_MM_VERSION)" if BR2_KERNEL_ADD_LATEST_MM_PATCH
default "$(BR2_DOWNLOAD_LINUX26_VERSION)/$(BR2_LINUX26_MM_VERSION)" if BR2_KERNEL_ADD_MM_PATCH
config BR2_RC_MM_PATCH_DIR
string
default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)/2.6.$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-mm$(BR2_KERNEL_MM_LEVEL)"
config BR2_KERNEL_PATCH_SITE
string
default "$(BR2_KERNEL_SITE)" if BR2_KERNEL_ADD_LATEST_MINORPATCH
default "$(BR2_KERNEL_SITE)" if BR2_KERNEL_ADD_MINORPATCH
default "$(BR2_KERNEL_SITE)/testing" if BR2_KERNEL_ADD_LATEST_RC_PATCH
default "$(BR2_KERNEL_SITE)/testing" if BR2_KERNEL_ADD_RC_PATCH
default "$(BR2_KERNEL_SITE)/snapshots" if BR2_KERNEL_ADD_LATEST_SNAPSHOT
default "$(BR2_KERNEL_SITE)/snapshots" if BR2_KERNEL_ADD_SNAPSHOT
default "$(BR2_MM_PATCH_SITE)/$(BR2_MM_PATCH_DIR)/" if BR2_KERNEL_ADD_LATEST_MM_PATCH
default "$(BR2_MM_PATCH_SITE)/$(BR2_MM_PATCH_DIR)/" if BR2_KERNEL_ADD_MM_PATCH
default $(BR2_CUSTOM_LINUX26_PATCH_SITE) if BR2_LINUX26_CUSTOM
config BR2_LINUX26_RC_VERSION
string
default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)" if BR2_KERNEL_ADD_RC_PATCH
config BR2_LINUX26_SNAPSHOT_VERSION
string
default "$(BR2_KERNEL_THIS_VERSION)-git$(BR2_KERNEL_GIT_LEVEL)" if BR2_KERNEL_ADD_SNAPSHOT
config BR2_LINUX26_RC_SNAPSHOT_VERSION
string
default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-git$(BR2_KERNEL_GIT_LEVEL)" if BR2_KERNEL_ADD_SNAPSHOT
config BR2_LINUX26_MM_VERSION
string
default "$(BR2_KERNEL_THIS_VERSION)-mm$(BR2_KERNEL_MM_LEVEL)" if BR2_KERNEL_ADD_MM_PATCH
config BR2_LINUX26_RC_MM_VERSION
string
default "$(BR2_KERNEL_NEXT_VERSION)-rc$(BR2_KERNEL_RC_LEVEL)-mm$(BR2_KERNEL_MM_LEVEL)" if BR2_KERNEL_ADD_MM_PATCH
# ---------------------------------------------------------------------------
choice
prompt "Linux Kernel Version"
default BR2_LINUX_2_6_STABLE
help
Select the specific Linux version you want to use
config BR2_LINUX_2_6_STABLE
bool "The latest stable Linux kernel (2.6.28.2)"
config BR2_LINUX_2_6_28
bool "Linux 2.6.28"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_27
bool "Linux 2.6.27"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_26
bool "Linux 2.6.26"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_25
bool "Linux 2.6.25"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_24
bool "Linux 2.6.24"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_23
bool "Linux 2.6.23"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_22
bool "Linux 2.6.22"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_21
bool "Linux 2.6.21"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_20
bool "Linux 2.6.20"
select BR2_KERNEL_BASE
config BR2_LINUX_2_6_29
bool "Linux 2.6.29"
select BR2_KERNEL_BASE
config BR2_LINUX26_CUSTOM
bool "Linux <custom> version"
endchoice
if BR2_LINUX26_CUSTOM
config BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION
string "Linux Tarball version"
default "2.6.28"
help
Specify any .tar.bz2 file
config BR2_CUSTOM_LINUX26_VERSION
string "Linux Version"
default "2.6.29-rc2"
help
Specify what the linux version will be called
config BR2_CUSTOM_LINUX26_PATCH
string "patch name"
default "patch-2.6.29-rc2.bz2"
help
Specify a patch to be downloaded
config BR2_CUSTOM_LINUX26_PATCH_SITE
string "patch site"
default "http://www.kernel.org/pub/linux/kernel/v2.6/testing"
help
Specify from where the patch will be downloaded.
endif
# -----------------------------------------------
menu "Patches"
depends on BR2_PACKAGE_LINUX
config BR2_KERNEL_ADD_KERNEL_ORG_PATCH
bool "Add kernel.org patch"
depends on BR2_KERNEL_BASE
help
Add pre, snapshot or -mm patches
from http://www.kernel.org/
config BR2_KERNEL_ADD_LATEST
bool "Use only the latest patch version"
default y
depends on BR2_KERNEL_ADD_KERNEL_ORG_PATCH
help
Restrict the choices to the latest versions
choice
prompt "Add a kernel.org patch to the Linux Kernel"
depends on BR2_PACKAGE_LINUX
depends on !BR2_KERNEL_PREPATCHED
depends on BR2_KERNEL_ADD_KERNEL_ORG_PATCH
help
Select a patch to add to the Linux kernel
config BR2_KERNEL_ADD_LATEST_MINORPATCH
bool "Add _latest_ '.#' minor patch"
depends on BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
config BR2_KERNEL_ADD_MINORPATCH
bool "Add a '.#' minor patch"
depends on !BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
config BR2_KERNEL_ADD_LATEST_RC_PATCH
bool "Add _latest_ '-rc#' patch"
depends on BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
config BR2_KERNEL_ADD_RC_PATCH
bool "Add an '-rc#' patch"
depends on !BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
config BR2_KERNEL_ADD_LATEST_SNAPSHOT
bool "Add _latest_ 'snapshot' patch"
depends on BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
config BR2_KERNEL_ADD_SNAPSHOT
bool "Add a 'snapshot' patch (linux-2.6.X-rc#-git#)"
depends on !BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
config BR2_KERNEL_ADD_LATEST_MM_PATCH
bool "Add _latest_ '-mm' patch for the stable linux kernel"
depends on BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
config BR2_KERNEL_ADD_MM_PATCH
bool "Add an '-mm#' patch for the stable linux kernel"
depends on !BR2_KERNEL_ADD_LATEST
select BR2_KERNEL_ADD_PATCH
endchoice
config BR2_KERNEL_ADD_PATCH
bool
config BR2_KERNEL_MINORLEVEL
string "patch level"
default ""
depends on BR2_KERNEL_ADD_MINORPATCH
config BR2_KERNEL_RC_LEVEL
string "-rc patch level"
default ""
depends on BR2_KERNEL_ADD_RC_PATCH || BR2_KERNEL_ADD_SNAPSHOT
config BR2_KERNEL_GIT_LEVEL
string "-git patch level"
default ""
depends on BR2_KERNEL_ADD_SNAPSHOT
config BR2_KERNEL_MM_LEVEL
string "-mm patch level"
default ""
depends on BR2_KERNEL_ADD_MM_PATCH
source "target/device/Config.in.linux.patches"
config BR2_LINUX_BSP_PATCH
string "Additional patch to apply (from \$(DL_DIR))"
default ""
help
Apply a patch located in \$(DL_DIR).
You need to download or create this before
enable this option
config BR2_KERNEL_PATCH
string
default "patch-$(BR2_DOWNLOAD_LINUX26_VERSION).$(BR2_KERNEL_PATCH_LEVEL).bz2" if BR2_KERNEL_ADD_LATEST_MINORPATCH
default "patch-$(BR2_DOWNLOAD_LINUX26_VERSION).$(BR2_KERNEL_PATCH_LEVEL).bz2" if BR2_KERNEL_ADD_MINORPATCH
default "patch-$(LINUX26_LATEST_RC_VERSION).bz2" if BR2_KERNEL_ADD_LATEST_RC_PATCH
default "patch-$(BR2_LINUX26_RC_VERSION).bz2" if BR2_KERNEL_ADD_RC_PATCH
default "patch-$(LINUX26_LATEST_GIT_VERSION).bz2" if BR2_KERNEL_ADD_LATEST_SNAPSHOT
default "patch-$(BR2_LINUX26_SNAPSHOT_VERSION).bz2" if BR2_KERNEL_ADD_SNAPSHOT
default "$(LINUX26_LATEST_MM_VERSION).bz2" if BR2_KERNEL_ADD_LATEST_MM_PATCH
default "$(BR2_LINUX26_MM_VERSION).bz2" if BR2_KERNEL_ADD_MM_PATCH
default "$(BR2_CUSTOM_LINUX26_PATCH)" if BR2_LINUX26_CUSTOM
config BR2_EXTRA_VERSION
string
default ".$(BR2_KERNEL_PATCH_LEVEL)" if BR2_KERNEL_ADD_LATEST_MINORPATCH
default ".$(BR2_KERNEL_PATCH_LEVEL)" if BR2_KERNEL_ADD_MINORPATCH
default "$(BR2_KERNEL_RC_LEVEL)" if BR2_KERNEL_ADD_LATEST_RC_PATCH
default "$(BR2_KERNEL_RC_LEVEL)" if BR2_KERNEL_ADD_RC_PATCH
default "$(BR2_KERNEL_GIT_LEVEL)" if BR2_KERNEL_ADD_LATEST_SNAPSHOT
default "$(BR2_KERNEL_GIT_LEVEL)" if BR2_KERNEL_ADD_SNAPSHOT
default "$(BR2_KERNEL_MM_LEVEL)" if BR2_KERNEL_ADD_LATEST_MM_PATCH
default "$(BR2_KERNEL_MM_LEVEL)" if BR2_KERNEL_ADD_MM_PATCH
default "$(BR2_CUSTOM_LINUX26_VERSION)" if BR2_LINUX26_CUSTOM
endmenu
# -----------------------------------------------
config BR2_KERNEL_PREPATCHED
bool
config BR2_KERNEL_BASE
bool
config BR2_KERNEL_LATEST
bool
config BR2_DOWNLOAD_LINUX26_VERSION
string
default "$(BR2_KERNEL_THIS_VERSION)" if BR2_KERNEL_BASE
default "$(BR2_KERNEL_CURRENT_VERSION)" if BR2_LINUX_2_6_STABLE
default "$(BR2_DEFAULT_KERNEL_HEADERS)" if BR2_KERNEL_LINUX_HEADERS_VERSION
default $(BR2_CUSTOM_DOWNLOAD_LINUX26_VERSION) if BR2_LINUX26_CUSTOM
config BR2_LINUX26_VERSION
string
default "$(BR2_KERNEL_THIS_VERSION).$(BR2_KERNEL_PATCH_LEVEL)" if BR2_KERNEL_ADD_LATEST_MINORPATCH&& BR2_KERNEL_BASE
default "$(BR2_KERNEL_THIS_VERSION).$(BR2_KERNEL_PATCH_LEVEL)" if BR2_KERNEL_ADD_MINORPATCH && BR2_KERNEL_BASE
default "$(LINUX26_LATEST_RC_VERSION)" if BR2_KERNEL_ADD_LATEST_RC_PATCH
default "$(BR2_LINUX26_RC_VERSION)" if BR2_KERNEL_ADD_RC_PATCH && BR2_KERNEL_BASE
default "$(LINUX26_LATEST_GIT_VERSION)" if BR2_KERNEL_ADD_LATEST_SNAPSHOT
default "$(BR2_LINUX26_SNAPSHOT_VERSION)" if BR2_KERNEL_ADD_SNAPSHOT && BR2_KERNEL_BASE
default "$(LINUX26_LATEST_MM_VERSION)" if BR2_KERNEL_ADD_LATEST_MM_PATCH
default "$(BR2_LINUX26_MM_VERSION)" if BR2_KERNEL_ADD_MM_PATCH && BR2_KERNEL_BASE
default "$(BR2_KERNEL_THIS_VERSION)" if ! BR2_KERNEL_ADD_PATCH && BR2_KERNEL_BASE
default "$(BR2_KERNEL_CURRENT_VERSION)"if BR2_LINUX_2_6_STABLE
default "$(BR2_CUSTOM_LINUX26_VERSION)" if BR2_LINUX26_CUSTOM
menu "Linux Kernel Configuration"
choice
prompt "Linux Kernel Configuration"
depends on BR2_PACKAGE_LINUX
default BR2_PACKAGE_LINUX_USE_KCONFIG
help
Select the way to configure the Linux
config BR2_PACKAGE_LINUX_USE_KCONFIG
bool ".config file"
depends on BR2_PACKAGE_LINUX
help
kernel's .config to use to build a kernel for the target.
If the above setting is empty, you can change the default
board-imposed value by passing LINUX26_KCONFIG=<path> to
make.
config BR2_PACKAGE_LINUX_USE_DEFCONFIG
bool "Run make <board>_defconfig "
depends on BR2_PACKAGE_LINUX
help
Configure Linux by make <board>_defconfig
You have to supply a BOARD_NAME, either by
defining it in a BSP or by make BOARD_NAME=<board>
config BR2_PACKAGE_LINUX_USE_XCONFIG
bool "Run make ARCH=$(ARCH) [xconfig|menuconfig] before build"
depends on BR2_PACKAGE_LINUX
help
Configure Linux by make xconfig|menuconfig
endchoice
config BR2_PACKAGE_LINUX_KCONFIG
string ".config file"
depends on BR2_PACKAGE_LINUX_USE_KCONFIG
default "$(BR2_BOARD_PATH)/$(BR2_BOARD_NAME)-linux-$(BR2_LINUX26_VERSION).config"
help
kernel's .config to use to build a kernel for the target.
If the above setting is empty, you can change the default
board-imposed value by passing LINUX26_KCONFIG=<path> to
make.
choice
prompt "Preferred config tool"
default BR2_MAKE_MENUCONFIG
depends on BR2_PACKAGE_LINUX_USE_XCONFIG
help
Define the preferred tool to invoke if a configuration is invalid
config BR2_MAKE_XCONFIG
bool "make xconfig (needs QT3 headers on host)"
help
Run "make xconfig" if kernel ".config" is invalid
config BR2_MAKE_MENUCONFIG
bool "make menuconfig"
help
Run "make menuconfig" if kernel ".config" is invalid
endchoice
config BR2_KERNEL_CONFIG_METHOD
string
default "xconfig" if BR2_MAKE_XCONFIG
default "menuconfig" if BR2_MAKE_MENUCONFIG
endmenu
choice
prompt "kernel binary format"
depends on BR2_PACKAGE_LINUX
default BR2_LINUX_BIN_UIMAGE
help
Select the specific Linux binary type you want to use
config BR2_LINUX_BIN_BZIMAGE
bool "bzImage"
depends on BR2_PACKAGE_LINUX
config BR2_LINUX_BIN_UIMAGE
bool "uImage"
depends on BR2_PACKAGE_LINUX
select BR2_TARGET_UBOOT
config BR2_LINUX_BIN_VMLINUX
bool "vmlinux"
depends on BR2_PACKAGE_LINUX
config BR2_LINUX_BIN_ZIMAGE
bool "zImage"
depends on BR2_PACKAGE_LINUX
config BR2_LINUX_BIN_CUSTOM
bool "<custom> Linux binary"
depends on BR2_PACKAGE_LINUX
help
Build custom Linux binary format
endchoice
config BR2_LINUX_BIN_CUSTOM_BIN
string "custom kernel binary format"
depends on BR2_LINUX_BIN_CUSTOM
default ""
help
Which Linux binary format?
config BR2_PACKAGE_LINUX_FORMAT
string #"kernel binary format"
depends on BR2_PACKAGE_LINUX
default "bzImage" if BR2_LINUX_BIN_BZIMAGE
default "uImage" if BR2_LINUX_BIN_UIMAGE
default "vmlinux" if BR2_LINUX_BIN_VMLINUX
default "zImage" if BR2_LINUX_BIN_ZIMAGE
default $(BR2_LINUX_BIN_CUSTOM_BIN) if BR2_LINUX_BIN_CUSTOM
help
kernel binary format.
Popular values include:
- bzImage
- zImage
- vmlinux
- zImage
- xipImage
and other, architecture dependant formats.
Note that the default format is supposed to be set by your
board-description, if any.
i386 and compatible default to bzImage if nothing was given
above.
If the above setting is empty, you can change the default
board-imposed value by passing LINUX26_FORMAT=<string> to
make.
menu "Destinations for linux kernel binaries"
config BR2_LINUX_COPYTO_ROOTFS
bool "Copy kernel to root file system"
depends on BR2_PACKAGE_LINUX
help
Copy kernel to <root>/boot directory
config BR2_LINUX_COPYTO_TFTPBOOT
bool "Copy kernel to /tftpboot"
help
Copy kernel to /tftpboot directory
config BR2_LINUX_COPYTO
string "Copy kernel to <dir>..."
default ""
help
Copy kernel to secondary location
config BR2_LINUX_COPY_CONFIGURATION
bool "Copy buildroot configuration to Linux file system"
help
The configuration files for buildroot, uclibc, busybox and linux
are copied to the "<root>/boot" directory.
endmenu
endif