| menu "System configuration" |
| |
| # Note: usually, it is not possible to select a provider of a virtual |
| # package. But here we have an exception: there are only four providers |
| # and they only get selected by separate entries in this choice and |
| # under different, exclusive conditions. So this is a safe situation. |
| choice |
| prompt "Root FS skeleton" |
| |
| config BR2_ROOTFS_SKELETON_DEFAULT |
| bool "default target skeleton" |
| select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_INIT_SYSV |
| select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_INIT_BUSYBOX |
| select BR2_PACKAGE_SKELETON_INIT_SYSTEMD if BR2_INIT_SYSTEMD |
| select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_INIT_NONE |
| help |
| Use default target skeleton |
| |
| config BR2_ROOTFS_SKELETON_CUSTOM |
| bool "custom target skeleton" |
| select BR2_PACKAGE_SKELETON_CUSTOM |
| help |
| Use custom target skeleton. |
| |
| endchoice |
| |
| if BR2_ROOTFS_SKELETON_CUSTOM |
| |
| config BR2_ROOTFS_SKELETON_CUSTOM_PATH |
| string "custom target skeleton path" |
| help |
| Path to custom target skeleton. |
| |
| endif |
| |
| if BR2_ROOTFS_SKELETON_DEFAULT |
| |
| config BR2_TARGET_GENERIC_HOSTNAME |
| string "System hostname" |
| default "buildroot" |
| help |
| Select system hostname to be stored in /etc/hostname. |
| |
| Leave empty to not create /etc/hostname, or to keep the |
| one from a custom skeleton. |
| |
| config BR2_TARGET_GENERIC_ISSUE |
| string "System banner" |
| default "Welcome to Buildroot" |
| help |
| Select system banner (/etc/issue) to be displayed at login. |
| |
| Leave empty to not create /etc/issue, or to keep the |
| one from a custom skeleton. |
| |
| endif |
| |
| choice |
| bool "Passwords encoding" |
| default BR2_TARGET_GENERIC_PASSWD_SHA256 |
| help |
| Choose the password encoding scheme to use when Buildroot |
| needs to encode a password (eg. the root password, below). |
| |
| Note: this is used at build-time, and *not* at runtime. |
| |
| config BR2_TARGET_GENERIC_PASSWD_SHA256 |
| bool "sha-256" |
| help |
| Use SHA256 to encode passwords which is stronger than MD5. |
| |
| config BR2_TARGET_GENERIC_PASSWD_SHA512 |
| bool "sha-512" |
| help |
| Use SHA512 to encode passwords which is stronger than SHA256 |
| |
| endchoice # Passwd encoding |
| |
| config BR2_TARGET_GENERIC_PASSWD_METHOD |
| string |
| default "md5" if BR2_TARGET_GENERIC_PASSWD_MD5 |
| default "sha-256" if BR2_TARGET_GENERIC_PASSWD_SHA256 |
| default "sha-512" if BR2_TARGET_GENERIC_PASSWD_SHA512 |
| |
| choice |
| prompt "Init system" |
| default BR2_INIT_BUSYBOX |
| |
| config BR2_INIT_BUSYBOX |
| bool "BusyBox" |
| select BR2_PACKAGE_BUSYBOX |
| select BR2_PACKAGE_INITSCRIPTS |
| |
| config BR2_INIT_SYSV |
| bool "systemV" |
| depends on BR2_USE_MMU # sysvinit |
| select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # sysvinit |
| select BR2_PACKAGE_INITSCRIPTS |
| select BR2_PACKAGE_SYSVINIT |
| |
| # In Buildroot, we decided not to support a split-usr when systemd is |
| # used as an init system. This is a design decision, not a systemd |
| # issue. Thus the select is with BR2_INIT_SYSTEMD (below) rather than |
| # with BR2_PACKAGE_SYSTEMD. |
| config BR2_INIT_SYSTEMD |
| bool "systemd" |
| depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS |
| depends on BR2_TOOLCHAIN_USES_GLIBC |
| depends on BR2_TOOLCHAIN_HAS_SSP |
| depends on BR2_USE_MMU |
| depends on !BR2_STATIC_LIBS |
| depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 |
| select BR2_ROOTFS_MERGED_USR |
| select BR2_PACKAGE_SYSTEMD |
| |
| comment "systemd needs a glibc toolchain w/ SSP, headers >= 3.10" |
| depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS |
| depends on BR2_USE_MMU |
| depends on !BR2_TOOLCHAIN_USES_GLIBC || \ |
| !BR2_TOOLCHAIN_HAS_SSP || \ |
| !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 |
| |
| config BR2_INIT_NONE |
| bool "None" |
| help |
| Buildroot will not install any init system. You will |
| have to provide your own, either with a new package |
| or with a rootfs-overlay. |
| |
| endchoice |
| |
| choice |
| prompt "/dev management" if !BR2_INIT_SYSTEMD |
| default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS |
| |
| config BR2_ROOTFS_DEVICE_CREATION_STATIC |
| bool "Static using device table" |
| |
| config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS |
| bool "Dynamic using devtmpfs only" |
| |
| config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV |
| bool "Dynamic using devtmpfs + mdev" |
| select BR2_PACKAGE_BUSYBOX |
| |
| config BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV |
| bool "Dynamic using devtmpfs + eudev" |
| depends on BR2_USE_WCHAR # eudev |
| depends on !BR2_STATIC_LIBS |
| depends on BR2_USE_MMU # eudev |
| select BR2_PACKAGE_EUDEV |
| |
| comment "eudev needs a toolchain w/ wchar, dynamic library" |
| depends on BR2_USE_MMU |
| depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS |
| |
| endchoice |
| |
| comment "/dev management using udev (from systemd)" |
| depends on BR2_INIT_SYSTEMD |
| |
| config BR2_ROOTFS_DEVICE_TABLE |
| string "Path to the permission tables" |
| default "system/device_table.txt" |
| help |
| Specify a space-separated list of permission table locations, |
| that will be passed to the makedevs utility to assign |
| correct owners and permissions on various files in the |
| target filesystem. |
| |
| See package/makedevs/README for details on the usage and |
| syntax of these files. |
| |
| config BR2_ROOTFS_STATIC_DEVICE_TABLE |
| string "Path to the device tables" |
| default "system/device_table_dev.txt" |
| depends on BR2_ROOTFS_DEVICE_CREATION_STATIC |
| help |
| Specify a space-separated list of device table locations, |
| that will be passed to the makedevs utility to create all |
| the special device files under /dev. |
| |
| See package/makedevs/README for details on the usage and |
| syntax of these files. |
| |
| config BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES |
| bool "support extended attributes in device tables" |
| help |
| Support extended attributes handling in device tables |
| |
| config BR2_ROOTFS_MERGED_USR |
| bool "Use symlinks to /usr for /bin, /sbin and /lib" |
| help |
| If you say 'n' here, then /bin, /sbin and /lib and their |
| counterparts in /usr will be separate directories. This |
| is the historical UNIX way. In this case, /usr can be a |
| filesystem on a partition separate from / . |
| |
| If you say 'y' here, then /bin, /sbin and /lib will be |
| symlinks to their counterparts in /usr. In this case, /usr can |
| not be a separate filesystem. |
| |
| if BR2_ROOTFS_SKELETON_DEFAULT |
| |
| config BR2_TARGET_ENABLE_ROOT_LOGIN |
| bool "Enable root login with password" |
| default y |
| select BR2_PACKAGE_HOST_MKPASSWD if BR2_TARGET_GENERIC_ROOT_PASSWD != "" |
| help |
| Allow root to log in with a password. |
| |
| If not enabled, root will not be able to log in with a |
| password. However, if you have an ssh server and you add an |
| ssh key, you can still allow root to log in. Alternatively, |
| you can use sudo to become root. |
| |
| config BR2_TARGET_GENERIC_ROOT_PASSWD |
| string "Root password" |
| default "" |
| depends on BR2_TARGET_ENABLE_ROOT_LOGIN |
| help |
| Set the initial root password. |
| |
| If set to empty (the default), then no root password will be |
| set, and root will need no password to log in. |
| |
| If the password starts with any of $1$, $5$ or $6$, it is |
| considered to be already crypt-encoded with respectively md5, |
| sha256 or sha512. Any other value is taken to be a clear-text |
| value, and is crypt-encoded as per the "Passwords encoding" |
| scheme, above. |
| |
| Note: "$" signs in the hashed password must be doubled. For |
| example, if the hashed password is |
| "$1$longsalt$v35DIIeMo4yUfI23yditq0", then you must enter it |
| as "$$1$$longsalt$$v35DIIeMo4yUfI23yditq0" (this is necessary |
| otherwise make would attempt to interpret the $ as a variable |
| expansion). |
| |
| WARNING! WARNING! |
| The password appears as-is in the .config file, and may appear |
| in the build log! Avoid using a valuable password if either |
| the .config file or the build log may be distributed, or at |
| the very least use a strong cryptographic hash for your |
| password! |
| |
| choice |
| bool "/bin/sh" |
| default BR2_SYSTEM_BIN_SH_DASH if !BR2_PACKAGE_BUSYBOX |
| help |
| Select which shell will provide /bin/sh. |
| |
| # busybox has shells that work on noMMU |
| config BR2_SYSTEM_BIN_SH_BUSYBOX |
| bool "busybox' default shell" |
| depends on BR2_PACKAGE_BUSYBOX |
| |
| config BR2_SYSTEM_BIN_SH_BASH |
| bool "bash" |
| depends on BR2_USE_MMU # bash |
| depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS |
| select BR2_PACKAGE_BASH |
| |
| config BR2_SYSTEM_BIN_SH_DASH |
| bool "dash" |
| depends on BR2_USE_MMU # dash |
| depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS |
| select BR2_PACKAGE_DASH |
| |
| config BR2_SYSTEM_BIN_SH_MKSH |
| bool "mksh" |
| depends on BR2_USE_MMU # mksh |
| depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS |
| select BR2_PACKAGE_MKSH |
| |
| config BR2_SYSTEM_BIN_SH_ZSH |
| bool "zsh" |
| depends on BR2_USE_MMU # zsh |
| depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS |
| select BR2_PACKAGE_ZSH |
| |
| comment "bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS" |
| depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS && BR2_PACKAGE_BUSYBOX |
| |
| config BR2_SYSTEM_BIN_SH_NONE |
| bool "none" |
| |
| endchoice # /bin/sh |
| |
| config BR2_SYSTEM_BIN_SH |
| string |
| default "bash" if BR2_SYSTEM_BIN_SH_BASH |
| default "dash" if BR2_SYSTEM_BIN_SH_DASH |
| default "mksh" if BR2_SYSTEM_BIN_SH_MKSH |
| default "zsh" if BR2_SYSTEM_BIN_SH_ZSH |
| |
| menuconfig BR2_TARGET_GENERIC_GETTY |
| bool "Run a getty (login prompt) after boot" |
| default y |
| |
| if BR2_TARGET_GENERIC_GETTY |
| config BR2_TARGET_GENERIC_GETTY_PORT |
| string "TTY port" |
| default "console" |
| help |
| Specify a port to run a getty on. |
| |
| choice |
| prompt "Baudrate" |
| default BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP |
| help |
| Select a baudrate to use. |
| |
| config BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP |
| bool "keep kernel default" |
| config BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 |
| bool "9600" |
| config BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 |
| bool "19200" |
| config BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 |
| bool "38400" |
| config BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 |
| bool "57600" |
| config BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 |
| bool "115200" |
| endchoice |
| |
| config BR2_TARGET_GENERIC_GETTY_BAUDRATE |
| string |
| default "0" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP |
| default "9600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 |
| default "19200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 |
| default "38400" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 |
| default "57600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 |
| default "115200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 |
| |
| config BR2_TARGET_GENERIC_GETTY_TERM |
| string "TERM environment variable" |
| default "vt100" |
| # currently observed only by busybox and sysvinit |
| depends on BR2_INIT_BUSYBOX || BR2_INIT_SYSV |
| help |
| Specify a TERM type. |
| |
| config BR2_TARGET_GENERIC_GETTY_OPTIONS |
| string "other options to pass to getty" |
| default "" |
| # currently observed only by busybox and sysvinit |
| depends on BR2_INIT_BUSYBOX || BR2_INIT_SYSV |
| help |
| Any other flags you want to pass to getty, |
| Refer to getty --help for details. |
| endif |
| |
| config BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW |
| bool "remount root filesystem read-write during boot" |
| default y |
| help |
| The root filesystem is typically mounted read-only at boot. |
| By default, buildroot remounts it in read-write mode early |
| during the boot process. |
| Say no here if you would rather like your root filesystem to |
| remain read-only. |
| If unsure, say Y. |
| |
| config BR2_SYSTEM_DHCP |
| string "Network interface to configure through DHCP" |
| default "" |
| depends on BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || BR2_PACKAGE_SYSTEMD_NETWORKD |
| help |
| Enter here the name of the network interface (E.G. eth0) to |
| automatically configure through DHCP at bootup. |
| |
| If left empty, no automatic DHCP requests will take place. |
| |
| For more complicated network setups use an overlay to |
| overwrite /etc/network/interfaces or add a networkd |
| configuration file. |
| |
| comment "automatic network configuration via DHCP needs ifupdown or busybox or networkd" |
| depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || BR2_PACKAGE_SYSTEMD_NETWORKD) |
| |
| endif # BR2_ROOTFS_SKELETON_DEFAULT |
| |
| config BR2_SYSTEM_DEFAULT_PATH |
| string "Set the system's default PATH" |
| default "/bin:/sbin:/usr/bin:/usr/sbin" |
| help |
| Sets the system's default PATH. It is being used in |
| /etc/profile in the skeleton-init-common package and by some |
| daemons. |
| |
| The default should work in most cases. |
| |
| config BR2_ENABLE_LOCALE_PURGE |
| bool "Purge unwanted locales" |
| default y |
| help |
| Explicitly specify what locales to install on target. If N |
| then all locales supported by packages are installed. |
| |
| config BR2_ENABLE_LOCALE_WHITELIST |
| string "Locales to keep" |
| default "C en_US" |
| depends on BR2_ENABLE_LOCALE_PURGE |
| help |
| Whitespace seperated list of locales to allow on target. |
| Locales not listed here will be removed from the target. |
| See 'locale -a' on your host for a list of locales available |
| on your build host, or have a look in /usr/share/locale in |
| the target file system for available locales. |
| |
| Notice that listing a locale here doesn't guarantee that it |
| will be available on the target - That purely depends on the |
| support for that locale in the selected packages. |
| |
| config BR2_GENERATE_LOCALE |
| string "Generate locale data" |
| default "" |
| depends on \ |
| (BR2_TOOLCHAIN_BUILDROOT_UCLIBC && BR2_ENABLE_LOCALE) || \ |
| BR2_TOOLCHAIN_USES_GLIBC |
| help |
| Generate support for a list of locales. Locales can be |
| specified with or without encoding, when no encoding is |
| specified, UTF-8 is assumed. Examples of locales: en_US, |
| fr_FR.UTF-8. |
| |
| config BR2_SYSTEM_ENABLE_NLS |
| bool "Enable Native Language Support (NLS)" |
| depends on BR2_USE_WCHAR |
| # - glibc has built-in NLS support, but anyway doesn't |
| # support static linking |
| # - musl and uclibc support static linking, but they don't |
| # have built-in NLS support, which is provided by the |
| # libintl library from gettext. The fact that it is a |
| # separate library causes too many problems for static |
| # linking. |
| depends on !BR2_STATIC_LIBS |
| select BR2_PACKAGE_GETTEXT if !BR2_TOOLCHAIN_HAS_FULL_GETTEXT |
| help |
| This option will enable Native Language Support, which will |
| allow software packages to support translations. |
| |
| comment "NLS support needs a toolchain w/ wchar, dynamic library" |
| depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS |
| |
| config BR2_TARGET_TZ_INFO |
| bool "Install timezone info" |
| select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_GLIBC |
| select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_MUSL |
| select BR2_PACKAGE_TZ if BR2_TOOLCHAIN_USES_UCLIBC |
| help |
| Say 'y' here to install timezone info. |
| |
| if BR2_TARGET_TZ_INFO |
| |
| config BR2_TARGET_TZ_ZONELIST |
| string "timezone list" |
| default "default" |
| help |
| Space-separated list of time zones to compile. |
| |
| The value "default" includes all commonly used time zones. |
| Note that this set consumes around 5.5M for glibc and 2.1M for |
| uClibc. |
| |
| The full list is the list of files in the time zone database |
| source, not including the build and .tab files. |
| |
| config BR2_TARGET_LOCALTIME |
| string "default local time" |
| default "Etc/UTC" |
| help |
| The time zone to install as the default local time, expressed |
| as a tzdata location, such as: |
| Etc/UTC (the default) |
| GMT |
| Europe/Paris |
| America/New_York |
| Pacific/Wallis |
| ... |
| |
| Set to empty to not install a default time zone. |
| |
| endif # BR2_TARGET_TZ_INFO |
| |
| config BR2_ROOTFS_USERS_TABLES |
| string "Path to the users tables" |
| help |
| Specify a space-separated list of users table locations, |
| that will be passed to the mkusers utility to create |
| users on the system, with home directory, password, etc. |
| |
| See manual for details on the usage and syntax of these files. |
| |
| config BR2_ROOTFS_OVERLAY |
| string "Root filesystem overlay directories" |
| default "" |
| help |
| Specify a list of directories that are copied over the target |
| root filesystem after the build has finished and before it is |
| packed into the selected filesystem images. |
| |
| They are copied as-is into the rootfs, excluding files ending |
| with ~ and .git, .svn and .hg directories. |
| |
| config BR2_ROOTFS_POST_BUILD_SCRIPT |
| string "Custom scripts to run before creating filesystem images" |
| default "" |
| help |
| Specify a space-separated list of scripts to be run after the |
| build has finished and before Buildroot starts packing the |
| files into selected filesystem images. |
| |
| This gives users the opportunity to do board-specific |
| cleanups, add-ons and the like, so the generated files can be |
| used directly without further processing. |
| |
| These scripts are called with the target directory name as |
| first argument. Make sure the exit code of those scripts are |
| 0, otherwise make will stop after calling them. |
| |
| config BR2_ROOTFS_POST_FAKEROOT_SCRIPT |
| string "Custom scripts to run inside the fakeroot environment" |
| default "" |
| help |
| Specify a space-separated list of scripts to be run at the end |
| of the fakeroot script right before the image(s) are actually |
| generated. |
| |
| This gives users the opportunity to do customisations of the |
| content of the rootfs, which would otherwise require root |
| rights. |
| |
| These scripts are called with the target directory name as |
| first argument. The build will fail on the first scripts that |
| exits with a non-zero exit code. |
| |
| Note that Buildroot already provides mechanisms to customise |
| the content of the rootfs: |
| |
| - BR2_ROOTFS_STATIC_DEVICE_TABLE |
| to create arbitrary entries statically in /dev |
| |
| - BR2_ROOTFS_DEVICE_TABLE |
| to set arbitrary permissions as well as extended |
| attributes (such as capabilities) on files and |
| directories, |
| |
| - BR2_ROOTFS_USERS_TABLES: |
| to create arbitrary users and their home directories |
| |
| It is highly recommended to use those mechanisms if possible, |
| rather than using custom fakeroot scripts. |
| |
| config BR2_ROOTFS_POST_IMAGE_SCRIPT |
| string "Custom scripts to run after creating filesystem images" |
| default "" |
| help |
| Specify a space-separated list of scripts to be run after |
| the build has finished and after Buildroot has packed the |
| files into selected filesystem images. |
| |
| This can for example be used to call a tool building a |
| firmware image from different images generated by Buildroot, |
| or automatically extract the tarball root filesystem image |
| into some location exported by NFS, or any other custom |
| action. |
| |
| These scripts are called with the images directory name as |
| first argument. The script is executed from the main Buildroot |
| source directory as the current directory. |
| |
| config BR2_ROOTFS_POST_SCRIPT_ARGS |
| string "Extra arguments passed to custom scripts" |
| depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ |
| || BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \ |
| || BR2_ROOTFS_POST_IMAGE_SCRIPT != "" |
| help |
| Pass these additional arguments to each post-build or |
| post-image scripts. |
| |
| Note that all the post-build and post-image scripts will be |
| passed the same set of arguments, you can not pass different |
| arguments to each script. |
| |
| Note also, as stated in their respective help text, that the |
| first argument to each post-build or post-image script is the |
| target directory / images directory. The arguments in this |
| option will be passed *after* those. |
| |
| endmenu |