1*4882a593Smuzhiyunmenu "Kernel" 2*4882a593Smuzhiyun 3*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL 4*4882a593Smuzhiyun bool "Linux Kernel" 5*4882a593Smuzhiyun select BR2_PACKAGE_HOST_KMOD # Unconditional, even if modules not enabled 6*4882a593Smuzhiyun select BR2_PACKAGE_HOST_IMAGEMAGICK if BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH != "" 7*4882a593Smuzhiyun help 8*4882a593Smuzhiyun Enable this option if you want to build a Linux kernel for 9*4882a593Smuzhiyun your embedded device 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunif BR2_LINUX_KERNEL 12*4882a593Smuzhiyun 13*4882a593Smuzhiyun# Packages that need to have a kernel with support for loadable modules, 14*4882a593Smuzhiyun# but do not use the kernel-modules infrastructure, should select that 15*4882a593Smuzhiyun# option. 16*4882a593Smuzhiyunconfig BR2_LINUX_NEEDS_MODULES 17*4882a593Smuzhiyun bool 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunendif # BR2_LINUX_KERNEL 20*4882a593Smuzhiyun 21*4882a593Smuzhiyun# 22*4882a593Smuzhiyun# Version selection. We provide the choice between: 23*4882a593Smuzhiyun# 24*4882a593Smuzhiyun# 1. A single fairly recent stable kernel version 25*4882a593Smuzhiyun# 2. A custom stable version 26*4882a593Smuzhiyun# 3. A custom tarball 27*4882a593Smuzhiyun# 4. A set of custom repository locations 28*4882a593Smuzhiyun# 5. A custom local version 29*4882a593Smuzhiyun# 30*4882a593Smuzhiyunchoice 31*4882a593Smuzhiyun prompt "Kernel version" 32*4882a593Smuzhiyun 33*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_LATEST_VERSION 34*4882a593Smuzhiyun bool "Latest version (6.1)" 35*4882a593Smuzhiyun select BR2_TOOLCHAIN_HEADERS_AT_LEAST_6_1 if BR2_KERNEL_HEADERS_AS_KERNEL 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_LATEST_CIP_VERSION 38*4882a593Smuzhiyun bool "Latest CIP SLTS version (5.10.162-cip24)" 39*4882a593Smuzhiyun select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL 40*4882a593Smuzhiyun help 41*4882a593Smuzhiyun CIP launched in the spring of 2016 to address the needs of 42*4882a593Smuzhiyun organizations in industries such as power generation and 43*4882a593Smuzhiyun distribution, water, oil and gas, transportation, building 44*4882a593Smuzhiyun automation and more for reliable and secure Linux-based 45*4882a593Smuzhiyun embedded systems that can be sustained over a period of 46*4882a593Smuzhiyun 10 to as many as 60 years. 47*4882a593Smuzhiyun The project's goal is to provide an open source base layer 48*4882a593Smuzhiyun of industrial-grade software that permits the use and 49*4882a593Smuzhiyun implementation of software building blocks that meet 50*4882a593Smuzhiyun these requirements. 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun The CIP community plans to maintain 5.10 for security and 53*4882a593Smuzhiyun bug fixes for more than 10 years. 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun https://www.cip-project.org 56*4882a593Smuzhiyun 57*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION 58*4882a593Smuzhiyun bool "Latest CIP RT SLTS version (5.10.162-cip24-rt10)" 59*4882a593Smuzhiyun select BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_10 if BR2_KERNEL_HEADERS_AS_KERNEL 60*4882a593Smuzhiyun help 61*4882a593Smuzhiyun Same as the CIP version, but this is the PREEMPT_RT realtime 62*4882a593Smuzhiyun variant. 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun The CIP community plans to maintain 5.10 for security and 65*4882a593Smuzhiyun bug fixes for more than 10 years. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun https://www.cip-project.org 68*4882a593Smuzhiyun 69*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_VERSION 70*4882a593Smuzhiyun bool "Custom version" 71*4882a593Smuzhiyun help 72*4882a593Smuzhiyun This option allows to use a specific official version from 73*4882a593Smuzhiyun kernel.org, like 2.6.x, 2.6.x.y, 3.x.y, ... 74*4882a593Smuzhiyun 75*4882a593Smuzhiyun Note: you cannot use this option to select a _longterm_ 2.6 76*4882a593Smuzhiyun kernel, because these kernels are not located at the standard 77*4882a593Smuzhiyun URL at kernel.org. Instead, select "Custom tarball" and 78*4882a593Smuzhiyun specify the right URL directly. 79*4882a593Smuzhiyun 80*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_TARBALL 81*4882a593Smuzhiyun bool "Custom tarball" 82*4882a593Smuzhiyun help 83*4882a593Smuzhiyun This option allows to specify a URL pointing to a kernel 84*4882a593Smuzhiyun source tarball. This URL can use any protocol recognized by 85*4882a593Smuzhiyun Buildroot, like http://, ftp://, file:// or scp://. 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun When pointing to a local tarball using file://, you may want 88*4882a593Smuzhiyun to use a make variable like $(TOPDIR) to reference the root of 89*4882a593Smuzhiyun the Buildroot tree. 90*4882a593Smuzhiyun 91*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_LOCAL 92*4882a593Smuzhiyun bool "Custom local" 93*4882a593Smuzhiyun help 94*4882a593Smuzhiyun This option allows to specify path of local kernel source. 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun You may want to use a make variable like $(TOPDIR) to reference 97*4882a593Smuzhiyun the root of the Buildroot tree. 98*4882a593Smuzhiyun 99*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_GIT 100*4882a593Smuzhiyun bool "Custom Git repository" 101*4882a593Smuzhiyun help 102*4882a593Smuzhiyun This option allows Buildroot to get the Linux kernel source 103*4882a593Smuzhiyun code from a Git repository. 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_HG 106*4882a593Smuzhiyun bool "Custom Mercurial repository" 107*4882a593Smuzhiyun help 108*4882a593Smuzhiyun This option allows Buildroot to get the Linux kernel source 109*4882a593Smuzhiyun code from a Mercurial repository. 110*4882a593Smuzhiyun 111*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_SVN 112*4882a593Smuzhiyun bool "Custom Subversion repository" 113*4882a593Smuzhiyun help 114*4882a593Smuzhiyun This option allows Buildroot to get the Linux kernel source 115*4882a593Smuzhiyun code from a Subversion repository. 116*4882a593Smuzhiyun 117*4882a593Smuzhiyunendchoice 118*4882a593Smuzhiyun 119*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE 120*4882a593Smuzhiyun string "Kernel version" 121*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_CUSTOM_VERSION 122*4882a593Smuzhiyun 123*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION 124*4882a593Smuzhiyun string "URL of custom kernel tarball" 125*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_CUSTOM_TARBALL 126*4882a593Smuzhiyun 127*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_LOCAL_LOCATION 128*4882a593Smuzhiyun string "URL of custom local kernel" 129*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_CUSTOM_LOCAL 130*4882a593Smuzhiyun 131*4882a593Smuzhiyunif BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN 132*4882a593Smuzhiyun 133*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_REPO_URL 134*4882a593Smuzhiyun string "URL of custom repository" 135*4882a593Smuzhiyun 136*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION 137*4882a593Smuzhiyun string "Custom repository version" 138*4882a593Smuzhiyun help 139*4882a593Smuzhiyun Revision to use in the typical format used by 140*4882a593Smuzhiyun Git/Mercurial/Subversion E.G. a sha id, a tag, branch, .. 141*4882a593Smuzhiyun 142*4882a593Smuzhiyunendif 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_VERSION 145*4882a593Smuzhiyun string 146*4882a593Smuzhiyun default "6.1.14" if BR2_LINUX_KERNEL_LATEST_VERSION 147*4882a593Smuzhiyun default "5.10.162-cip24" if BR2_LINUX_KERNEL_LATEST_CIP_VERSION 148*4882a593Smuzhiyun default "5.10.162-cip24-rt10" if BR2_LINUX_KERNEL_LATEST_CIP_RT_VERSION 149*4882a593Smuzhiyun default BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE \ 150*4882a593Smuzhiyun if BR2_LINUX_KERNEL_CUSTOM_VERSION 151*4882a593Smuzhiyun default "custom" if BR2_LINUX_KERNEL_CUSTOM_TARBALL || BR2_LINUX_KERNEL_CUSTOM_LOCAL 152*4882a593Smuzhiyun default BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION \ 153*4882a593Smuzhiyun if BR2_LINUX_KERNEL_CUSTOM_GIT || BR2_LINUX_KERNEL_CUSTOM_HG || BR2_LINUX_KERNEL_CUSTOM_SVN 154*4882a593Smuzhiyun 155*4882a593Smuzhiyun# 156*4882a593Smuzhiyun# Patch selection 157*4882a593Smuzhiyun# 158*4882a593Smuzhiyun 159*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_PATCH 160*4882a593Smuzhiyun string "Custom kernel patches" 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun A space-separated list of patches to apply to the 163*4882a593Smuzhiyun kernel. Each patch can be described as an URL, a local file 164*4882a593Smuzhiyun path, or a directory. In the case of a directory, all files 165*4882a593Smuzhiyun matching *.patch in the directory will be applied. 166*4882a593Smuzhiyun 167*4882a593Smuzhiyunif BR2_LINUX_KERNEL 168*4882a593Smuzhiyun 169*4882a593Smuzhiyun# 170*4882a593Smuzhiyun# Configuration selection 171*4882a593Smuzhiyun# 172*4882a593Smuzhiyun 173*4882a593Smuzhiyunchoice 174*4882a593Smuzhiyun prompt "Kernel configuration" 175*4882a593Smuzhiyun default BR2_LINUX_KERNEL_USE_DEFCONFIG 176*4882a593Smuzhiyun 177*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_USE_DEFCONFIG 178*4882a593Smuzhiyun bool "Using an in-tree defconfig file" 179*4882a593Smuzhiyun 180*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG 181*4882a593Smuzhiyun bool "Use the architecture default configuration" 182*4882a593Smuzhiyun help 183*4882a593Smuzhiyun This option will use the default configuration for the 184*4882a593Smuzhiyun selected architecture. I.e, it is equivalent to running 185*4882a593Smuzhiyun "make ARCH=<foo> defconfig". This is useful on architectures 186*4882a593Smuzhiyun that have a single defconfig file, such as ARM64. 187*4882a593Smuzhiyun 188*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG 189*4882a593Smuzhiyun bool "Using a custom (def)config file" 190*4882a593Smuzhiyun 191*4882a593Smuzhiyunendchoice 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_DEFCONFIG 194*4882a593Smuzhiyun string "Defconfig name" 195*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_USE_DEFCONFIG 196*4882a593Smuzhiyun help 197*4882a593Smuzhiyun Name of the kernel defconfig file to use, without the 198*4882a593Smuzhiyun trailing _defconfig. The defconfig is located in 199*4882a593Smuzhiyun arch/<arch>/configs in the kernel tree. 200*4882a593Smuzhiyun 201*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE 202*4882a593Smuzhiyun string "Configuration file path" 203*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG 204*4882a593Smuzhiyun help 205*4882a593Smuzhiyun Path to the kernel configuration file 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun Note: this can be a defconfig file or a complete .config file, 208*4882a593Smuzhiyun which can later be saved back with make 209*4882a593Smuzhiyun linux-update-(def)config. 210*4882a593Smuzhiyun 211*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES 212*4882a593Smuzhiyun string "Additional configuration fragment files" 213*4882a593Smuzhiyun help 214*4882a593Smuzhiyun A space-separated list of kernel configuration fragment files, 215*4882a593Smuzhiyun that will be merged to the main kernel configuration file. 216*4882a593Smuzhiyun 217*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_LOGO_PATH 218*4882a593Smuzhiyun string "Custom boot logo file path" 219*4882a593Smuzhiyun help 220*4882a593Smuzhiyun Use a custom Linux framebuffer boot logo. 221*4882a593Smuzhiyun Custom logo should be in PNG or JPEG format, it will be 222*4882a593Smuzhiyun converted to the linux kernel format (224 colors only) 223*4882a593Smuzhiyun and copied over the original logo file. 224*4882a593Smuzhiyun 225*4882a593Smuzhiyun# 226*4882a593Smuzhiyun# Binary format 227*4882a593Smuzhiyun# 228*4882a593Smuzhiyun 229*4882a593Smuzhiyunchoice 230*4882a593Smuzhiyun prompt "Kernel binary format" 231*4882a593Smuzhiyun default BR2_LINUX_KERNEL_ZIMAGE if BR2_arm || BR2_armeb 232*4882a593Smuzhiyun 233*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_UIMAGE 234*4882a593Smuzhiyun bool "uImage" 235*4882a593Smuzhiyun depends on BR2_arc || BR2_arm || BR2_armeb || \ 236*4882a593Smuzhiyun BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \ 237*4882a593Smuzhiyun BR2_sh || BR2_mips || BR2_mipsel || \ 238*4882a593Smuzhiyun BR2_mips64 || BR2_mips64el || BR2_xtensa 239*4882a593Smuzhiyun select BR2_PACKAGE_HOST_UBOOT_TOOLS 240*4882a593Smuzhiyun 241*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_APPENDED_UIMAGE 242*4882a593Smuzhiyun bool "uImage with appended DT" 243*4882a593Smuzhiyun depends on BR2_arm || BR2_armeb 244*4882a593Smuzhiyun select BR2_LINUX_KERNEL_DTS_SUPPORT 245*4882a593Smuzhiyun select BR2_LINUX_KERNEL_APPENDED_DTB 246*4882a593Smuzhiyun select BR2_PACKAGE_HOST_UBOOT_TOOLS 247*4882a593Smuzhiyun 248*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_BZIMAGE 249*4882a593Smuzhiyun bool "bzImage" 250*4882a593Smuzhiyun depends on BR2_i386 || BR2_x86_64 || BR2_s390x 251*4882a593Smuzhiyun 252*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_ZIMAGE 253*4882a593Smuzhiyun bool "zImage" 254*4882a593Smuzhiyun depends on BR2_arm || BR2_armeb || BR2_powerpc || \ 255*4882a593Smuzhiyun BR2_powerpc64 || BR2_powerpc64le || BR2_sparc || \ 256*4882a593Smuzhiyun BR2_sh || BR2_xtensa 257*4882a593Smuzhiyun 258*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_ZIMAGE_EPAPR 259*4882a593Smuzhiyun bool "zImage.epapr" 260*4882a593Smuzhiyun depends on BR2_powerpc64 || BR2_powerpc64le 261*4882a593Smuzhiyun 262*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_APPENDED_ZIMAGE 263*4882a593Smuzhiyun bool "zImage with appended DT" 264*4882a593Smuzhiyun depends on BR2_arm || BR2_armeb 265*4882a593Smuzhiyun select BR2_LINUX_KERNEL_DTS_SUPPORT 266*4882a593Smuzhiyun select BR2_LINUX_KERNEL_APPENDED_DTB 267*4882a593Smuzhiyun 268*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUIMAGE 269*4882a593Smuzhiyun bool "cuImage" 270*4882a593Smuzhiyun depends on BR2_powerpc 271*4882a593Smuzhiyun select BR2_PACKAGE_HOST_UBOOT_TOOLS 272*4882a593Smuzhiyun select BR2_LINUX_KERNEL_DTS_SUPPORT 273*4882a593Smuzhiyun select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT 274*4882a593Smuzhiyun 275*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_SIMPLEIMAGE 276*4882a593Smuzhiyun bool "simpleImage" 277*4882a593Smuzhiyun depends on BR2_microblaze 278*4882a593Smuzhiyun select BR2_PACKAGE_HOST_UBOOT_TOOLS 279*4882a593Smuzhiyun select BR2_LINUX_KERNEL_DTS_SUPPORT 280*4882a593Smuzhiyun select BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT 281*4882a593Smuzhiyun 282*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_IMAGE 283*4882a593Smuzhiyun bool "Image" 284*4882a593Smuzhiyun depends on BR2_aarch64 || BR2_aarch64_be || BR2_riscv 285*4882a593Smuzhiyun 286*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_IMAGEGZ 287*4882a593Smuzhiyun bool "Image.gz" 288*4882a593Smuzhiyun depends on BR2_aarch64 || BR2_aarch64_be || BR2_riscv 289*4882a593Smuzhiyun 290*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_LINUX_BIN 291*4882a593Smuzhiyun bool "linux.bin" 292*4882a593Smuzhiyun depends on BR2_microblaze 293*4882a593Smuzhiyun select BR2_PACKAGE_HOST_UBOOT_TOOLS 294*4882a593Smuzhiyun 295*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_VMLINUX_BIN 296*4882a593Smuzhiyun bool "vmlinux.bin" 297*4882a593Smuzhiyun depends on BR2_mips || BR2_mipsel || BR2_sh 298*4882a593Smuzhiyun 299*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_VMLINUX 300*4882a593Smuzhiyun bool "vmlinux" 301*4882a593Smuzhiyun 302*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_VMLINUZ 303*4882a593Smuzhiyun bool "vmlinuz" 304*4882a593Smuzhiyun depends on BR2_mips || BR2_mipsel 305*4882a593Smuzhiyun 306*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_VMLINUZ_BIN 307*4882a593Smuzhiyun bool "vmlinuz.bin" 308*4882a593Smuzhiyun depends on BR2_mips || BR2_mipsel 309*4882a593Smuzhiyun 310*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM 311*4882a593Smuzhiyun bool "custom target" 312*4882a593Smuzhiyun help 313*4882a593Smuzhiyun For certain cases a board-specific target image must be 314*4882a593Smuzhiyun used. For example, on powerPC where the OpenFirmware 315*4882a593Smuzhiyun description is attached in a board-specific kernel image 316*4882a593Smuzhiyun target like 'cuImage.mpc8379_rdb'. 317*4882a593Smuzhiyun 318*4882a593Smuzhiyun Select this option and specify the make target in "Kernel 319*4882a593Smuzhiyun image target name". 320*4882a593Smuzhiyun 321*4882a593Smuzhiyunendchoice 322*4882a593Smuzhiyun 323*4882a593Smuzhiyun# 324*4882a593Smuzhiyun# Kernel compression format 325*4882a593Smuzhiyun# 326*4882a593Smuzhiyun 327*4882a593Smuzhiyunchoice 328*4882a593Smuzhiyun prompt "Kernel compression format" 329*4882a593Smuzhiyun help 330*4882a593Smuzhiyun This selection will just ensure that the correct host tools 331*4882a593Smuzhiyun are built. The actual compression for the kernel should be 332*4882a593Smuzhiyun selected in the kernel configuration menu. 333*4882a593Smuzhiyun 334*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_GZIP 335*4882a593Smuzhiyun bool "gzip compression" 336*4882a593Smuzhiyun 337*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_LZ4 338*4882a593Smuzhiyun bool "lz4 compression" 339*4882a593Smuzhiyun 340*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_LZMA 341*4882a593Smuzhiyun bool "lzma compression" 342*4882a593Smuzhiyun 343*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_LZO 344*4882a593Smuzhiyun bool "lzo compression" 345*4882a593Smuzhiyun 346*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_XZ 347*4882a593Smuzhiyun bool "xz compression" 348*4882a593Smuzhiyun 349*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_ZSTD 350*4882a593Smuzhiyun bool "zstd compression" 351*4882a593Smuzhiyun 352*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_UNCOMPRESSED 353*4882a593Smuzhiyun bool "uncompressed" 354*4882a593Smuzhiyun depends on BR2_s390x 355*4882a593Smuzhiyun 356*4882a593Smuzhiyunendchoice 357*4882a593Smuzhiyun 358*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_IMAGE_TARGET_NAME 359*4882a593Smuzhiyun string "Kernel image target name" 360*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM 361*4882a593Smuzhiyun help 362*4882a593Smuzhiyun Specify the kernel make target to build the kernel that you 363*4882a593Smuzhiyun need. 364*4882a593Smuzhiyun 365*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_IMAGE_NAME 366*4882a593Smuzhiyun string "Kernel image name" 367*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM 368*4882a593Smuzhiyun help 369*4882a593Smuzhiyun The filename of the kernel image, if it is different from 370*4882a593Smuzhiyun the make target (above). Defaults to 371*4882a593Smuzhiyun BR2_LINUX_KERNEL_IMAGE_TARGET_NAME. If specified, the 372*4882a593Smuzhiyun filename is relative to arch/ARCH/boot/. 373*4882a593Smuzhiyun 374*4882a593Smuzhiyun If unsure, leave it empty. 375*4882a593Smuzhiyun 376*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_UIMAGE_LOADADDR 377*4882a593Smuzhiyun string "load address (for 3.7+ multi-platform image)" 378*4882a593Smuzhiyun depends on BR2_arm || BR2_armeb 379*4882a593Smuzhiyun depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE 380*4882a593Smuzhiyun help 381*4882a593Smuzhiyun If your ARM system's Linux kernel is configured with the new 382*4882a593Smuzhiyun (3.7+) multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y 383*4882a593Smuzhiyun in your kernel config), then it is necessary to specify a 384*4882a593Smuzhiyun kernel load address when building the uImage. This should be a 385*4882a593Smuzhiyun hexadecimal string beginning with 0x, for example: 0x00008000. 386*4882a593Smuzhiyun 387*4882a593Smuzhiyun If unsure, let this option empty. 388*4882a593Smuzhiyun 389*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_DTS_SUPPORT 390*4882a593Smuzhiyun bool "Build a Device Tree Blob (DTB)" 391*4882a593Smuzhiyun help 392*4882a593Smuzhiyun Compile one or more device tree sources into device tree 393*4882a593Smuzhiyun blobs. 394*4882a593Smuzhiyun Select the dts files to compile in the options below. 395*4882a593Smuzhiyun 396*4882a593Smuzhiyunif BR2_LINUX_KERNEL_DTS_SUPPORT 397*4882a593Smuzhiyun 398*4882a593Smuzhiyun# We have mainly three cases when it comes to device tree support: 399*4882a593Smuzhiyun# 1) We don't want any support at all. Then the ..DTS_SUPPORT 400*4882a593Smuzhiyun# variable won't be set 401*4882a593Smuzhiyun# 2) We want device tree support, so we need the user to enter the 402*4882a593Smuzhiyun# device tree name or the path to the custom device he uses, but 403*4882a593Smuzhiyun# the kernel abstracts this from us and only build an image that 404*4882a593Smuzhiyun# looks like a regular kernel image. In this case, we only need 405*4882a593Smuzhiyun# to derive the kernel image name from the given device tree 406*4882a593Smuzhiyun# name, and all the rest is as usual 407*4882a593Smuzhiyun# 3) We want device tree support, but the kernel requires us to 408*4882a593Smuzhiyun# build the device tree blob separately. In this case, some 409*4882a593Smuzhiyun# more logic will be needed. 410*4882a593Smuzhiyun# The variable below address the second case, were you only want 411*4882a593Smuzhiyun# limited actions from buildroot. 412*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT 413*4882a593Smuzhiyun bool "DTB is built by kernel itself" 414*4882a593Smuzhiyun help 415*4882a593Smuzhiyun Normally, the device tree(s) to be built have to be passed 416*4882a593Smuzhiyun explicitly to the kernel build system. For some binary 417*4882a593Smuzhiyun formats, however, the kernel build system links in the 418*4882a593Smuzhiyun device tree directly in the kernel binary. Select this option 419*4882a593Smuzhiyun if you have such a kernel binary format. 420*4882a593Smuzhiyun 421*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_APPENDED_DTB 422*4882a593Smuzhiyun bool 423*4882a593Smuzhiyun 424*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_INTREE_DTS_NAME 425*4882a593Smuzhiyun string "In-tree Device Tree Source file names" 426*4882a593Smuzhiyun help 427*4882a593Smuzhiyun Name of in-tree device tree source file, without 428*4882a593Smuzhiyun the trailing .dts. You can provide a list of 429*4882a593Smuzhiyun dts files to build, separated by spaces. 430*4882a593Smuzhiyun 431*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_CUSTOM_DTS_PATH 432*4882a593Smuzhiyun string "Out-of-tree Device Tree Source file paths" 433*4882a593Smuzhiyun help 434*4882a593Smuzhiyun Paths to out-of-tree Device Tree Source (.dts) and Device Tree 435*4882a593Smuzhiyun Source Include (.dtsi) files, separated by spaces. These files 436*4882a593Smuzhiyun will be copied to the kernel sources and the .dts files will 437*4882a593Smuzhiyun be compiled from there. 438*4882a593Smuzhiyun 439*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_DTB_KEEP_DIRNAME 440*4882a593Smuzhiyun bool "Keep the directory name of the Device Tree" 441*4882a593Smuzhiyun help 442*4882a593Smuzhiyun If enabled, the device tree blobs keep their 443*4882a593Smuzhiyun directory prefixes when they get copied to the 444*4882a593Smuzhiyun output image directory or the target directory. 445*4882a593Smuzhiyun 446*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT 447*4882a593Smuzhiyun bool "Build Device Tree with overlay support" 448*4882a593Smuzhiyun help 449*4882a593Smuzhiyun If enabled, pass the "-@" option to dtc, such that 450*4882a593Smuzhiyun symbols are generated in the compiled Device Tree. 451*4882a593Smuzhiyun Choose this option to support Device Tree overlays 452*4882a593Smuzhiyun on the target system. 453*4882a593Smuzhiyun 454*4882a593Smuzhiyunendif 455*4882a593Smuzhiyun 456*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_INSTALL_TARGET 457*4882a593Smuzhiyun bool "Install kernel image to /boot in target" 458*4882a593Smuzhiyun depends on !BR2_TARGET_ROOTFS_INITRAMFS 459*4882a593Smuzhiyun help 460*4882a593Smuzhiyun Select this option to have the kernel image installed to 461*4882a593Smuzhiyun /boot in the target root filesystem, as is typically done on 462*4882a593Smuzhiyun x86/x86_64 systems. 463*4882a593Smuzhiyun 464*4882a593Smuzhiyun Note that this option also installs the Device Tree Blobs to 465*4882a593Smuzhiyun /boot if DTBs have been generated by the kernel build 466*4882a593Smuzhiyun process. 467*4882a593Smuzhiyun 468*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL 469*4882a593Smuzhiyun bool "Needs host OpenSSL" 470*4882a593Smuzhiyun help 471*4882a593Smuzhiyun Some Linux kernel configuration options (such as 472*4882a593Smuzhiyun CONFIG_SYSTEM_TRUSTED_KEYRING) require building a host 473*4882a593Smuzhiyun program called extract-cert, which itself needs 474*4882a593Smuzhiyun OpenSSL. Enabling this option will ensure host-openssl gets 475*4882a593Smuzhiyun built before the Linux kernel. 476*4882a593Smuzhiyun 477*4882a593Smuzhiyun Enable this option if you get a Linux kernel build failure 478*4882a593Smuzhiyun such as "scripts/extract-cert.c:21:25: fatal error: 479*4882a593Smuzhiyun openssl/bio.h: No such file or directory". 480*4882a593Smuzhiyun 481*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF 482*4882a593Smuzhiyun bool "Needs host libelf" 483*4882a593Smuzhiyun help 484*4882a593Smuzhiyun Some Linux kernel configuration options (such as 485*4882a593Smuzhiyun CONFIG_UNWINDER_ORC) require building a host program that 486*4882a593Smuzhiyun needs libelf. Enabling this option will ensure host-elfutils 487*4882a593Smuzhiyun (which provides libelf) gets built before the Linux kernel. 488*4882a593Smuzhiyun 489*4882a593Smuzhiyun Enable this option if you get a Linux kernel build failure 490*4882a593Smuzhiyun such as "Cannot generate ORC metadata for 491*4882a593Smuzhiyun CONFIG_UNWINDER_ORC=y, please install libelf-dev, 492*4882a593Smuzhiyun libelf-devel or elfutils-libelf-devel". 493*4882a593Smuzhiyun 494*4882a593Smuzhiyunconfig BR2_LINUX_KERNEL_NEEDS_HOST_PAHOLE 495*4882a593Smuzhiyun bool "Needs host pahole" 496*4882a593Smuzhiyun help 497*4882a593Smuzhiyun Some Linux kernel configuration options (such as 498*4882a593Smuzhiyun CONFIG_DEBUG_INFO_BTF) require building a host program 499*4882a593Smuzhiyun called pahole. Enabling this option will ensure host-pahole 500*4882a593Smuzhiyun gets built before the Linux kernel. 501*4882a593Smuzhiyun 502*4882a593Smuzhiyun Enable this option if you get a Linux kernel build failure 503*4882a593Smuzhiyun such as "BTF: .tmp_vmlinux.btf: pahole (pahole) is not 504*4882a593Smuzhiyun available". 505*4882a593Smuzhiyun 506*4882a593Smuzhiyun# Linux extensions 507*4882a593Smuzhiyunsource "linux/Config.ext.in" 508*4882a593Smuzhiyun 509*4882a593Smuzhiyunendif # BR2_LINUX_KERNEL 510*4882a593Smuzhiyun 511*4882a593Smuzhiyun# Linux tools 512*4882a593Smuzhiyunsource "package/linux-tools/Config.in" 513*4882a593Smuzhiyun 514*4882a593Smuzhiyunendmenu 515