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)
105 Buildroot will not install any init system. You will
106 have to provide your own, either with a new package
107 or with a rootfs-overlay.
112 prompt "/dev management" if !BR2_INIT_SYSTEMD
113 default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
115 config BR2_ROOTFS_DEVICE_CREATION_STATIC
116 bool "Static using device table"
118 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS
119 bool "Dynamic using devtmpfs only"
121 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV
122 bool "Dynamic using devtmpfs + mdev"
123 select BR2_PACKAGE_BUSYBOX
125 config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV
126 bool "Dynamic using devtmpfs + eudev"
127 depends on BR2_USE_WCHAR
128 depends on !BR2_STATIC_LIBS
129 depends on BR2_USE_MMU # eudev
130 select BR2_PACKAGE_EUDEV
132 comment "eudev needs a toolchain w/ wchar, dynamic library"
133 depends on BR2_USE_MMU
134 depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS
138 comment "/dev management using udev (from systemd)"
139 depends on BR2_INIT_SYSTEMD
141 config BR2_ROOTFS_DEVICE_TABLE
142 string "Path to the permission tables"
143 default "system/device_table.txt"
145 Specify a space-separated list of permission table locations,
146 that will be passed to the makedevs utility to assign
147 correct owners and permissions on various files in the
150 See package/makedevs/README for details on the usage and
151 syntax of these files.
153 config BR2_ROOTFS_STATIC_DEVICE_TABLE
154 string "Path to the device tables"
155 default "system/device_table_dev.txt"
156 depends on BR2_ROOTFS_DEVICE_CREATION_STATIC
158 Specify a space-separated list of device table locations,
159 that will be passed to the makedevs utility to create all
160 the special device files under /dev.
162 See package/makedevs/README for details on the usage and
163 syntax of these files.
166 prompt "Root FS skeleton"
168 config BR2_ROOTFS_SKELETON_DEFAULT
169 bool "default target skeleton"
171 Use default target skeleton
173 config BR2_ROOTFS_SKELETON_CUSTOM
174 bool "custom target skeleton"
176 Use custom target skeleton.
180 if BR2_ROOTFS_SKELETON_CUSTOM
181 config BR2_ROOTFS_SKELETON_CUSTOM_PATH
182 string "custom target skeleton path"
183 default "system/skeleton"
185 Path to custom target skeleton.
187 # dummy config so merged /usr workarounds can also be activated for
188 # custom rootfs skeleton
189 config BR2_ROOTFS_MERGED_USR
193 if BR2_ROOTFS_SKELETON_DEFAULT
195 config BR2_ROOTFS_MERGED_USR
196 bool "Use symlinks to /usr for /bin, /sbin and /lib"
198 If you say 'n' here, then /bin, /sbin and /lib and their
199 counterparts in /usr will be separate directories. This
200 is the historical UNIX way. In this case, /usr can be a
201 filesystem on a partition separate from / .
203 If you say 'y' here, then /bin, /sbin and /lib will be symlinks
204 to their counterparts in /usr. In this case, /usr can not be a
207 config BR2_TARGET_ENABLE_ROOT_LOGIN
208 bool "Enable root login with password"
211 Allow root to log in with a password.
213 If not enabled, root will not be able to log in with a password.
214 However, if you have an ssh server and you add an ssh key, you
215 can still allow root to log in. Alternatively, you can use sudo
218 config BR2_TARGET_GENERIC_ROOT_PASSWD
219 string "Root password"
221 depends on BR2_TARGET_ENABLE_ROOT_LOGIN
223 Set the initial root password.
225 If set to empty (the default), then no root password will be set,
226 and root will need no password to log in.
228 If the password starts with any of $1$, $5$ or $6$, it is considered
229 to be already crypt-encoded with respectively md5, sha256 or sha512.
230 Any other value is taken to be a clear-text value, and is crypt-encoded
231 as per the "Passwords encoding" scheme, above.
233 Note: "$" signs in the hashed password must be doubled. For example,
234 if the hashed password is "$1$longsalt$v35DIIeMo4yUfI23yditq0",
235 then you must enter it as "$$1$$longsalt$$v35DIIeMo4yUfI23yditq0"
236 (this is necessary otherwise make would attempt to interpret the $
237 as a variable expansion).
240 The password appears as-is in the .config file, and may appear
241 in the build log! Avoid using a valuable password if either the
242 .config file or the build log may be distributed, or at the
243 very least use a strong cryptographic hash for your password!
247 default BR2_SYSTEM_BIN_SH_DASH if !BR2_PACKAGE_BUSYBOX
249 Select which shell will provide /bin/sh.
251 # busybox has shells that work on noMMU
252 config BR2_SYSTEM_BIN_SH_BUSYBOX
253 bool "busybox' default shell"
254 depends on BR2_PACKAGE_BUSYBOX
256 config BR2_SYSTEM_BIN_SH_BASH
258 depends on BR2_USE_MMU # bash
259 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
260 select BR2_PACKAGE_BASH
262 config BR2_SYSTEM_BIN_SH_DASH
264 depends on BR2_USE_MMU # dash
265 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
266 select BR2_PACKAGE_DASH
268 config BR2_SYSTEM_BIN_SH_ZSH
270 depends on BR2_USE_MMU # zsh
271 depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
272 select BR2_PACKAGE_ZSH
274 comment "bash, dash, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS"
275 depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS && BR2_PACKAGE_BUSYBOX
277 config BR2_SYSTEM_BIN_SH_NONE
282 config BR2_SYSTEM_BIN_SH
284 default "busybox" if BR2_SYSTEM_BIN_SH_BUSYBOX
285 default "bash" if BR2_SYSTEM_BIN_SH_BASH
286 default "dash" if BR2_SYSTEM_BIN_SH_DASH
287 default "zsh" if BR2_SYSTEM_BIN_SH_ZSH
289 menuconfig BR2_TARGET_GENERIC_GETTY
290 bool "Run a getty (login prompt) after boot"
293 if BR2_TARGET_GENERIC_GETTY
294 config BR2_TARGET_GENERIC_GETTY_PORT
298 Specify a port to run a getty on.
302 default BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
304 Select a baudrate to use.
306 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
307 bool "keep kernel default"
308 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
310 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
312 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
314 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
316 config BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
320 config BR2_TARGET_GENERIC_GETTY_BAUDRATE
322 default "0" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP
323 default "9600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600
324 default "19200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200
325 default "38400" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400
326 default "57600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600
327 default "115200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200
329 config BR2_TARGET_GENERIC_GETTY_TERM
330 string "TERM environment variable"
335 config BR2_TARGET_GENERIC_GETTY_OPTIONS
336 string "other options to pass to getty"
339 Any other flags you want to pass to getty,
340 Refer to getty --help for details.
343 config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW
344 bool "remount root filesystem read-write during boot"
347 The root filesystem is typically mounted read-only at boot.
348 By default, buildroot remounts it in read-write mode early during the
350 Say no here if you would rather like your root filesystem to remain
354 endif # BR2_ROOTFS_SKELETON_DEFAULT
357 config BR2_SYSTEM_DHCP
358 string "Network interface to configure through DHCP"
360 depends on !BR2_PACKAGE_SYSTEMD_NETWORKD && (BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
362 Enter here the name of the network interface (E.G. eth0) to
363 automatically configure through DHCP at bootup.
365 If left empty, no automatic DHCP requests will take place.
367 For more complicated network setups use an overlay to overwrite
368 /etc/network/interfaces or add a networkd configuration file.
370 comment "automatic network configuration via DHCP is not compatible with networkd"
371 depends on BR2_PACKAGE_SYSTEMD_NETWORKD
373 comment "automatic network configuration via DHCP needs ifupdown or busybox"
374 depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN)
376 config BR2_TARGET_TZ_INFO
377 bool "Install timezone info"
378 # No timezone for musl; only for uClibc or (e)glibc.
379 depends on BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC
380 select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_GLIBC
381 select BR2_PACKAGE_TZ if BR2_TOOLCHAIN_USES_UCLIBC
383 Say 'y' here to install timezone info.
385 if BR2_TARGET_TZ_INFO
387 config BR2_TARGET_TZ_ZONELIST
388 string "timezone list"
391 Space-separated list of time zones to compile.
393 The value "default" includes all commonly used time zones. Note
394 that this set consumes around 5.5M for (e)glibc and 2.1M for uClibc.
396 The full list is the list of files in the time zone database source,
397 not including the build and .tab files.
399 config BR2_TARGET_LOCALTIME
400 string "default local time"
403 The time zone to install as the default local time, expressed as a
404 tzdata location, such as:
411 If empty, no local time will be set, and the dates will be
414 endif # BR2_TARGET_TZ_INFO
416 config BR2_ROOTFS_USERS_TABLES
417 string "Path to the users tables"
419 Specify a space-separated list of users table locations,
420 that will be passed to the mkusers utility to create
421 users on the system, with home directory, password, etc.
423 See manual for details on the usage and syntax of these files.
425 config BR2_ROOTFS_OVERLAY
426 string "Root filesystem overlay directories"
429 Specify a list of directories that are copied over the target
430 root filesystem after the build has finished and before it is
431 packed into the selected filesystem images.
433 They are copied as-is into the rootfs, excluding files ending with
434 ~ and .git, .svn and .hg directories.
436 config BR2_ROOTFS_POST_BUILD_SCRIPT
437 string "Custom scripts to run before creating filesystem images"
440 Specify a space-separated list of scripts to be run after the build
441 has finished and before Buildroot starts packing the files into
442 selected filesystem images.
444 This gives users the opportunity to do board-specific cleanups,
445 add-ons and the like, so the generated files can be used directly
446 without further processing.
448 These scripts are called with the target directory name as first
449 argument. Make sure the exit code of those scripts are 0, otherwise
450 make will stop after calling them.
452 config BR2_ROOTFS_POST_IMAGE_SCRIPT
453 string "Custom scripts to run after creating filesystem images"
456 Specify a space-separated list of scripts to be run after
457 the build has finished and after Buildroot has packed the
458 files into selected filesystem images.
460 This can for example be used to call a tool building a
461 firmware image from different images generated by Buildroot,
462 or automatically extract the tarball root filesystem image
463 into some location exported by NFS, or any other custom
466 These scripts are called with the images directory name as
467 first argument. The script is executed from the main Buildroot
468 source directory as the current directory.
470 config BR2_ROOTFS_POST_SCRIPT_ARGS
471 string "Extra post-{build,image} arguments"
472 depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" || BR2_ROOTFS_POST_IMAGE_SCRIPT != ""
474 Pass these additional arguments to each post-build or post-image
477 Note that all the post-build and post-image scripts will be passed
478 the same set of arguments, you can not pass different arguments to
481 Note also, as stated in their respective help text, that the first
482 argument to each post-build or post-image script is the target
483 directory / images directory. The arguments in this option will be
484 passed *after* those.