xref: /OK3568_Linux_fs/buildroot/linux/Config.in (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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