hostapd: Install default hostapd.conf on target
[buildroot-gz.git] / system / Config.in
blobb895db90140c1d22f10666566d12d3a78a3bc4b4
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
97         select BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
99 comment "systemd needs a glibc toolchain, headers >= 3.10"
100         depends on !(BR2_TOOLCHAIN_USES_GLIBC \
101                 && BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10)
103 config BR2_INIT_NONE
104         bool "None"
105         help
106           Buildroot will not install any init system. You will
107           have to provide your own, either with a new package
108           or with a rootfs-overlay.
110 endchoice
112 choice
113         prompt "/dev management" if !BR2_INIT_SYSTEMD
114         default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
116 config BR2_ROOTFS_DEVICE_CREATION_STATIC
117         bool "Static using device table"
119 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
120         bool "Dynamic using devtmpfs only"
122 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
123         bool "Dynamic using devtmpfs + mdev"
124         select BR2_PACKAGE_BUSYBOX
126 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
127         bool "Dynamic using devtmpfs + eudev"
128         depends on BR2_USE_WCHAR
129         depends on !BR2_STATIC_LIBS
130         depends on BR2_USE_MMU # eudev
131         select BR2_PACKAGE_EUDEV
133 comment "eudev needs a toolchain w/ wchar, dynamic library"
134         depends on BR2_USE_MMU
135         depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
137 endchoice
139 comment "/dev management using udev (from systemd)"
140         depends on BR2_INIT_SYSTEMD
142 config BR2_ROOTFS_DEVICE_TABLE
143         string "Path to the permission tables"
144         default "system/device_table.txt"
145         help
146           Specify a space-separated list of permission table locations,
147           that will be passed to the makedevs utility to assign
148           correct owners and permissions on various files in the
149           target filesystem.
151           See package/makedevs/README for details on the usage and
152           syntax of these files.
154 config BR2_ROOTFS_STATIC_DEVICE_TABLE
155         string "Path to the device tables"
156         default "system/device_table_dev.txt"
157         depends on BR2_ROOTFS_DEVICE_CREATION_STATIC
158         help
159           Specify a space-separated list of device table locations,
160           that will be passed to the makedevs utility to create all
161           the special device files under /dev.
163           See package/makedevs/README for details on the usage and
164           syntax of these files.
166 config BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES
167         bool "support extended attributes in device tables"
168         help
169           Support extended attributes handling in device tables
171 choice
172         prompt "Root FS skeleton"
174 config BR2_ROOTFS_SKELETON_DEFAULT
175         bool "default target skeleton"
176         help
177           Use default target skeleton
179 config BR2_ROOTFS_SKELETON_CUSTOM
180         bool "custom target skeleton"
181         help
182           Use custom target skeleton.
184 endchoice
186 if BR2_ROOTFS_SKELETON_CUSTOM
187 config BR2_ROOTFS_SKELETON_CUSTOM_PATH
188         string "custom target skeleton path"
189         default "system/skeleton"
190         help
191           Path to custom target skeleton.
193 # dummy config so merged /usr workarounds can also be activated for
194 # custom rootfs skeleton
195 config BR2_ROOTFS_MERGED_USR
197 endif
199 if BR2_ROOTFS_SKELETON_DEFAULT
201 config BR2_ROOTFS_MERGED_USR
202         bool "Use symlinks to /usr for /bin, /sbin and /lib"
203         help
204           If you say 'n' here, then /bin, /sbin and /lib and their
205           counterparts in /usr will be separate directories. This
206           is the historical UNIX way. In this case, /usr can be a
207           filesystem on a partition separate from / .
209           If you say 'y' here, then /bin, /sbin and /lib will be symlinks
210           to their counterparts in /usr. In this case, /usr can not be a
211           separate filesystem.
213 config BR2_TARGET_ENABLE_ROOT_LOGIN
214         bool "Enable root login with password"
215         default y
216         help
217           Allow root to log in with a password.
219           If not enabled, root will not be able to log in with a password.
220           However, if you have an ssh server and you add an ssh key, you
221           can still allow root to log in. Alternatively, you can use sudo
222           to become root.
224 config BR2_TARGET_GENERIC_ROOT_PASSWD
225         string "Root password"
226         default ""
227         depends on BR2_TARGET_ENABLE_ROOT_LOGIN
228         help
229           Set the initial root password.
231           If set to empty (the default), then no root password will be set,
232           and root will need no password to log in.
234           If the password starts with any of $1$, $5$ or $6$, it is considered
235           to be already crypt-encoded with respectively md5, sha256 or sha512.
236           Any other value is taken to be a clear-text value, and is crypt-encoded
237           as per the "Passwords encoding" scheme, above.
239           Note: "$" signs in the hashed password must be doubled. For example,
240           if the hashed password is "$1$longsalt$v35DIIeMo4yUfI23yditq0",
241           then you must enter it as "$$1$$longsalt$$v35DIIeMo4yUfI23yditq0"
242           (this is necessary otherwise make would attempt to interpret the $
243           as a variable expansion).
245           WARNING! WARNING!
246           The password appears as-is in the .config file, and may appear
247           in the build log! Avoid using a valuable password if either the
248           .config file or the build log may be distributed, or at the
249           very least use a strong cryptographic hash for your password!
251 choice
252         bool "/bin/sh"
253         default BR2_SYSTEM_BIN_SH_DASH if !BR2_PACKAGE_BUSYBOX
254         help
255           Select which shell will provide /bin/sh.
257 # busybox has shells that work on noMMU
258 config BR2_SYSTEM_BIN_SH_BUSYBOX
259         bool "busybox' default shell"
260         depends on BR2_PACKAGE_BUSYBOX
262 config BR2_SYSTEM_BIN_SH_BASH
263         bool "bash"
264         depends on BR2_USE_MMU # bash
265         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
266         select BR2_PACKAGE_BASH
268 config BR2_SYSTEM_BIN_SH_DASH
269         bool "dash"
270         depends on BR2_USE_MMU # dash
271         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
272         select BR2_PACKAGE_DASH
274 config BR2_SYSTEM_BIN_SH_ZSH
275         bool "zsh"
276         depends on BR2_USE_MMU # zsh
277         depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
278         select BR2_PACKAGE_ZSH
280 comment "bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
281         depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS && BR2_PACKAGE_BUSYBOX
283 config BR2_SYSTEM_BIN_SH_NONE
284         bool "none"
286 endchoice # /bin/sh
288 config BR2_SYSTEM_BIN_SH
289         string
290         default "busybox" if BR2_SYSTEM_BIN_SH_BUSYBOX
291         default "bash"    if BR2_SYSTEM_BIN_SH_BASH
292         default "dash"    if BR2_SYSTEM_BIN_SH_DASH
293         default "zsh"     if BR2_SYSTEM_BIN_SH_ZSH
295 menuconfig BR2_TARGET_GENERIC_GETTY
296         bool "Run a getty (login prompt) after boot"
297         default y
299 if BR2_TARGET_GENERIC_GETTY
300 config BR2_TARGET_GENERIC_GETTY_PORT
301         string "TTY port"
302         default "console"
303         help
304           Specify a port to run a getty on.
306 choice
307         prompt "Baudrate"
308         default BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
309         help
310           Select a baudrate to use.
312 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
313         bool "keep kernel default"
314 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
315         bool "9600"
316 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
317         bool "19200"
318 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
319         bool "38400"
320 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
321         bool "57600"
322 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
323         bool "115200"
324 endchoice
326 config BR2_TARGET_GENERIC_GETTY_BAUDRATE
327         string
328         default "0"             if BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
329         default "9600"          if BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
330         default "19200"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
331         default "38400"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
332         default "57600"         if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
333         default "115200"        if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
335 config BR2_TARGET_GENERIC_GETTY_TERM
336         string "TERM environment variable"
337         default "vt100"
338         help
339           Specify a TERM type.
341 config BR2_TARGET_GENERIC_GETTY_OPTIONS
342         string "other options to pass to getty"
343         default ""
344         help
345           Any other flags you want to pass to getty,
346           Refer to getty --help for details.
347 endif
349 config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
350         bool "remount root filesystem read-write during boot"
351         default y
352         help
353           The root filesystem is typically mounted read-only at boot.
354           By default, buildroot remounts it in read-write mode early during the
355           boot process.
356           Say no here if you would rather like your root filesystem to remain
357           read-only.
358           If unsure, say Y.
360 endif # BR2_ROOTFS_SKELETON_DEFAULT
363 config BR2_SYSTEM_DHCP
364         string "Network interface to configure through DHCP"
365         default ""
366         depends on !BR2_PACKAGE_SYSTEMD_NETWORKD && (BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
367         help
368           Enter here the name of the network interface (E.G. eth0) to
369           automatically configure through DHCP at bootup.
371           If left empty, no automatic DHCP requests will take place.
373           For more complicated network setups use an overlay to overwrite
374           /etc/network/interfaces or add a networkd configuration file.
376 comment "automatic network configuration via DHCP is not compatible with networkd"
377         depends on BR2_PACKAGE_SYSTEMD_NETWORKD
379 comment "automatic network configuration via DHCP needs ifupdown or busybox"
380         depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
382 config BR2_TARGET_TZ_INFO
383         bool "Install timezone info"
384         # No timezone for musl; only for uClibc or glibc.
385         depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
386         select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_GLIBC
387         select BR2_PACKAGE_TZ if BR2_TOOLCHAIN_USES_UCLIBC
388         help
389           Say 'y' here to install timezone info.
391 if BR2_TARGET_TZ_INFO
393 config BR2_TARGET_TZ_ZONELIST
394         string "timezone list"
395         default "default"
396         help
397           Space-separated list of time zones to compile.
399           The value "default" includes all commonly used time zones. Note
400           that this set consumes around 5.5M for glibc and 2.1M for uClibc.
402           The full list is the list of files in the time zone database source,
403           not including the build and .tab files.
405 config BR2_TARGET_LOCALTIME
406         string "default local time"
407         default "Etc/UTC"
408         help
409           The time zone to install as the default local time, expressed as a
410           tzdata location, such as:
411             GMT
412             Europe/Paris
413             America/New_York
414             Pacific/Wallis
415             ...
417           If empty, no local time will be set, and the dates will be
418           expressed in UTC.
420 endif # BR2_TARGET_TZ_INFO
422 config BR2_ROOTFS_USERS_TABLES
423         string "Path to the users tables"
424         help
425           Specify a space-separated list of users table locations,
426           that will be passed to the mkusers utility to create
427           users on the system, with home directory, password, etc.
429           See manual for details on the usage and syntax of these files.
431 config BR2_ROOTFS_OVERLAY
432         string "Root filesystem overlay directories"
433         default ""
434         help
435           Specify a list of directories that are copied over the target
436           root filesystem after the build has finished and before it is
437           packed into the selected filesystem images.
439           They are copied as-is into the rootfs, excluding files ending with
440           ~ and .git, .svn and .hg directories.
442 config BR2_ROOTFS_POST_BUILD_SCRIPT
443         string "Custom scripts to run before creating filesystem images"
444         default ""
445         help
446           Specify a space-separated list of scripts to be run after the build
447           has finished and before Buildroot starts packing the files into
448           selected filesystem images.
450           This gives users the opportunity to do board-specific cleanups,
451           add-ons and the like, so the generated files can be used directly
452           without further processing.
454           These scripts are called with the target directory name as first
455           argument. Make sure the exit code of those scripts are 0, otherwise
456           make will stop after calling them.
458 config BR2_ROOTFS_POST_FAKEROOT_SCRIPT
459         string "Custom scripts to run inside the fakeroot environment"
460         default ""
461         help
462           Specify a space-separated list of scripts to be run at the end
463           of the fakeroot script right before the image(s) are actually
464           generated.
466           This gives users the opportunity to do customisations of the
467           content of the rootfs, which would otherwise require root
468           rigths.
470           These scripts are called with the target directory name as
471           first argument. The build will fail on the first scripts that
472           exits with a non-zero exit code.
474           Note that Buildroot already provides mechanisms to customise
475           the content of the rootfs:
477             - BR2_ROOTFS_STATIC_DEVICE_TABLE
478                 to create arbitrary entries statically in /dev
480             - BR2_ROOTFS_DEVICE_TABLE
481                 to set arbitrary permissions as well as extended attributes
482                 (such as capabilities) on files and directories,
484             - BR2_ROOTFS_USERS_TABLES:
485                 to create arbitrary users and their home directories
487           It is highly recommended to use those mechanisms if possible,
488           rather than using custom fakeroot scripts.
490 config BR2_ROOTFS_POST_IMAGE_SCRIPT
491         string "Custom scripts to run after creating filesystem images"
492         default ""
493         help
494           Specify a space-separated list of scripts to be run after
495           the build has finished and after Buildroot has packed the
496           files into selected filesystem images.
498           This can for example be used to call a tool building a
499           firmware image from different images generated by Buildroot,
500           or automatically extract the tarball root filesystem image
501           into some location exported by NFS, or any other custom
502           action.
504           These scripts are called with the images directory name as
505           first argument. The script is executed from the main Buildroot
506           source directory as the current directory.
508 config BR2_ROOTFS_POST_SCRIPT_ARGS
509         string "Extra arguments passed to custom scripts"
510         depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" \
511                 || BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \
512                 || BR2_ROOTFS_POST_IMAGE_SCRIPT != ""
513         help
514           Pass these additional arguments to each post-build or post-image
515           scripts.
517           Note that all the post-build and post-image scripts will be passed
518           the same set of arguments, you can not pass different arguments to
519           each script.
521           Note also, as stated in their respective help text, that the first
522           argument to each post-build or post-image script is the target
523           directory / images directory. The arguments in this option will be
524           passed *after* those.
526 endmenu