123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603 |
- 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.
- # dummy config so merged /usr workarounds can also be activated for
- # custom rootfs skeleton
- config BR2_ROOTFS_MERGED_USR
- 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_MD5
- 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_MD5
- bool "md5"
- help
- Use MD5 to encode passwords.
- The default. Wildly available, and pretty good.
- Although pretty strong, MD5 is now an old hash function, and
- suffers from some weaknesses, which makes it susceptible to
- brute-force attacks.
- config BR2_TARGET_GENERIC_PASSWD_SHA256
- bool "sha-256"
- help
- Use SHA256 to encode passwords.
- Very strong, but not ubiquitous, although available in glibc
- for some time now. Choose only if you are sure your C library
- understands SHA256 passwords.
- config BR2_TARGET_GENERIC_PASSWD_SHA512
- bool "sha-512"
- help
- Use SHA512 to encode passwords.
- Extremely strong, but not ubiquitous, although available in
- glibc for some time now. Choose only if you are sure your C
- library understands SHA512 passwords.
- 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 || BR2_TOOLCHAIN_USES_UCLIBC
- depends on BR2_USE_WCHAR
- depends on BR2_TOOLCHAIN_HAS_THREADS
- 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 or uClibc toolchain, headers >= 3.10"
- depends on !(BR2_TOOLCHAIN_USES_GLIBC || BR2_TOOLCHAIN_USES_UCLIBC \
- && 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
- if BR2_ROOTFS_SKELETON_DEFAULT
- 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.
- 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_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
- ...
- 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
|