]> rtime.felk.cvut.cz Git - coffee/buildroot.git/blob - system/Config.in
fb8b686f1e1a3e5435a5b7c77eb0ea1dcf8b2403
[coffee/buildroot.git] / system / Config.in
1 menu "System configuration"
2
3 config BR2_TARGET_GENERIC_HOSTNAME
4         string "System hostname"
5         default "buildroot"
6         help
7           Select system hostname to be stored in /etc/hostname.
8
9           Leave empty to not create /etc/hostname, or to keep the
10           one from a custom skeleton.
11
12 config BR2_TARGET_GENERIC_ISSUE
13         string "System banner"
14         default "Welcome to Buildroot"
15         help
16           Select system banner (/etc/issue) to be displayed at login.
17
18           Leave empty to not create /etc/issue, or to keep the
19           one from a custom skeleton.
20
21 choice
22         bool "Passwords encoding"
23         default BR2_TARGET_GENERIC_PASSWD_MD5
24         help
25           Choose the password encoding scheme to use when Buildroot
26           needs to encode a password (eg. the root password, below).
27
28           Note: this is used at build-time, and *not* at runtime.
29
30 config BR2_TARGET_GENERIC_PASSWD_DES
31         bool "des"
32         help
33           Use standard 56-bit DES-based crypt(3) to encode passwords.
34
35           Old, wildly available, but also the weakest, very susceptible to
36           brute-force attacks.
37
38 config BR2_TARGET_GENERIC_PASSWD_MD5
39         bool "md5"
40         help
41           Use MD5 to encode passwords.
42
43           The default. Wildly available, and pretty good.
44           Although pretty strong, MD5 is now an old hash function, and
45           suffers from some weaknesses, which makes it susceptible to
46           brute-force attacks.
47
48 config BR2_TARGET_GENERIC_PASSWD_SHA256
49         bool "sha-256"
50         help
51           Use SHA256 to encode passwords.
52
53           Very strong, but not ubiquitous, although available in glibc
54           for some time now. Choose only if you are sure your C library
55           understands SHA256 passwords.
56
57 config BR2_TARGET_GENERIC_PASSWD_SHA512
58         bool "sha-512"
59         help
60           Use SHA512 to encode passwords.
61
62           Extremely strong, but not ubiquitous, although available in glibc
63           for some time now. Choose only if you are sure your C library
64           understands SHA512 passwords.
65
66 endchoice # Passwd encoding
67
68 config BR2_TARGET_GENERIC_PASSWD_METHOD
69         string
70         default "des"       if BR2_TARGET_GENERIC_PASSWD_DES
71         default "md5"       if BR2_TARGET_GENERIC_PASSWD_MD5
72         default "sha-256"   if BR2_TARGET_GENERIC_PASSWD_SHA256
73         default "sha-512"   if BR2_TARGET_GENERIC_PASSWD_SHA512
74
75 choice
76         prompt "Init system"
77         default BR2_INIT_BUSYBOX
78
79 config BR2_INIT_BUSYBOX
80         bool "BusyBox"
81         select BR2_PACKAGE_BUSYBOX
82
83 config BR2_INIT_SYSV
84         bool "systemV"
85         select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # sysvinit
86         select BR2_PACKAGE_SYSVINIT
87
88 config BR2_INIT_SYSTEMD
89         bool "systemd"
90         depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
91         depends on BR2_TOOLCHAIN_USES_GLIBC
92         depends on BR2_LARGEFILE
93         depends on BR2_USE_WCHAR
94         depends on BR2_INET_IPV6
95         depends on BR2_TOOLCHAIN_HAS_THREADS
96         depends on BR2_TOOLCHAIN_HAS_SSP
97         depends on BR2_USE_MMU
98         depends on !BR2_STATIC_LIBS
99         depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
100         select BR2_PACKAGE_SYSTEMD
101
102 comment 'systemd needs an (e)glibc toolchain, headers >= 3.7'
103         depends on !(BR2_TOOLCHAIN_USES_GLIBC \
104                 && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7)
105
106 config BR2_INIT_NONE
107         bool "None"
108
109 endchoice
110
111 choice
112         prompt "/dev management" if !BR2_INIT_SYSTEMD
113         default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
114
115 config BR2_ROOTFS_DEVICE_CREATION_STATIC
116         bool "Static using device table"
117
118 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
119         bool "Dynamic using devtmpfs only"
120
121 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
122         bool "Dynamic using mdev"
123         select BR2_PACKAGE_BUSYBOX
124
125 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
126         bool "Dynamic using eudev"
127         depends on BR2_LARGEFILE
128         depends on BR2_USE_WCHAR
129         depends on !BR2_STATIC_LIBS
130         depends on BR2_USE_MMU # eudev
131         depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
132         select BR2_PACKAGE_EUDEV
133
134 comment "eudev needs a toolchain w/ largefile, wchar, dynamic library, headers >= 3.9"
135         depends on BR2_USE_MMU
136         depends on !BR2_LARGEFILE || !BR2_USE_WCHAR || BR2_STATIC_LIBS \
137                 || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9
138
139 endchoice
140
141 comment "/dev management using udev (from systemd)"
142         depends on BR2_INIT_SYSTEMD
143
144 config BR2_ROOTFS_DEVICE_TABLE
145         string "Path to the permission tables"
146         default "system/device_table.txt"
147         help
148           Specify a space-separated list of permission table locations,
149           that will be passed to the makedevs utility to assign
150           correct owners and permissions on various files in the
151           target filesystem.
152
153           See package/makedevs/README for details on the usage and
154           syntax of these files.
155
156 config BR2_ROOTFS_STATIC_DEVICE_TABLE
157         string "Path to the device tables"
158         default "system/device_table_dev.txt"
159         depends on BR2_ROOTFS_DEVICE_CREATION_STATIC
160         help
161           Specify a space-separated list of device table locations,
162           that will be passed to the makedevs utility to create all
163           the special device files under /dev.
164
165           See package/makedevs/README for details on the usage and
166           syntax of these files.
167
168 choice
169         prompt "Root FS skeleton"
170
171 config BR2_ROOTFS_SKELETON_DEFAULT
172         bool "default target skeleton"
173         help
174           Use default target skeleton
175
176 config BR2_ROOTFS_SKELETON_CUSTOM
177         bool "custom target skeleton"
178         help
179           Use custom target skeleton.
180
181 endchoice
182
183 if BR2_ROOTFS_SKELETON_CUSTOM
184 config BR2_ROOTFS_SKELETON_CUSTOM_PATH
185         string "custom target skeleton path"
186         default "system/skeleton"
187         help
188           Path to custom target skeleton.
189 endif
190
191 if BR2_ROOTFS_SKELETON_DEFAULT
192
193 config BR2_TARGET_GENERIC_ROOT_PASSWD
194         string "Root password"
195         default ""
196         help
197           Set the initial root password (in clear). It will be md5-encrypted.
198
199           If set to empty (the default), then no root password will be set,
200           and root will need no password to log in.
201
202           WARNING! WARNING!
203           Although pretty strong, MD5 is now an old hash function, and
204           suffers from some weaknesses, which makes it susceptible to attacks.
205           It is showing its age, so this root password should not be trusted
206           to properly secure any product that can be shipped to the wide,
207           hostile world.
208
209           WARNING! WARNING!
210           The password appears in clear in the .config file, and may appear
211           in the build log! Avoid using a valuable password if either the
212           .config file or the build log may be distributed!
213
214 choice
215         bool "/bin/sh"
216         default BR2_SYSTEM_BIN_SH_DASH if !BR2_PACKAGE_BUSYBOX
217         help
218           Select which shell will provide /bin/sh.
219
220 # busybox has shells that work on noMMU
221 config BR2_SYSTEM_BIN_SH_BUSYBOX
222         bool "busybox' default shell"
223         depends on BR2_PACKAGE_BUSYBOX
224
225 config BR2_SYSTEM_BIN_SH_BASH
226         bool "bash"
227         depends on BR2_USE_MMU # bash
228         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
229         select BR2_PACKAGE_BASH
230
231 config BR2_SYSTEM_BIN_SH_DASH
232         bool "dash"
233         depends on BR2_USE_MMU # dash
234         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
235         select BR2_PACKAGE_DASH
236
237 config BR2_SYSTEM_BIN_SH_ZSH
238         bool "zsh"
239         depends on BR2_USE_MMU # zsh
240         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
241         select BR2_PACKAGE_ZSH
242
243 comment "bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
244         depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS && BR2_PACKAGE_BUSYBOX
245
246 config BR2_SYSTEM_BIN_SH_NONE
247         bool "none"
248
249 endchoice # /bin/sh
250
251 config BR2_SYSTEM_BIN_SH
252         string
253         default "/bin/busybox" if BR2_SYSTEM_BIN_SH_BUSYBOX
254         default "/bin/bash"    if BR2_SYSTEM_BIN_SH_BASH
255         default "/bin/dash"    if BR2_SYSTEM_BIN_SH_DASH
256         default "/bin/zsh"     if BR2_SYSTEM_BIN_SH_ZSH
257
258 config BR2_TARGET_GENERIC_GETTY
259         bool "Run a getty (login prompt) after boot"
260         default y
261
262 if BR2_TARGET_GENERIC_GETTY
263 menu "getty options"
264 config BR2_TARGET_GENERIC_GETTY_PORT
265         string "TTY port"
266         default "console"
267         help
268           Specify a port to run a getty on.
269
270 choice
271         prompt "Baudrate"
272         default BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
273         help
274           Select a baudrate to use.
275
276 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
277         bool "keep kernel default"
278 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
279         bool "9600"
280 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
281         bool "19200"
282 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
283         bool "38400"
284 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
285         bool "57600"
286 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
287         bool "115200"
288 endchoice
289
290 config BR2_TARGET_GENERIC_GETTY_BAUDRATE
291         string
292         default "0"             if BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
293         default "9600"          if BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
294         default "19200"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
295         default "38400"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
296         default "57600"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
297         default "115200"        if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
298
299 config BR2_TARGET_GENERIC_GETTY_TERM
300         string "TERM environment variable"
301         default "vt100"
302         help
303           Specify a TERM type.
304
305 config BR2_TARGET_GENERIC_GETTY_OPTIONS
306         string "other options to pass to getty"
307         default ""
308         help
309           Any other flags you want to pass to getty,
310           Refer to getty --help for details.
311 endmenu
312 endif
313
314 config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
315         bool "remount root filesystem read-write during boot"
316         default y
317         help
318           The root filesystem is typically mounted read-only at boot.
319           By default, buildroot remounts it in read-write mode early during the
320           boot process.
321           Say no here if you would rather like your root filesystem to remain
322           read-only.
323           If unsure, say Y.
324
325 endif # BR2_ROOTFS_SKELETON_DEFAULT
326
327
328 config BR2_SYSTEM_DHCP
329         string "Network interface to configure through DHCP"
330         default ""
331         depends on !BR2_PACKAGE_SYSTEMD_NETWORKD && (BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
332         help
333           Enter here the name of the network interface (E.G. eth0) to
334           automatically configure through DHCP at bootup.
335
336           If left empty, no automatic DHCP requests will take place.
337
338           For more complicated network setups use an overlay to overwrite
339           /etc/network/interfaces or add a networkd configuration file.
340
341 comment "automatic network configuration via DHCP is not compatible with networkd"
342         depends on BR2_PACKAGE_SYSTEMD_NETWORKD
343
344 comment "automatic network configuration via DHCP needs ifupdown or busybox"
345         depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
346
347 config BR2_TARGET_TZ_INFO
348         bool "Install timezone info"
349         # No timezone for musl; only for uClibc or (e)glibc.
350         depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
351         select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_GLIBC
352         select BR2_PACKAGE_TZ if BR2_TOOLCHAIN_USES_UCLIBC
353         help
354           Say 'y' here to install timezone info.
355
356 if BR2_TARGET_TZ_INFO
357
358 config BR2_TARGET_TZ_ZONELIST
359         string "timezone list"
360         default "default"
361         help
362           Space-separated list of time zones to compile.
363
364           The value "default" includes all commonly used time zones. Note
365           that this set consumes around 5.5M for (e)glibc and 2.1M for uClibc.
366
367           The full list is the list of files in the time zone database source,
368           not including the build and .tab files.
369
370 config BR2_TARGET_LOCALTIME
371         string "default local time"
372         help
373           The time zone to install as the default local time, expressed as a
374           tzdata location, such as:
375             GMT
376             Europe/Paris
377             America/New_York
378             Pacific/Wallis
379             ...
380
381           If empty, no local time will be set, and the dates will be
382           expressed in UTC.
383
384 endif # BR2_TARGET_TZ_INFO
385
386 config BR2_ROOTFS_USERS_TABLES
387         string "Path to the users tables"
388         help
389           Specify a space-separated list of users table locations,
390           that will be passed to the mkusers utility to create
391           users on the system, with home directory, password, etc.
392
393           See manual for details on the usage and syntax of these files.
394
395 config BR2_ROOTFS_OVERLAY
396         string "Root filesystem overlay directories"
397         default ""
398         help
399           Specify a list of directories that are copied over the target
400           root filesystem after the build has finished and before it is
401           packed into the selected filesystem images.
402
403           They are copied as-is into the rootfs, excluding files ending with
404           ~ and .git, .svn and .hg directories.
405
406 config BR2_ROOTFS_POST_BUILD_SCRIPT
407         string "Custom scripts to run before creating filesystem images"
408         default ""
409         help
410           Specify a space-separated list of scripts to be run after the build
411           has finished and before Buildroot starts packing the files into
412           selected filesystem images.
413
414           This gives users the opportunity to do board-specific cleanups,
415           add-ons and the like, so the generated files can be used directly
416           without further processing.
417
418           These scripts are called with the target directory name as first
419           argument. Make sure the exit code of those scripts are 0, otherwise
420           make will stop after calling them.
421
422 config BR2_ROOTFS_POST_IMAGE_SCRIPT
423         string "Custom scripts to run after creating filesystem images"
424         default ""
425         help
426           Specify a space-separated list of scripts to be run after
427           the build has finished and after Buildroot has packed the
428           files into selected filesystem images.
429
430           This can for example be used to call a tool building a
431           firmware image from different images generated by Buildroot,
432           or automatically extract the tarball root filesystem image
433           into some location exported by NFS, or any other custom
434           action.
435
436           These scripts are called with the images directory name as
437           first argument. The script is executed from the main Buildroot
438           source directory as the current directory.
439
440 config BR2_ROOTFS_POST_SCRIPT_ARGS
441         string "Extra post-{build,image} arguments"
442         depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" || BR2_ROOTFS_POST_IMAGE_SCRIPT != ""
443         help
444           Pass these additional arguments to each post-build or post-image
445           scripts.
446
447           Note that all the post-build and post-image scripts will be passed
448           the same set of arguments, you can not pass different arguments to
449           each script.
450
451           Note also, as stated in their respective help text, that the first
452           argument to each post-build or post-image script is the target
453           directory / images directory. The arguments in this option will be
454           passed *after* those.
455
456 endmenu