123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380 |
- menu "Kernel"
- config BR2_LINUX_KERNEL
- bool "Linux Kernel"
- help
- Enable this option if you want to build a Linux kernel for
- your embedded device
- if BR2_LINUX_KERNEL
- #
- # Version selection. We provide the choice between:
- #
- # 1. A single fairly recent stable kernel version
- # 2. In case an internal toolchain has been built, the same kernel
- # version as the kernel headers
- # 3. A custom stable version
- # 4. A custom tarball
- #
- choice
- prompt "Kernel version"
- config BR2_LINUX_KERNEL_LATEST_VERSION
- bool "4.3"
- config BR2_LINUX_KERNEL_SAME_AS_HEADERS
- bool "Same as toolchain kernel headers"
- depends on BR2_TOOLCHAIN_BUILDROOT
- help
- This option will re-use the same kernel sources as the one
- that have been used for the kernel headers of the
- cross-compiling toolchain. Having the same version for the
- kernel running on the system and for the kernel headers is
- not a requirement, but using the same version allows to
- download only one tarball of the kernel sources.
- config BR2_LINUX_KERNEL_CUSTOM_VERSION
- bool "Custom version"
- help
- This option allows to use a specific official version from
- kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ...
- Note: you cannot use this option to select a _longterm_ 2.6
- kernel, because these kernels are not located at the standard
- URL at kernel.org. Instead, select "Custom tarball" and
- specify the right URL directly.
- config BR2_LINUX_KERNEL_CUSTOM_TARBALL
- bool "Custom tarball"
- help
- This option allows to specify a URL pointing to a kernel source
- tarball. This URL can use any protocol recognized by Buildroot,
- like http://, ftp://, file:// or scp://.
- When pointing to a local tarball using file://, you may want to
- use a make variable like $(TOPDIR) to reference the root of the
- Buildroot tree.
- config BR2_LINUX_KERNEL_CUSTOM_GIT
- bool "Custom Git repository"
- help
- This option allows Buildroot to get the Linux kernel source
- code from a Git repository.
- config BR2_LINUX_KERNEL_CUSTOM_HG
- bool "Custom Mercurial repository"
- help
- This option allows Buildroot to get the Linux kernel source
- code from a Mercurial repository.
- config BR2_LINUX_KERNEL_CUSTOM_LOCAL
- bool "Local directory"
- help
- This option allows Buildroot to get the Linux kernel source
- code from a local directory.
- endchoice
- config BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE
- string "Kernel version"
- depends on BR2_LINUX_KERNEL_CUSTOM_VERSION
- config BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION
- string "URL of custom kernel tarball"
- depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL
- if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
- config BR2_LINUX_KERNEL_CUSTOM_REPO_URL
- string "URL of custom repository"
- default BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL \
- if BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL != "" # legacy
- config BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION
- string "Custom repository version"
- default BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION \
- if BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION != "" # legacy
- help
- Revision to use in the typical format used by Git/Mercurial
- E.G. a sha id, a tag, branch, ..
- endif
- config BR2_LINUX_KERNEL_CUSTOM_LOCAL_PATH
- string "Path to the local directory"
- depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL
- help
- Path to the local directory with the Linux kernel source code.
- config BR2_LINUX_KERNEL_VERSION
- string
- default "4.3" if BR2_LINUX_KERNEL_LATEST_VERSION
- default BR2_DEFAULT_KERNEL_HEADERS if BR2_LINUX_KERNEL_SAME_AS_HEADERS
- default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \
- if BR2_LINUX_KERNEL_CUSTOM_VERSION
- default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL
- default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \
- if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG
- default "custom" if BR2_LINUX_KERNEL_CUSTOM_LOCAL
- #
- # Patch selection
- #
- config BR2_LINUX_KERNEL_PATCH
- string "Custom kernel patches"
- depends on !BR2_LINUX_KERNEL_CUSTOM_LOCAL
- help
- A space-separated list of patches to apply to the
- kernel. Each patch can be described as an URL, a local file
- path, or a directory. In the case of a directory, all files
- matching *.patch in the directory will be applied.
- #
- # Configuration selection
- #
- choice
- prompt "Kernel configuration"
- default BR2_LINUX_KERNEL_USE_DEFCONFIG
- config BR2_LINUX_KERNEL_USE_DEFCONFIG
- bool "Using an in-tree defconfig file"
- config BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
- bool "Using a custom (def)config file"
- endchoice
- config BR2_LINUX_KERNEL_DEFCONFIG
- string "Defconfig name"
- depends on BR2_LINUX_KERNEL_USE_DEFCONFIG
- help
- Name of the kernel defconfig file to use, without the
- trailing _defconfig. The defconfig is located in
- arch/<arch>/configs in the kernel tree.
- config BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE
- string "Configuration file path"
- depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG
- help
- Path to the kernel configuration file
- Note: this can be a defconfig file or a complete .config file,
- which can later be saved back with make linux-update-(def)config.
- config BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES
- string "Additional configuration fragment files"
- help
- A space-separated list of kernel configuration fragment files,
- that will be merged to the main kernel configuration file.
- #
- # Binary format
- #
- config BR2_LINUX_KERNEL_UBOOT_IMAGE
- bool
- choice
- prompt "Kernel binary format"
- config BR2_LINUX_KERNEL_UIMAGE
- bool "uImage"
- depends on BR2_arc || BR2_arm || BR2_armeb || BR2_bfin || \
- BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
- BR2_sh || BR2_sh64 || BR2_mips || BR2_mipsel || \
- BR2_mips64 || BR2_mips64el
- select BR2_LINUX_KERNEL_UBOOT_IMAGE
- config BR2_LINUX_KERNEL_APPENDED_UIMAGE
- bool "uImage with appended DT"
- depends on BR2_arm || BR2_armeb
- select BR2_LINUX_KERNEL_DTS_SUPPORT
- select BR2_LINUX_KERNEL_APPENDED_DTB
- select BR2_LINUX_KERNEL_UBOOT_IMAGE
- config BR2_LINUX_KERNEL_BZIMAGE
- bool "bzImage"
- depends on BR2_i386 || BR2_x86_64
- config BR2_LINUX_KERNEL_ZIMAGE
- bool "zImage"
- depends on BR2_arm || BR2_armeb || BR2_powerpc || \
- BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \
- BR2_sh || BR2_sh64 || BR2_xtensa
- config BR2_LINUX_KERNEL_ZIMAGE_EPAPR
- bool "zImage.epapr"
- depends on BR2_powerpc64 || BR2_powerpc64le
- config BR2_LINUX_KERNEL_APPENDED_ZIMAGE
- bool "zImage with appended DT"
- depends on BR2_arm || BR2_armeb
- select BR2_LINUX_KERNEL_DTS_SUPPORT
- select BR2_LINUX_KERNEL_APPENDED_DTB
- config BR2_LINUX_KERNEL_CUIMAGE
- bool "cuImage"
- depends on BR2_powerpc
- select BR2_LINUX_KERNEL_UBOOT_IMAGE
- select BR2_LINUX_KERNEL_DTS_SUPPORT
- select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
- config BR2_LINUX_KERNEL_SIMPLEIMAGE
- bool "simpleImage"
- depends on BR2_microblaze
- select BR2_LINUX_KERNEL_UBOOT_IMAGE
- select BR2_LINUX_KERNEL_DTS_SUPPORT
- select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
- config BR2_LINUX_KERNEL_IMAGE
- bool "Image"
- depends on BR2_aarch64
- config BR2_LINUX_KERNEL_LINUX_BIN
- bool "linux.bin"
- depends on BR2_microblaze
- select BR2_LINUX_KERNEL_UBOOT_IMAGE
- config BR2_LINUX_KERNEL_VMLINUX_BIN
- bool "vmlinux.bin"
- depends on BR2_mips || BR2_mipsel || BR2_sh || BR2_sh64
- config BR2_LINUX_KERNEL_VMLINUX
- bool "vmlinux"
- config BR2_LINUX_KERNEL_VMLINUZ
- bool "vmlinuz"
- depends on BR2_mips || BR2_mipsel
- config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
- bool "custom target"
- help
- For certain cases a board-specific target image must be
- used. For example, on powerPC where the OpenFirmware
- description is attached in a board-specific kernel image
- target like 'cuImage.mpc8379_rdb'.
- Select this option and specify the make target in "Kernel
- image target name".
- endchoice
- config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
- string "Kernel image target name"
- depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
- help
- Specify the kernel make target to build the kernel that you
- need.
- config BR2_LINUX_KERNEL_IMAGE_NAME
- string "Kernel image name"
- depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
- help
- The filename of the kernel image, if it is different from the
- make target (above). Only Xtensa uses a filename different from
- the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
- If unsure, leave it empty.
- config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
- string "load address (for 3.7+ multi-platform image)"
- depends on BR2_arm || BR2_armeb
- depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
- help
- If your ARM system's Linux kernel is configured with the new (3.7+)
- multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
- kernel config), then it is necessary to specify a kernel load address
- when building the uImage. This should be a hexadecimal string
- beginning with 0x, for example: 0x00008000.
- If unsure, let this option empty.
- config BR2_LINUX_KERNEL_DTS_SUPPORT
- bool "Build a Device Tree Blob (DTB)"
- help
- Compile one or more device tree sources into device tree blobs.
- Select the dts files to compile in the options below.
- if BR2_LINUX_KERNEL_DTS_SUPPORT
- # We have mainly three cases when it comes to device tree support:
- # 1) We don't want any support at all. Then the ..DTS_SUPPORT
- # variable won't be set
- # 2) We want device tree support, so we need the user to enter the
- # device tree name or the path to the custom device he uses, but
- # the kernel abstracts this from us and only build an image that
- # looks like a regular kernel image. In this case, we only need
- # to derive the kernel image name from the given device tree
- # name, and all the rest is as usual
- # 3) We want device tree support, but the kernel requires us to
- # build the device tree blob separately. In this case, some
- # more logic will be needed.
- # The variable below address the second case, were you only want
- # limited actions from buildroot.
- config BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT
- bool
- config BR2_LINUX_KERNEL_APPENDED_DTB
- bool
- choice
- prompt "Device tree source"
- default BR2_LINUX_KERNEL_USE_INTREE_DTS
- config BR2_LINUX_KERNEL_USE_INTREE_DTS
- bool "Use a device tree present in the kernel."
- help
- Use a device tree source distributed with
- the kernel sources. The dts files are located
- in the arch/<arch>/boot/dts folder.
- config BR2_LINUX_KERNEL_USE_CUSTOM_DTS
- bool "Use a custom device tree file"
- help
- Use a custom device tree file, i.e, a device
- tree file that does not belong to the kernel
- source tree.
- endchoice
- config BR2_LINUX_KERNEL_INTREE_DTS_NAME
- string "Device Tree Source file names"
- depends on BR2_LINUX_KERNEL_USE_INTREE_DTS
- help
- Name of the device tree source file, without
- the trailing .dts. You can provide a list of
- dts files to build, separated by spaces.
- config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH
- string "Device Tree Source file paths"
- depends on BR2_LINUX_KERNEL_USE_CUSTOM_DTS
- help
- Path to the device tree source files. You can
- provide a list of dts paths to copy and build,
- separated by spaces.
- endif
- config BR2_LINUX_KERNEL_INSTALL_TARGET
- bool "Install kernel image to /boot in target"
- depends on !BR2_TARGET_ROOTFS_INITRAMFS
- help
- Select this option to have the kernel image installed to
- /boot in the target root filesystem, as is typically done on
- x86/x86_64 systems.
- Note that this option also installs the Device Tree Blobs to
- /boot if DTBs have been generated by the kernel build
- process.
- # Linux extensions
- source "linux/Config.ext.in"
- # Linux tools
- source "linux/Config.tools.in"
- endif # BR2_LINUX_KERNEL
- endmenu
|