1 menu "System configuration"
3 config BR2_TARGET_GENERIC_HOSTNAME
4 string "System hostname"
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"
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.
22 bool "Passwords encoding"
23 default BR2_TARGET_GENERIC_PASSWD_MD5
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
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
40 config BR2_TARGET_GENERIC_PASSWD_SHA256
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
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
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
68 default BR2_INIT_BUSYBOX
70 config BR2_INIT_BUSYBOX
72 select BR2_PACKAGE_BUSYBOX
73 select BR2_PACKAGE_INITSCRIPTS
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
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)
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
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"
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
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
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.
162 prompt "Root FS skeleton"
164 config BR2_ROOTFS_SKELETON_DEFAULT
165 bool "default target skeleton"
167 Use default target skeleton
169 config BR2_ROOTFS_SKELETON_CUSTOM
170 bool "custom target skeleton"
172 Use custom target skeleton.
176 if BR2_ROOTFS_SKELETON_CUSTOM
177 config BR2_ROOTFS_SKELETON_CUSTOM_PATH
178 string "custom target skeleton path"
179 default "system/skeleton"
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
189 if BR2_ROOTFS_SKELETON_DEFAULT
191 config BR2_ROOTFS_MERGED_USR
192 bool "Use symlinks to /usr for /bin, /sbin and /lib"
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
203 config BR2_TARGET_ENABLE_ROOT_LOGIN
204 bool "Enable root login with password"
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
214 config BR2_TARGET_GENERIC_ROOT_PASSWD
215 string "Root password"
217 depends on BR2_TARGET_ENABLE_ROOT_LOGIN
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).
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!
243 default BR2_SYSTEM_BIN_SH_DASH if !BR2_PACKAGE_BUSYBOX
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
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
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
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
278 config BR2_SYSTEM_BIN_SH
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"
289 if BR2_TARGET_GENERIC_GETTY
290 config BR2_TARGET_GENERIC_GETTY_PORT
294 Specify a port to run a getty on.
298 default BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
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
306 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
308 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
310 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
312 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
316 config BR2_TARGET_GENERIC_GETTY_BAUDRATE
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"
331 config BR2_TARGET_GENERIC_GETTY_OPTIONS
332 string "other options to pass to getty"
335 Any other flags you want to pass to getty,
336 Refer to getty --help for details.
339 config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
340 bool "remount root filesystem read-write during boot"
343 The root filesystem is typically mounted read-only at boot.
344 By default, buildroot remounts it in read-write mode early during the
346 Say no here if you would rather like your root filesystem to remain
350 endif # BR2_ROOTFS_SKELETON_DEFAULT
353 config BR2_SYSTEM_DHCP
354 string "Network interface to configure through DHCP"
356 depends on !BR2_PACKAGE_SYSTEMD_NETWORKD && (BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
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
379 Say 'y' here to install timezone info.
381 if BR2_TARGET_TZ_INFO
383 config BR2_TARGET_TZ_ZONELIST
384 string "timezone list"
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"
399 The time zone to install as the default local time, expressed as a
400 tzdata location, such as:
407 If empty, no local time will be set, and the dates will be
410 endif # BR2_TARGET_TZ_INFO
412 config BR2_ROOTFS_USERS_TABLES
413 string "Path to the users tables"
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"
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"
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"
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
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 != ""
470 Pass these additional arguments to each post-build or post-image
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
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.