123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- 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
- # https://sourceware.org/bugzilla/show_bug.cgi?id=21458
- comment "Linux kernel in thumb mode may be broken with binutils 2.30"
- depends on BR2_arm || BR2_armeb
- depends on BR2_BINUTILS_VERSION_2_30_X
- # Packages that need to have a kernel with support for loadable modules,
- # but do not use the kernel-modules infrastructure, should select that
- # option.
- config BR2_LINUX_NEEDS_MODULES
- bool
- #
- # Version selection. We provide the choice between:
- #
- # 1. A single fairly recent stable kernel version
- # 2. A custom stable version
- # 3. A custom tarball
- # 4. A set of custom repository locations
- #
- choice
- prompt "Kernel version"
- config BR2_LINUX_KERNEL_LATEST_VERSION
- bool "Latest version (5.0)"
- config BR2_LINUX_KERNEL_LATEST_CIP_VERSION
- bool "Latest CIP SLTS version (v4.19.13-cip1)"
- help
- CIP launched in the spring of 2016 to address the needs of
- organizations in industries such as power generation and
- distribution, water, oil and gas, transportation, building
- automation and more for reliable and secure Linux-based
- embedded systems that can be sustained over a period of
- 10 to as many as 60 years.
- The project's goal is to provide an open source base layer
- of industrial-grade software that permits the use and
- implementation of software building blocks that meet
- these requirements.
- The CIP community plans to maintain 4.4 for security and
- bug fixes for more than 10 years.
- https://www.cip-project.org
- 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_SVN
- bool "Custom Subversion repository"
- help
- This option allows Buildroot to get the Linux kernel source
- code from a Subversion repository.
- 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 || BR2_LINUX_KERNEL_CUSTOM_SVN
- 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/Subversion E.G. a sha id, a tag, branch, ..
- endif
- config BR2_LINUX_KERNEL_VERSION
- string
- default "5.0.15" if BR2_LINUX_KERNEL_LATEST_VERSION
- default "v4.19.13-cip1" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION
- 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 || BR2_LINUX_KERNEL_CUSTOM_SVN
- #
- # Patch selection
- #
- config BR2_LINUX_KERNEL_PATCH
- string "Custom kernel patches"
- 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_ARCH_DEFAULT_CONFIG
- bool "Use the architecture default configuration"
- help
- This option will use the default configuration for the
- selected architecture. I.e, it is equivalent to running
- "make ARCH=<foo> defconfig". This is useful on architectures
- that have a single defconfig file, such as ARM64.
- 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.
- config BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH
- string "Custom boot logo file path"
- help
- Use a custom Linux framebuffer boot logo.
- Custom logo should be in PNG or JPEG format, it will be
- converted to the linux kernel format (224 colors only)
- and copied over the original logo file.
- #
- # Binary format
- #
- choice
- prompt "Kernel binary format"
- default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb
- config BR2_LINUX_KERNEL_UIMAGE
- bool "uImage"
- depends on BR2_arc || BR2_arm || BR2_armeb || \
- BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
- BR2_sh || BR2_mips || BR2_mipsel || \
- BR2_mips64 || BR2_mips64el || BR2_xtensa
- select BR2_PACKAGE_HOST_UBOOT_TOOLS
- 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_PACKAGE_HOST_UBOOT_TOOLS
- 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_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_PACKAGE_HOST_UBOOT_TOOLS
- 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_PACKAGE_HOST_UBOOT_TOOLS
- 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 || BR2_riscv
- config BR2_LINUX_KERNEL_LINUX_BIN
- bool "linux.bin"
- depends on BR2_microblaze
- select BR2_PACKAGE_HOST_UBOOT_TOOLS
- config BR2_LINUX_KERNEL_VMLINUX_BIN
- bool "vmlinux.bin"
- depends on BR2_mips || BR2_mipsel || BR2_sh
- config BR2_LINUX_KERNEL_VMLINUX
- bool "vmlinux"
- config BR2_LINUX_KERNEL_VMLINUZ
- bool "vmlinuz"
- depends on BR2_mips || BR2_mipsel
- config BR2_LINUX_KERNEL_VMLINUZ_BIN
- bool "vmlinuz.bin"
- 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
- #
- # Kernel compression format
- #
- choice
- prompt "Kernel compression format"
- help
- This selection will just ensure that the correct host tools
- are built. The actual compression for the kernel should be
- selected in the kernel configuration menu.
- config BR2_LINUX_KERNEL_GZIP
- bool "gzip compression"
- config BR2_LINUX_KERNEL_LZ4
- bool "lz4 compression"
- config BR2_LINUX_KERNEL_LZMA
- bool "lzma compression"
- config BR2_LINUX_KERNEL_LZO
- bool "lzo compression"
- config BR2_LINUX_KERNEL_XZ
- bool "xz compression"
- 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
- config BR2_LINUX_KERNEL_INTREE_DTS_NAME
- string "In-tree Device Tree Source file names"
- help
- Name of in-tree 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 "Out-of-tree Device Tree Source file paths"
- help
- Path to to out-of-tree device tree source files.
- You can provide a list of dts paths to copy and
- build, separated by spaces.
- config BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT
- bool "Build Device Tree with overlay support"
- help
- If enabled, pass the "-@" option to dtc, such that
- symbols are generated in the compiled Device Tree.
- Choose this option to support Device Tree overlays
- on the target system.
- 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.
- config BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL
- bool "Needs host OpenSSL"
- help
- Some Linux kernel configuration options (such as
- CONFIG_SYSTEM_TRUSTED_KEYRING) require building a host
- program called extract-cert, which itself needs
- OpenSSL. Enabling this option will ensure host-openssl gets
- built before the Linux kernel.
- Enable this option if you get a Linux kernel build failure
- such as "scripts/extract-cert.c:21:25: fatal error:
- openssl/bio.h: No such file or directory".
- config BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF
- bool "Needs host libelf"
- help
- Some Linux kernel configuration options (such as
- CONFIG_UNWINDER_ORC) require building a host program that
- needs libelf. Enabling this option will ensure host-elfutils
- (which provides libelf) gets built before the Linux kernel.
- Enable this option if you get a Linux kernel build failure
- such as "Cannot generate ORC metadata for
- CONFIG_UNWINDER_ORC=y, please install libelf-dev,
- libelf-devel or elfutils-libelf-devel".
- # Linux extensions
- source "linux/Config.ext.in"
- # Linux tools
- source "package/linux-tools/Config.in"
- endif # BR2_LINUX_KERNEL
- endmenu
|