blob: 62ffd14466dc10c2840b31741ac2b6f889eb545b [file] [log] [blame]
Avery Pennarun6e24c862013-09-16 23:38:03 -04001config ARCH
2 string
3 option env="ARCH"
4
5config KERNELVERSION
6 string
7 option env="KERNELVERSION"
8
9config DEFCONFIG_LIST
10 string
11 option defconfig_list
12 default "$ARCH_DEFCONFIG"
13 default "arch/$ARCH/defconfig"
14
15config GREGORIAN_CALENDER
16 bool
17
18config HAS_KALLSYMS
19 bool
20
21config HAS_MODULES
22 bool
23
24config CMD_MEMORY
25 bool
26
27config ENV_HANDLING
28 select CRC32
29 bool
30
31config GENERIC_GPIO
32 bool
33
34config BLOCK
35 bool
36
37config BLOCK_WRITE
38 bool
39
40config HAVE_NOSHELL
41 bool
42
43menu "General Settings "
44
45config LOCALVERSION_AUTO
46 bool "Automatically append version information to the version string"
47 default y
48 help
49 This will try to automatically determine if the current tree is a
50 release tree by looking for git tags that belong to the current
51 top of tree revision.
52
53 A string of the format -gxxxxxxxx will be added to the localversion
54 if a git-based tree is found. The string generated by this will be
55 appended after any matching localversion* files, and after the value
56 set in CONFIG_LOCALVERSION.
57
58 (The actual string used here is the first eight characters produced
59 by running the command:
60
61 $ git rev-parse --verify HEAD
62
63 which is done within the script "scripts/setlocalversion".)
64
65config BOARDINFO
66 string
67
68config ENVIRONMENT_VARIABLES
69 bool "environment variables support"
70
Stephen McGruer09c244b2014-02-12 15:08:23 -050071config FORCE_BAREBOX_AUTH
72 depends on (COMCERTO_ULOADER || COMCERTO_NAND_ULOADER)
73 bool "Force RSA authentication of barebox binary"
74
Stephen McGruer72279622014-02-14 12:15:16 -050075config FORCE_KERNEL_AUTH
76 depends on COMCERTO_BOOTLOADER
77 bool "Force RSA authentication of kernel image"
78
Stephen McGruer89152082014-03-10 18:15:53 -040079config DEVELOPER_BAREBOX
80 depends on COMCERTO_BOOTLOADER
Matthias Kaehlckeeb7c6b82015-07-22 18:38:31 -070081 select DRIVER_SERIAL_FAST_UART
Stephen McGruer89152082014-03-10 18:15:53 -040082 bool "Enable developer barebox build"
83 help
84 A developer barebox build skips most of the production setup;
85 most notably, it will not verify the kernel before booting,
86 unless FORCE_KERNEL_AUTH is also set.
87
Stephen McGruer09c244b2014-02-12 15:08:23 -050088config PROD
89 bool "Production build (sign barebox)"
90
Avery Pennarun6e24c862013-09-16 23:38:03 -040091menu "memory layout "
92
93config HAVE_MMU
94 bool
95
96config MMU
97 bool "Enable MMU"
98 depends on HAVE_MMU
99 help
100 Saying yes here enables the MMU. This is useful on some architectures
101 to enable the data cache which depends on the MMU. See Documentation/mmu.txt
102 for further information.
103
104config HAVE_CONFIGURABLE_TEXT_BASE
105 bool
106
107config TEXT_BASE
108 depends on HAVE_CONFIGURABLE_TEXT_BASE
109 prompt "TEXT_BASE"
110 hex
111 default ARCH_TEXT_BASE
112 help
113 The Address barebox gets linked at.
114
115config HAVE_CONFIGURABLE_MEMORY_LAYOUT
116 bool
117
118choice
119 prompt "select memory layout"
120 depends on HAVE_CONFIGURABLE_MEMORY_LAYOUT
121 default MEMORY_LAYOUT_DEFAULT
122
123config MEMORY_LAYOUT_DEFAULT
124 bool "use default memory layout"
125 help
126 select this option to use bareboxs standard memory layout:
127
128 stack
129 -----
130 malloc heap
131 -----
132 TEXT_BASE
133
134config MEMORY_LAYOUT_FIXED
135 bool "manually assign a memory layout"
136 help
137 select this option to manually assign stack base and malloc
138 heap base
139
140endchoice
141
142config STACK_BASE
143 depends on MEMORY_LAYOUT_FIXED
144 hex
145 prompt "STACK_BASE"
146
147config STACK_SIZE
148 hex
149 default 0x8000
150 prompt "Stack size"
151
152config MALLOC_BASE
153 depends on MEMORY_LAYOUT_FIXED
154 hex
155 prompt "MALLOC_BASE"
156
157config MALLOC_SIZE
158 hex
159 default 0x400000
160 prompt "malloc area size"
161endmenu
162
163config BROKEN
164 bool
165 prompt "Prompt for broken or incomplete code"
166
167config EXPERIMENTAL
168 bool
169 prompt "Prompt for experimental code"
170
171choice
172 prompt "malloc implementation"
173
174config MALLOC_DLMALLOC
175 bool "dlmalloc"
176
177config MALLOC_DUMMY
178 bool "dummy malloc"
Avery Pennarun6e24c862013-09-16 23:38:03 -0400179 help
180 select this option to use a dummy malloc implementation. With this
181 memory is never freed. This is suitable for well tested noninteractive
182 environments only.
183
184endchoice
185
186config MODULES
187 depends on HAS_MODULES
188 depends on EXPERIMENTAL
189 bool "module support"
190 help
191 This option enables support for loadable modules via insmod. Module
192 support is quite experimental at the moment. There is no convenient
193 way to compile modules and the list of exported symbols to actually
194 make use of modules is short to nonexistent
195
196config KALLSYMS
197 depends on HAS_KALLSYMS
198 bool "kallsyms"
199 help
200 With Kallsyms enabled all symbols are compiled into the barebox image.
201 This is useful to print a nice backtrace when an exception occurs.
202
203config RELOCATABLE
204 depends on PPC
205 bool "generate relocatable barebox binary"
206 help
207 A non relocatable barebox binary will run at it's compiled in
208 link address in RAM. This leads to smaller image sizes but may
209 put barebox just in the middle of RAM. With this option enabled
210 instead barebox can determine this address at runtime and thus
211 allowing it to relocate to the end of the available RAM. This
212 way you have the whole memory in a single piece.
213
214config MACH_HAS_LOWLEVEL_INIT
215 bool
216
217config MACH_DO_LOWLEVEL_INIT
218 bool "run machine low-level init"
219 depends on MACH_HAS_LOWLEVEL_INIT
220 default y
221 help
222 This entry enables SDRAM and other board low level initialization
223 on many platforms. Disabling this option allows configurations to use
224 barebox as a second stage boot loader.
225
226config ARCH_HAS_LOWLEVEL_INIT
227 bool
228
229config PROMPT
230 string
231 prompt "barebox command prompt"
232 default "barebox:"
233
234config BAUDRATE
235 int
236 prompt "Default baudrate"
237 default 115200
238
239config SIMPLE_READLINE
240 bool
241 default y
242 depends on !CMDLINE_EDITING
243
244config LONGHELP
245 bool
246 prompt "Enable long help texts"
247
248config CBSIZE
249 int
250 prompt "Buffer size for input from the Console"
251 default 1024
252
253config MAXARGS
254 int
255 prompt "max. Number of arguments accepted for monitor commands"
256 default 16
257
258choice
259 prompt "Select your shell"
260
261 config SHELL_HUSH
262 bool "hush parser"
263 select ENVIRONMENT_VARIABLES
264 select COMMAND_SUPPORT
265 help
266 Enable hush support. This is the most advanced shell available
267 for barebox.
268
269 config SHELL_SIMPLE
270 bool "Simple parser"
Avery Pennarun6e24c862013-09-16 23:38:03 -0400271 select COMMAND_SUPPORT
272 help
273 simple shell. No if/then, no return values from commands, no loops
274
275 config SHELL_NONE
Avery Pennarun6e24c862013-09-16 23:38:03 -0400276 bool "no shell (noninteractive build)"
Daniel Mentz9c6539e2013-09-03 18:43:13 -0700277 depends on HAVE_NOSHELL
Avery Pennarun6e24c862013-09-16 23:38:03 -0400278 help
279 No shell at all. This means no shell is started and your board has
280 to provide a run_shell() function which is started at the end of
281 the barebox startup process.
282endchoice
283
284config GLOB
285 bool
286 prompt "hush globbing support"
287 depends on SHELL_HUSH
288 help
289 If you want to use wildcards like * or ? say y here.
290
291config PROMPT_HUSH_PS2
292 string
293 depends on SHELL_HUSH
294 prompt "hush PS2"
295 default "> "
296
297config HUSH_FANCY_PROMPT
298 bool
299 depends on SHELL_HUSH
300 select PROCESS_ESCAPE_SEQUENCE
301 prompt "allow fancy hush prompts"
302 help
303 Allow to set PS1 from the command line. PS1 can have several escaped commands
304 like \h for CONFIG_BOARDINFO or \w for the current working directory.
305
306config HUSH_GETOPT
307 bool
308 depends on SHELL_HUSH
309 prompt "enable builtin getopt"
310 help
311 This enables a getopt function builtin to hush.
312
313config CMDLINE_EDITING
314 bool
315 prompt "Enable command line editing"
316
317config AUTO_COMPLETE
318 bool
319 depends on CMDLINE_EDITING
320 prompt "Enable auto completion"
321
Daniel Mentz9c6539e2013-09-03 18:43:13 -0700322config MEM_SIZE
323 bool
324 prompt "Get available RAM size"
325
Avery Pennarun6e24c862013-09-16 23:38:03 -0400326config MENU
327 bool
328 prompt "Menu Framework"
329 help
330 a menu framework that allow us to create list menu to simplify
331 barebox and make it more user-frendly
332
333config PASSWORD
334 bool
335 prompt "Password Framework"
336 select DIGEST
337 help
338 allow you to have password protection framework
339
340if PASSWORD
341
342choice
343 prompt "passwd checksum"
344
345config PASSWD_SUM_MD5
346 bool "MD5"
347 select MD5
348
349config PASSWD_SUM_SHA1
350 bool "SHA1"
351 select SHA1
352
353config PASSWD_SUM_SHA256
354 bool "SHA256"
355 select SHA256
356
357endchoice
358
359endif
360
361config DYNAMIC_CRC_TABLE
362 bool
363 depends on CRC32
364 prompt "Generate the crc32 table dynamically"
365 default y
366 help
367 Saying yes to this option saves around 800 bytes of binary size.
368 If unsure say yes.
369
370config ERRNO_MESSAGES
371 bool
372 prompt "print error values as text"
373 default y
374
375config TIMESTAMP
376 bool
377 default y
378 select GREGORIAN_CALENDER
379 prompt "print timestamp information from images"
380 help
381 When CONFIG_TIMESTAMP is selected, the timestamp
382 (date and time) of an image is printed by image
383 commands like bootm or iminfo. This option is
384 automatically enabled when you select CFG_CMD_DATE .
385
386config CONSOLE_FULL
387 bool
388 default y
389 prompt "Enable full console support"
390 help
391 This option enables full console support capable of
392 handling multiple consoles.
393
394config CONSOLE_SIMPLE
395 bool
396 default y
397 depends on !CONSOLE_FULL
398
399config CONSOLE_ACTIVATE_FIRST
400 depends on CONSOLE_FULL
401 bool
402 default y
403 prompt "activate first console on startup"
404 help
405 Normally on startup all consoles are disabled, so you won't
406 see anything from barebox starting. Enabling this option
407 enables the first console.
408
409config CONSOLE_ACTIVATE_ALL
410 depends on CONSOLE_FULL
411 depends on !CONSOLE_ACTIVATE_FIRST
412 bool
413 prompt "activate all consoles on startup"
414 help
415 Enabling this options activates all consoles on startup, so
416 you will get output and a prompt on all consoles simultaneously.
417
418config EARLY_CONSOLE_PORT
419 string
420 depends on HAS_EARLY_INIT
421 prompt "Console device for early output"
422 help
423 Choose the device on which you want to have early output printed
424 to. This is only used during startup when no device information
425 is available.
426
427config EARLY_CONSOLE_BAUDRATE
428 int
429 default 115200
430 depends on HAS_EARLY_INIT
431 prompt "Early console baudrate"
432 help
433 Choose the baudrate for your early console.
434
435config OF_FLAT_TREE
436 bool
437 prompt "Open Firmware flat device tree support"
438
439config PARTITION
440 bool
441 prompt "Enable Partitions"
442
443config DEFAULT_ENVIRONMENT
444 bool
445 default y
446 prompt "Compile in default environment"
447 help
448 Enabling this option will give you a default environment when
449 the environment found in the environment sector is invalid
450
451config DEFAULT_ENVIRONMENT_GENERIC
452 bool
453 depends on DEFAULT_ENVIRONMENT
454 depends on SHELL_HUSH
455 select HUSH_GETOPT
456 select CMD_CRC
457 select CMD_CRC_CMP
458 prompt "Default environment generic"
459 help
460 With this option barebox will use the generic default
461 environment found under defaultenv/ in the src tree.
462 The Directory given with DEFAULT_ENVIRONMENT_PATH
463 will be added to the default environment. This should
464 at least contain a /env/config file.
465 This will be able to overwrite the files from defaultenv.
466
467config DEFAULT_ENVIRONMENT_PATH
468 string
469 depends on DEFAULT_ENVIRONMENT
470 prompt "Default environment path"
471 help
472 Space separated list of pathes the default environment will be taken from.
473 Relative pathes will be relative to the barebox Toplevel dir, but absolute
474 pathes are fine aswell.
475
476config POLLER
477 bool "generic polling infrastructure"
478
Daniel Mentz6bb2e6d2015-01-08 13:40:17 -0800479config ANTIREBOOTLOOP
480 bool "Anti reboot loop feature"
481 help
482 The anti reboot loop feature is a communication protocol between the
483 bootloader and the kernel that allows the bootloader to determine if a
484 certain kernel/rootfs image is "good". The way it works is that the
485 bootloader writes a certain bit pattern to a previously agreed memory
486 location. If a userspace app decides that the kernel has booted ok and
487 that the user space environment is sane, it tells the kernel which then
488 flips a bit in DRAM to communicate to the bootloader that this image is
489 considered "good". Now, if the system reboots due to some failure
490 condition before said bit has been flipped, the bootloader is able to
491 detect this situation and switch back to a different kernel/rootfs
492 image.
493
Matthias Kaehlcke89579422015-04-08 15:13:12 -0700494if TPM
495
496config TPM_LITE
497 bool "Lightweight TPM library"
498 default y
499
500endif
501
Avery Pennarun6e24c862013-09-16 23:38:03 -0400502endmenu
503
504menu "Debugging "
505
506config DEBUG_INFO
507 bool
508 prompt "enable debug symbols"
509 help
510 Enable build of barebox with -g.
511
512config ENABLE_FLASH_NOISE
513 bool
514 prompt "verbose flash handling"
515 help
516 Enable this to get noisy flash handling routines
517
518config ENABLE_PARTITION_NOISE
519 bool
520 prompt "verbose partition handling"
521 help
522 Enable this to get noisy partition handling routines
523
524config ENABLE_DEVICE_NOISE
525 bool
526 prompt "verbose device handling"
527 help
528 Enable this to get noisy device handling routines
529
530endmenu