1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
|
config ARCH
string
option env="ARCH"
config KERNELVERSION
string
option env="KERNELVERSION"
config DEFCONFIG_LIST
string
option defconfig_list
default "$ARCH_DEFCONFIG"
default "arch/$ARCH/defconfig"
config GREGORIAN_CALENDER
bool
config HAS_KALLSYMS
bool
config HAS_MODULES
bool
config CMD_MEMORY
bool
config ENV_HANDLING
select CRC32
bool
config GENERIC_GPIO
bool
config BLOCK
bool
config BLOCK_WRITE
bool
config FILETYPE
bool
config BINFMT
bool
select FILETYPE
config UIMAGE
select UNCOMPRESS
select CRC32
bool
config GLOBALVAR
bool
config STDDEV
bool
config BAREBOX_UPDATE
bool
menu "General Settings"
config LOCALVERSION
string "Local version - append to the version string"
help
Append an extra string to the end of your version string.
The string you set here will be appended after the contents of
any files with a filename matching localversion* in your
object and source tree, in that order. Your total string can
be a maximum of 64 characters.
config LOCALVERSION_AUTO
bool "Automatically append version information to the version string"
default y
help
This will try to automatically determine if the current tree is a
release tree by looking for git tags that belong to the current
top of tree revision.
A string of the format -gxxxxxxxx will be added to the localversion
if a git-based tree is found. The string generated by this will be
appended after any matching localversion* files, and after the value
set in CONFIG_LOCALVERSION.
(The actual string used here is the first eight characters produced
by running the command:
$ git rev-parse --verify HEAD
which is done within the script "scripts/setlocalversion".)
config BOARDINFO
string
config BANNER
bool "display banner"
default y
config MEMINFO
bool "display memory info"
default y
config ENVIRONMENT_VARIABLES
bool "environment variables support"
menu "memory layout"
source "pbl/Kconfig"
config MMU
bool "Enable MMU"
help
Saying yes here enables the MMU. This is useful on some architectures
to enable the data cache which depends on the MMU. See Documentation/mmu.txt
for further information.
config MMU_EARLY
bool "Enable MMU early"
depends on ARM
depends on MMU
default y
help
This enables the MMU during early startup. This speeds up things during startup
of barebox, but may lead to harder to debug code. If unsure say yes here.
config HAVE_CONFIGURABLE_TEXT_BASE
bool
config TEXT_BASE
depends on HAVE_CONFIGURABLE_TEXT_BASE
prompt "TEXT_BASE"
hex
default ARCH_TEXT_BASE
help
The Address barebox gets linked at.
config BAREBOX_MAX_IMAGE_SIZE
prompt "Maximum size of barebox"
hex
default 0xffffffff
help
Define the maximum size of barebox
config BAREBOX_MAX_BARE_INIT_SIZE
prompt "Maximum bare_init size"
hex
default 0xffffffff
help
Define the maximum size of bare_init
this will allow your bare_init will fit in SRAM as example
ARCH can overwrite it via ARCH_BAREBOX_MAX_BARE_INIT_SIZE
config HAVE_CONFIGURABLE_MEMORY_LAYOUT
bool
choice
prompt "select memory layout"
depends on HAVE_CONFIGURABLE_MEMORY_LAYOUT
default MEMORY_LAYOUT_DEFAULT
config MEMORY_LAYOUT_DEFAULT
bool "use default memory layout"
help
select this option to use bareboxs standard memory layout:
stack
-----
malloc heap
-----
TEXT_BASE
config MEMORY_LAYOUT_FIXED
bool "manually assign a memory layout"
help
select this option to manually assign stack base and malloc
heap base
endchoice
config STACK_BASE
depends on MEMORY_LAYOUT_FIXED
hex
prompt "STACK_BASE"
config STACK_SIZE
hex
default 0x8000
prompt "Stack size"
config MALLOC_BASE
depends on MEMORY_LAYOUT_FIXED
hex
prompt "MALLOC_BASE"
config MALLOC_SIZE
hex
default 0x400000
prompt "malloc area size"
endmenu
config BROKEN
bool
prompt "Prompt for broken or incomplete code"
config EXPERIMENTAL
bool
prompt "Prompt for experimental code"
choice
prompt "malloc implementation"
config MALLOC_DLMALLOC
bool "dlmalloc"
config MALLOC_TLSF
bool "tlsf"
config MALLOC_DUMMY
bool "dummy malloc"
depends on SHELL_NONE
help
select this option to use a dummy malloc implementation. With this
memory is never freed. This is suitable for well tested noninteractive
environments only.
endchoice
config MODULES
depends on HAS_MODULES
depends on EXPERIMENTAL
bool "module support"
help
This option enables support for loadable modules via insmod. Module
support is quite experimental at the moment. There is no convenient
way to compile modules and the list of exported symbols to actually
make use of modules is short to nonexistent
config KALLSYMS
depends on HAS_KALLSYMS
bool "kallsyms"
help
With Kallsyms enabled all symbols are compiled into the barebox image.
This is useful to print a nice backtrace when an exception occurs.
config RELOCATABLE
depends on PPC
bool "generate relocatable barebox binary"
help
A non relocatable barebox binary will run at it's compiled in
link address in RAM. This leads to smaller image sizes but may
put barebox just in the middle of RAM. With this option enabled
instead barebox can determine this address at runtime and thus
allowing it to relocate to the end of the available RAM. This
way you have the whole memory in a single piece.
config PROMPT
string
prompt "barebox command prompt"
default "barebox:"
config BAUDRATE
int
prompt "Default baudrate"
default 115200
config SIMPLE_READLINE
bool
default y
depends on !CMDLINE_EDITING
config LONGHELP
bool
prompt "Enable long help texts"
config CBSIZE
int
prompt "Buffer size for input from the Console"
default 1024
config MAXARGS
int
prompt "max. Number of arguments accepted for monitor commands"
default 16
choice
prompt "Select your shell"
config SHELL_HUSH
bool "hush parser"
select ENVIRONMENT_VARIABLES
select COMMAND_SUPPORT
select PARAMETER
select BINFMT
select STDDEV
help
Enable hush support. This is the most advanced shell available
for barebox.
config SHELL_SIMPLE
bool "Simple parser"
select ENVIRONMENT_VARIABLES
select COMMAND_SUPPORT
select PARAMETER
select STDDEV
help
simple shell. No if/then, no return values from commands, no loops
config SHELL_NONE
bool "no shell (noninteractive build)"
help
No shell at all. This means no shell is started and your board has
to overwrite the barebox_main function pointer which is then called
at the end of the barebox startup process.
endchoice
config GLOB
bool
prompt "hush globbing support"
depends on SHELL_HUSH
help
If you want to use wildcards like * or ? say y here.
config GLOB_SORT
select QSORT
bool
prompt "glob sort support"
depends on GLOB
config PROMPT_HUSH_PS2
string
depends on SHELL_HUSH
prompt "hush PS2"
default "> "
config HUSH_FANCY_PROMPT
bool
depends on SHELL_HUSH
select PROCESS_ESCAPE_SEQUENCE
prompt "allow fancy hush prompts"
help
Allow to set PS1 from the command line. PS1 can have several escaped commands
like \h for CONFIG_BOARDINFO or \w for the current working directory.
config HUSH_GETOPT
bool
depends on SHELL_HUSH
prompt "enable builtin getopt"
help
This enables a getopt function builtin to hush.
config CMDLINE_EDITING
bool
prompt "Enable command line editing"
config AUTO_COMPLETE
bool
depends on CMDLINE_EDITING
prompt "Enable auto completion"
config MENU
bool
prompt "Menu Framework"
help
a menu framework that allow us to create list menu to simplify
barebox and make it more user-frendly
config PASSWORD
bool
prompt "Password Framework"
select DIGEST
help
allow you to have password protection framework
if PASSWORD
choice
prompt "passwd checksum"
config PASSWD_SUM_MD5
bool "MD5"
select MD5
config PASSWD_SUM_SHA1
bool "SHA1"
select SHA1
config PASSWD_SUM_SHA256
bool "SHA256"
select SHA256
endchoice
endif
config DYNAMIC_CRC_TABLE
bool
depends on CRC32
prompt "Generate the crc32 table dynamically"
default y
help
Saying yes to this option saves around 800 bytes of binary size.
If unsure say yes.
config ERRNO_MESSAGES
bool
prompt "print error values as text"
default y
config TIMESTAMP
bool
default y
select GREGORIAN_CALENDER
prompt "print timestamp information from images"
help
When CONFIG_TIMESTAMP is selected, the timestamp
(date and time) of an image is printed by image
commands like bootm or iminfo. This option is
automatically enabled when you select CFG_CMD_DATE .
choice
prompt "console support"
default CONSOLE_FULL
config CONSOLE_FULL
bool
prompt "full"
help
This option enables full console support capable of
handling multiple consoles. Also the full console support
is able to store the output which comes before a console
is registered in a circular buffer which will be printed
once the first console is registered. Recommended for most
usecases.
config CONSOLE_SIMPLE
bool
prompt "simple"
config CONSOLE_NONE
bool
prompt "none"
endchoice
choice
prompt "Console activation strategy"
depends on CONSOLE_FULL
default CONSOLE_ACTIVATE_FIRST
config CONSOLE_ACTIVATE_FIRST
bool
prompt "activate first console on startup"
help
Normally on startup all consoles are disabled, so you won't
see anything from barebox starting. Enabling this option
enables the first console.
config CONSOLE_ACTIVATE_ALL
bool
prompt "activate all consoles on startup"
help
Enabling this options activates all consoles on startup, so
you will get output and a prompt on all consoles simultaneously.
Only the first registered console will have the full startup
log though.
config CONSOLE_ACTIVATE_NONE
prompt "leave all consoles disabled"
bool
help
Leave all consoles disabled on startup. Board code or environment
is responsible for enabling a console. Otherwise you'll get a working
barebox, you just won't see anything.
endchoice
config PARTITION
bool
prompt "Enable Partitions"
config PARTITION_DISK
depends on PARTITION
bool "DISK partition support"
help
Add support for handling common partition tables on all kind of disk
like devices (harddisks, CF cards, SD cards and so on)
config PARTITION_DISK_DOS
depends on PARTITION_DISK
default y
bool "DOS partition support"
help
Add support to handle partitions in DOS style.
config DEFAULT_ENVIRONMENT
bool
default y
select CMD_LOADENV
prompt "Compile in default environment"
help
Enabling this option will give you a default environment when
the environment found in the environment sector is invalid
config DEFAULT_ENVIRONMENT_COMPRESSED
bool
depends on DEFAULT_ENVIRONMENT
depends on !IMAGE_COMPRESSION_LZO
depends on !IMAGE_COMPRESSION_GZIP
default y if ZLIB
default y if BZLIB
default y if LZO_DECOMPRESS
if DEFAULT_ENVIRONMENT_COMPRESSED
choice
prompt "compression"
config DEFAULT_ENVIRONMENT_COMPRESSED_GZIP
bool "gzip"
depends on ZLIB
config DEFAULT_ENVIRONMENT_COMPRESSED_BZIP2
bool "bzip2"
depends on BZLIB
config DEFAULT_ENVIRONMENT_COMPRESSED_LZO
bool "lzo"
depends on LZO_DECOMPRESS
endchoice
endif
config HAVE_DEFAULT_ENVIRONMENT_NEW
bool
config DEFAULT_ENVIRONMENT_GENERIC_NEW
bool
depends on DEFAULT_ENVIRONMENT
depends on SHELL_HUSH
select HUSH_GETOPT
select GLOB
select GLOB_SORT
select CMD_GLOBAL
select CMD_AUTOMOUNT
select CMD_BASENAME
select FLEXIBLE_BOOTARGS
prompt "Generic environment template"
config DEFAULT_ENVIRONMENT_GENERIC
bool
depends on !HAVE_DEFAULT_ENVIRONMENT_NEW
depends on DEFAULT_ENVIRONMENT
depends on SHELL_HUSH
select HUSH_GETOPT
select CMD_CRC
select CMD_CRC_CMP
select CMD_AUTOMOUNT if HAVE_DEFAULT_ENVIRONMENT_NEW
select CMD_GLOBAL
prompt "Default environment generic"
help
With this option barebox will use the generic default
environment found under defaultenv/ in the src tree.
The Directory given with DEFAULT_ENVIRONMENT_PATH
will be added to the default environment. This should
at least contain a /env/config file.
This will be able to overwrite the files from defaultenv.
config DEFAULT_ENVIRONMENT_PATH
string
depends on DEFAULT_ENVIRONMENT
prompt "Default environment path"
help
Space separated list of pathes the default environment will be taken from.
Relative pathes will be relative to the barebox Toplevel dir, but absolute
pathes are fine aswell.
config BAREBOXENV_TARGET
bool
prompt "build bareboxenv tool for target"
help
'bareboxenv' is a tool to access the barebox environment from a running Linux
system. Say yes here to build it for the target.
config POLLER
bool "generic polling infrastructure"
config RESET_SOURCE
bool "detect Reset cause"
depends on GLOBALVAR
help
Provide a global variable at runtine which reflects the possible cause
of the reset and why the bootloader is currently running. It can be
useful for any kind of system recovery or repair.
endmenu
menu "Debugging"
config COMPILE_LOGLEVEL
int "loglevel"
default 6
help
This defines the maximum loglevel compiled into the binary. Less important
messages will be compiled away resulting in a smaller binary.
0 system is unusable (emerg)
1 action must be taken immediately (alert)
2 critical conditions (crit)
3 error conditions (err)
4 warning conditions (warn)
5 normal but significant condition (notice)
6 informational (info)
7 debug-level messages (debug)
config DEBUG_INFO
bool
prompt "enable debug symbols"
help
Enable build of barebox with -g.
config ENABLE_FLASH_NOISE
bool
prompt "verbose flash handling"
help
Enable this to get noisy flash handling routines
config ENABLE_PARTITION_NOISE
bool
prompt "verbose partition handling"
help
Enable this to get noisy partition handling routines
config ENABLE_DEVICE_NOISE
bool
prompt "verbose device handling"
help
Enable this to get noisy device handling routines
config DEBUG_LL
bool
depends on HAS_DEBUG_LL
prompt "low level debug messages"
help
Enable this to get low level debug messages during barebox initialization.
This requires SoC specific support. Most SoCs require the debug UART to be
initialized by a debugger or first stage bootloader.
endmenu
config HAS_DEBUG_LL
bool
|