barebox: bump to version 2015.12.0
[buildroot-gz.git] / system / Config.in
blob2e14971ba79c78a091e6d1b5466acc54c51b242d
1 menu "System configuration"
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.
9           Leave empty to not create /etc/hostname, or to keep the
10           one from a custom skeleton.
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.
18           Leave empty to not create /etc/issue, or to keep the
19           one from a custom skeleton.
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).
28           Note: this is used at build-time, and *not* at runtime.
30 config BR2_TARGET_GENERIC_PASSWD_MD5
31         bool "md5"
32         help
33           Use MD5 to encode passwords.
35           The default. Wildly available, and pretty good.
36           Although pretty strong, MD5 is now an old hash function, and
37           suffers from some weaknesses, which makes it susceptible to
38           brute-force attacks.
40 config BR2_TARGET_GENERIC_PASSWD_SHA256
41         bool "sha-256"
42         help
43           Use SHA256 to encode passwords.
45           Very strong, but not ubiquitous, although available in glibc
46           for some time now. Choose only if you are sure your C library
47           understands SHA256 passwords.
49 config BR2_TARGET_GENERIC_PASSWD_SHA512
50         bool "sha-512"
51         help
52           Use SHA512 to encode passwords.
54           Extremely strong, but not ubiquitous, although available in glibc
55           for some time now. Choose only if you are sure your C library
56           understands SHA512 passwords.
58 endchoice # Passwd encoding
60 config BR2_TARGET_GENERIC_PASSWD_METHOD
61         string
62         default "md5"       if BR2_TARGET_GENERIC_PASSWD_MD5
63         default "sha-256"   if BR2_TARGET_GENERIC_PASSWD_SHA256
64         default "sha-512"   if BR2_TARGET_GENERIC_PASSWD_SHA512
66 choice
67         prompt "Init system"
68         default BR2_INIT_BUSYBOX
70 config BR2_INIT_BUSYBOX
71         bool "BusyBox"
72         select BR2_PACKAGE_BUSYBOX
73         select BR2_PACKAGE_INITSCRIPTS
75 config BR2_INIT_SYSV
76         bool "systemV"
77         select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # sysvinit
78         select BR2_PACKAGE_INITSCRIPTS
79         select BR2_PACKAGE_SYSVINIT
81 # In Buildroot, we decided not to support a split-usr when systemd is
82 # used as an init system. This is a design decision, not a systemd
83 # issue. Thus the select is with BR2_INIT_SYSTEMD (below) rather than
84 # with BR2_PACKAGE_SYSTEMD.
85 config BR2_INIT_SYSTEMD
86         bool "systemd"
87         depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS
88         depends on BR2_TOOLCHAIN_USES_GLIBC
89         depends on BR2_USE_WCHAR
90         depends on BR2_TOOLCHAIN_HAS_THREADS
91         depends on BR2_TOOLCHAIN_HAS_SSP
92         depends on BR2_USE_MMU
93         depends on !BR2_STATIC_LIBS
94         depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10
95         select BR2_ROOTFS_MERGED_USR
96         select BR2_PACKAGE_SYSTEMD
98 comment "systemd needs (e)glibc toolchain, headers >= 3.10"
99         depends on !(BR2_TOOLCHAIN_USES_GLIBC \
100                 && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10)
102 config BR2_INIT_NONE
103         bool "None"
105 endchoice
107 choice
108         prompt "/dev management" if !BR2_INIT_SYSTEMD
109         default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
111 config BR2_ROOTFS_DEVICE_CREATION_STATIC
112         bool "Static using device table"
114 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
115         bool "Dynamic using devtmpfs only"
117 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
118         bool "Dynamic using devtmpfs + mdev"
119         select BR2_PACKAGE_BUSYBOX
121 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
122         bool "Dynamic using devtmpfs + eudev"
123         depends on BR2_USE_WCHAR
124         depends on !BR2_STATIC_LIBS
125         depends on BR2_USE_MMU # eudev
126         select BR2_PACKAGE_EUDEV
128 comment "eudev needs a toolchain w/ wchar, dynamic library"
129         depends on BR2_USE_MMU
130         depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
132 endchoice
134 comment "/dev management using udev (from systemd)"
135         depends on BR2_INIT_SYSTEMD
137 config BR2_ROOTFS_DEVICE_TABLE
138         string "Path to the permission tables"
139         default "system/device_table.txt"
140         help
141           Specify a space-separated list of permission table locations,
142           that will be passed to the makedevs utility to assign
143           correct owners and permissions on various files in the
144           target filesystem.
146           See package/makedevs/README for details on the usage and
147           syntax of these files.
149 config BR2_ROOTFS_STATIC_DEVICE_TABLE
150         string "Path to the device tables"
151         default "system/device_table_dev.txt"
152         depends on BR2_ROOTFS_DEVICE_CREATION_STATIC
153         help
154           Specify a space-separated list of device table locations,
155           that will be passed to the makedevs utility to create all
156           the special device files under /dev.
158           See package/makedevs/README for details on the usage and
159           syntax of these files.
161 choice
162         prompt "Root FS skeleton"
164 config BR2_ROOTFS_SKELETON_DEFAULT
165         bool "default target skeleton"
166         help
167           Use default target skeleton
169 config BR2_ROOTFS_SKELETON_CUSTOM
170         bool "custom target skeleton"
171         help
172           Use custom target skeleton.
174 endchoice
176 if BR2_ROOTFS_SKELETON_CUSTOM
177 config BR2_ROOTFS_SKELETON_CUSTOM_PATH
178         string "custom target skeleton path"
179         default "system/skeleton"
180         help
181           Path to custom target skeleton.
183 # dummy config so merged /usr workarounds can also be activated for
184 # custom rootfs skeleton
185 config BR2_ROOTFS_MERGED_USR
187 endif
189 if BR2_ROOTFS_SKELETON_DEFAULT
191 config BR2_ROOTFS_MERGED_USR
192         bool "Use symlinks to /usr for /bin, /sbin and /lib"
193         help
194           If you say 'n' here, then /bin, /sbin and /lib and their
195           counterparts in /usr will be separate directories. This
196           is the historical UNIX way. In this case, /usr can be a
197           filesystem on a partition separate from / .
199           If you say 'y' here, then /bin, /sbin and /lib will be symlinks
200           to their counterparts in /usr. In this case, /usr can not be a
201           separate filesystem.
203 config BR2_TARGET_ENABLE_ROOT_LOGIN
204         bool "Enable root login with password"
205         default y
206         help
207           Allow root to log in with a password.
209           If not enabled, root will not be able to log in with a password.
210           However, if you have an ssh server and you add an ssh key, you
211           can still allow root to log in. Alternatively, you can use sudo
212           to become root.
214 config BR2_TARGET_GENERIC_ROOT_PASSWD
215         string "Root password"
216         default ""
217         depends on BR2_TARGET_ENABLE_ROOT_LOGIN
218         help
219           Set the initial root password.
221           If set to empty (the default), then no root password will be set,
222           and root will need no password to log in.
224           If the password starts with any of $1$, $5$ or $6$, it is considered
225           to be already crypt-encoded with respectively md5, sha256 or sha512.
226           Any other value is taken to be a clear-text value, and is crypt-encoded
227           as per the "Passwords encoding" scheme, above.
229           Note: "$" signs in the hashed password must be doubled. For example,
230           if the hashed password is "$1$longsalt$v35DIIeMo4yUfI23yditq0",
231           then you must enter it as "$$1$$longsalt$$v35DIIeMo4yUfI23yditq0"
232           (this is necessary otherwise make would attempt to interpret the $
233           as a variable expansion).
235           WARNING! WARNING!
236           The password appears as-is in the .config file, and may appear
237           in the build log! Avoid using a valuable password if either the
238           .config file or the build log may be distributed, or at the
239           very least use a strong cryptographic hash for your password!
241 choice
242         bool "/bin/sh"
243         default BR2_SYSTEM_BIN_SH_DASH if !BR2_PACKAGE_BUSYBOX
244         help
245           Select which shell will provide /bin/sh.
247 # busybox has shells that work on noMMU
248 config BR2_SYSTEM_BIN_SH_BUSYBOX
249         bool "busybox' default shell"
250         depends on BR2_PACKAGE_BUSYBOX
252 config BR2_SYSTEM_BIN_SH_BASH
253         bool "bash"
254         depends on BR2_USE_MMU # bash
255         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
256         select BR2_PACKAGE_BASH
258 config BR2_SYSTEM_BIN_SH_DASH
259         bool "dash"
260         depends on BR2_USE_MMU # dash
261         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
262         select BR2_PACKAGE_DASH
264 config BR2_SYSTEM_BIN_SH_ZSH
265         bool "zsh"
266         depends on BR2_USE_MMU # zsh
267         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
268         select BR2_PACKAGE_ZSH
270 comment "bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
271         depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS && BR2_PACKAGE_BUSYBOX
273 config BR2_SYSTEM_BIN_SH_NONE
274         bool "none"
276 endchoice # /bin/sh
278 config BR2_SYSTEM_BIN_SH
279         string
280         default "busybox" if BR2_SYSTEM_BIN_SH_BUSYBOX
281         default "bash"    if BR2_SYSTEM_BIN_SH_BASH
282         default "dash"    if BR2_SYSTEM_BIN_SH_DASH
283         default "zsh"     if BR2_SYSTEM_BIN_SH_ZSH
285 menuconfig BR2_TARGET_GENERIC_GETTY
286         bool "Run a getty (login prompt) after boot"
287         default y
289 if BR2_TARGET_GENERIC_GETTY
290 config BR2_TARGET_GENERIC_GETTY_PORT
291         string "TTY port"
292         default "console"
293         help
294           Specify a port to run a getty on.
296 choice
297         prompt "Baudrate"
298         default BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
299         help
300           Select a baudrate to use.
302 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
303         bool "keep kernel default"
304 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
305         bool "9600"
306 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
307         bool "19200"
308 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
309         bool "38400"
310 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
311         bool "57600"
312 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
313         bool "115200"
314 endchoice
316 config BR2_TARGET_GENERIC_GETTY_BAUDRATE
317         string
318         default "0"             if BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
319         default "9600"          if BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
320         default "19200"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
321         default "38400"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
322         default "57600"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
323         default "115200"        if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
325 config BR2_TARGET_GENERIC_GETTY_TERM
326         string "TERM environment variable"
327         default "vt100"
328         help
329           Specify a TERM type.
331 config BR2_TARGET_GENERIC_GETTY_OPTIONS
332         string "other options to pass to getty"
333         default ""
334         help
335           Any other flags you want to pass to getty,
336           Refer to getty --help for details.
337 endif
339 config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
340         bool "remount root filesystem read-write during boot"
341         default y
342         help
343           The root filesystem is typically mounted read-only at boot.
344           By default, buildroot remounts it in read-write mode early during the
345           boot process.
346           Say no here if you would rather like your root filesystem to remain
347           read-only.
348           If unsure, say Y.
350 endif # BR2_ROOTFS_SKELETON_DEFAULT
353 config BR2_SYSTEM_DHCP
354         string "Network interface to configure through DHCP"
355         default ""
356         depends on !BR2_PACKAGE_SYSTEMD_NETWORKD && (BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
357         help
358           Enter here the name of the network interface (E.G. eth0) to
359           automatically configure through DHCP at bootup.
361           If left empty, no automatic DHCP requests will take place.
363           For more complicated network setups use an overlay to overwrite
364           /etc/network/interfaces or add a networkd configuration file.
366 comment "automatic network configuration via DHCP is not compatible with networkd"
367         depends on BR2_PACKAGE_SYSTEMD_NETWORKD
369 comment "automatic network configuration via DHCP needs ifupdown or busybox"
370         depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
372 config BR2_TARGET_TZ_INFO
373         bool "Install timezone info"
374         # No timezone for musl; only for uClibc or (e)glibc.
375         depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
376         select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_GLIBC
377         select BR2_PACKAGE_TZ if BR2_TOOLCHAIN_USES_UCLIBC
378         help
379           Say 'y' here to install timezone info.
381 if BR2_TARGET_TZ_INFO
383 config BR2_TARGET_TZ_ZONELIST
384         string "timezone list"
385         default "default"
386         help
387           Space-separated list of time zones to compile.
389           The value "default" includes all commonly used time zones. Note
390           that this set consumes around 5.5M for (e)glibc and 2.1M for uClibc.
392           The full list is the list of files in the time zone database source,
393           not including the build and .tab files.
395 config BR2_TARGET_LOCALTIME
396         string "default local time"
397         default "Etc/UTC"
398         help
399           The time zone to install as the default local time, expressed as a
400           tzdata location, such as:
401             GMT
402             Europe/Paris
403             America/New_York
404             Pacific/Wallis
405             ...
407           If empty, no local time will be set, and the dates will be
408           expressed in UTC.
410 endif # BR2_TARGET_TZ_INFO
412 config BR2_ROOTFS_USERS_TABLES
413         string "Path to the users tables"
414         help
415           Specify a space-separated list of users table locations,
416           that will be passed to the mkusers utility to create
417           users on the system, with home directory, password, etc.
419           See manual for details on the usage and syntax of these files.
421 config BR2_ROOTFS_OVERLAY
422         string "Root filesystem overlay directories"
423         default ""
424         help
425           Specify a list of directories that are copied over the target
426           root filesystem after the build has finished and before it is
427           packed into the selected filesystem images.
429           They are copied as-is into the rootfs, excluding files ending with
430           ~ and .git, .svn and .hg directories.
432 config BR2_ROOTFS_POST_BUILD_SCRIPT
433         string "Custom scripts to run before creating filesystem images"
434         default ""
435         help
436           Specify a space-separated list of scripts to be run after the build
437           has finished and before Buildroot starts packing the files into
438           selected filesystem images.
440           This gives users the opportunity to do board-specific cleanups,
441           add-ons and the like, so the generated files can be used directly
442           without further processing.
444           These scripts are called with the target directory name as first
445           argument. Make sure the exit code of those scripts are 0, otherwise
446           make will stop after calling them.
448 config BR2_ROOTFS_POST_IMAGE_SCRIPT
449         string "Custom scripts to run after creating filesystem images"
450         default ""
451         help
452           Specify a space-separated list of scripts to be run after
453           the build has finished and after Buildroot has packed the
454           files into selected filesystem images.
456           This can for example be used to call a tool building a
457           firmware image from different images generated by Buildroot,
458           or automatically extract the tarball root filesystem image
459           into some location exported by NFS, or any other custom
460           action.
462           These scripts are called with the images directory name as
463           first argument. The script is executed from the main Buildroot
464           source directory as the current directory.
466 config BR2_ROOTFS_POST_SCRIPT_ARGS
467         string "Extra post-{build,image} arguments"
468         depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" || BR2_ROOTFS_POST_IMAGE_SCRIPT != ""
469         help
470           Pass these additional arguments to each post-build or post-image
471           scripts.
473           Note that all the post-build and post-image scripts will be passed
474           the same set of arguments, you can not pass different arguments to
475           each script.
477           Note also, as stated in their respective help text, that the first
478           argument to each post-build or post-image script is the target
479           directory / images directory. The arguments in this option will be
480           passed *after* those.
482 endmenu