1*4882a593Smuzhiyunmenu "System configuration" 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# Note on package/skeleton: usually, it is not safe to 'select' a 4*4882a593Smuzhiyun# provider of a virtual package. But below we have an exception: each 5*4882a593Smuzhiyun# init system may select one of the virtual skeleton-init-* packages. 6*4882a593Smuzhiyun# As only one init system may be enabled, only one skeleton-init-* may 7*4882a593Smuzhiyun# be selected. So this is a safe situation. 8*4882a593Smuzhiyunchoice 9*4882a593Smuzhiyun prompt "Root FS skeleton" 10*4882a593Smuzhiyun 11*4882a593Smuzhiyunconfig BR2_ROOTFS_SKELETON_DEFAULT 12*4882a593Smuzhiyun bool "default target skeleton" 13*4882a593Smuzhiyun help 14*4882a593Smuzhiyun Use default target skeleton for selected init system. 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunconfig BR2_ROOTFS_SKELETON_CUSTOM 17*4882a593Smuzhiyun bool "custom target skeleton" 18*4882a593Smuzhiyun select BR2_PACKAGE_SKELETON_CUSTOM 19*4882a593Smuzhiyun help 20*4882a593Smuzhiyun Use custom target skeleton. 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun# skeleton from br2-external trees, if any 23*4882a593Smuzhiyunsource "$BR2_BASE_DIR/.br2-external.in.skeleton" 24*4882a593Smuzhiyun 25*4882a593Smuzhiyunendchoice 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunif BR2_ROOTFS_SKELETON_CUSTOM 28*4882a593Smuzhiyun 29*4882a593Smuzhiyunconfig BR2_ROOTFS_SKELETON_CUSTOM_PATH 30*4882a593Smuzhiyun string "custom target skeleton path" 31*4882a593Smuzhiyun help 32*4882a593Smuzhiyun Path to custom target skeleton. 33*4882a593Smuzhiyun 34*4882a593Smuzhiyunendif 35*4882a593Smuzhiyun 36*4882a593Smuzhiyunif BR2_ROOTFS_SKELETON_DEFAULT 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_HOSTNAME 39*4882a593Smuzhiyun string "System hostname" 40*4882a593Smuzhiyun default "buildroot" 41*4882a593Smuzhiyun help 42*4882a593Smuzhiyun Select system hostname to be stored in /etc/hostname. 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun Leave empty to not create /etc/hostname, or to keep the 45*4882a593Smuzhiyun one from a custom skeleton. 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_ISSUE 48*4882a593Smuzhiyun string "System banner" 49*4882a593Smuzhiyun default "Welcome to Buildroot" 50*4882a593Smuzhiyun help 51*4882a593Smuzhiyun Select system banner (/etc/issue) to be displayed at login. 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun Leave empty to not create /etc/issue, or to keep the 54*4882a593Smuzhiyun one from a custom skeleton. 55*4882a593Smuzhiyun 56*4882a593Smuzhiyunendif 57*4882a593Smuzhiyun 58*4882a593Smuzhiyunchoice 59*4882a593Smuzhiyun bool "Passwords encoding" 60*4882a593Smuzhiyun default BR2_TARGET_GENERIC_PASSWD_SHA256 61*4882a593Smuzhiyun help 62*4882a593Smuzhiyun Choose the password encoding scheme to use when Buildroot 63*4882a593Smuzhiyun needs to encode a password (eg. the root password, below). 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun Note: this is used at build-time, and *not* at runtime. 66*4882a593Smuzhiyun 67*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_PASSWD_SHA256 68*4882a593Smuzhiyun bool "sha-256" 69*4882a593Smuzhiyun help 70*4882a593Smuzhiyun Use SHA256 to encode passwords which is stronger than MD5. 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_PASSWD_SHA512 73*4882a593Smuzhiyun bool "sha-512" 74*4882a593Smuzhiyun help 75*4882a593Smuzhiyun Use SHA512 to encode passwords which is stronger than SHA256 76*4882a593Smuzhiyun 77*4882a593Smuzhiyunendchoice # Passwd encoding 78*4882a593Smuzhiyun 79*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_PASSWD_METHOD 80*4882a593Smuzhiyun string 81*4882a593Smuzhiyun default "md5" if BR2_TARGET_GENERIC_PASSWD_MD5 82*4882a593Smuzhiyun default "sha-256" if BR2_TARGET_GENERIC_PASSWD_SHA256 83*4882a593Smuzhiyun default "sha-512" if BR2_TARGET_GENERIC_PASSWD_SHA512 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun# See comment at the top of the file, about selecting individual 86*4882a593Smuzhiyun# skeletons, which are providers of the virtual skeleton package. 87*4882a593Smuzhiyunchoice 88*4882a593Smuzhiyun prompt "Init system" 89*4882a593Smuzhiyun default BR2_INIT_BUSYBOX 90*4882a593Smuzhiyun 91*4882a593Smuzhiyunconfig BR2_INIT_BUSYBOX 92*4882a593Smuzhiyun bool "BusyBox" 93*4882a593Smuzhiyun select BR2_PACKAGE_BUSYBOX 94*4882a593Smuzhiyun select BR2_PACKAGE_INITSCRIPTS 95*4882a593Smuzhiyun select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_ROOTFS_SKELETON_DEFAULT 96*4882a593Smuzhiyun 97*4882a593Smuzhiyunconfig BR2_INIT_SYSV 98*4882a593Smuzhiyun bool "systemV" 99*4882a593Smuzhiyun depends on BR2_USE_MMU # sysvinit 100*4882a593Smuzhiyun select BR2_PACKAGE_BUSYBOX_SHOW_OTHERS # sysvinit 101*4882a593Smuzhiyun select BR2_PACKAGE_INITSCRIPTS 102*4882a593Smuzhiyun select BR2_PACKAGE_SYSVINIT 103*4882a593Smuzhiyun select BR2_PACKAGE_SKELETON_INIT_SYSV if BR2_ROOTFS_SKELETON_DEFAULT 104*4882a593Smuzhiyun 105*4882a593Smuzhiyunconfig BR2_INIT_OPENRC 106*4882a593Smuzhiyun bool "OpenRC" 107*4882a593Smuzhiyun depends on BR2_USE_MMU 108*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS 109*4882a593Smuzhiyun select BR2_PACKAGE_OPENRC 110*4882a593Smuzhiyun select BR2_PACKAGE_SKELETON_INIT_OPENRC if BR2_ROOTFS_SKELETON_DEFAULT 111*4882a593Smuzhiyun 112*4882a593Smuzhiyuncomment "openrc needs a toolchain w/ dynamic library" 113*4882a593Smuzhiyun depends on BR2_USE_MMU 114*4882a593Smuzhiyun depends on BR2_STATIC_LIBS 115*4882a593Smuzhiyun 116*4882a593Smuzhiyun# In Buildroot, we decided not to support a split-usr when systemd is 117*4882a593Smuzhiyun# used as an init system. This is a design decision, not a systemd 118*4882a593Smuzhiyun# issue. Thus the select is with BR2_INIT_SYSTEMD (below) rather than 119*4882a593Smuzhiyun# with BR2_PACKAGE_SYSTEMD. 120*4882a593Smuzhiyunconfig BR2_INIT_SYSTEMD 121*4882a593Smuzhiyun bool "systemd" 122*4882a593Smuzhiyun depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS 123*4882a593Smuzhiyun depends on BR2_USE_MMU 124*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS 125*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_USES_GLIBC 126*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_SSP 127*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HAS_THREADS 128*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 129*4882a593Smuzhiyun depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5 130*4882a593Smuzhiyun depends on BR2_HOST_GCC_AT_LEAST_5 131*4882a593Smuzhiyun select BR2_ROOTFS_MERGED_USR 132*4882a593Smuzhiyun select BR2_PACKAGE_SYSTEMD 133*4882a593Smuzhiyun select BR2_PACKAGE_SKELETON_INIT_SYSTEMD if BR2_ROOTFS_SKELETON_DEFAULT 134*4882a593Smuzhiyun 135*4882a593Smuzhiyuncomment "systemd needs a glibc toolchain w/ SSP, headers >= 3.10, host and target gcc >= 5" 136*4882a593Smuzhiyun depends on BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS 137*4882a593Smuzhiyun depends on BR2_USE_MMU 138*4882a593Smuzhiyun depends on !BR2_TOOLCHAIN_USES_GLIBC || \ 139*4882a593Smuzhiyun !BR2_TOOLCHAIN_HAS_SSP || \ 140*4882a593Smuzhiyun !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10 || \ 141*4882a593Smuzhiyun !BR2_TOOLCHAIN_GCC_AT_LEAST_5 || \ 142*4882a593Smuzhiyun !BR2_HOST_GCC_AT_LEAST_5 143*4882a593Smuzhiyun 144*4882a593Smuzhiyunconfig BR2_INIT_NONE 145*4882a593Smuzhiyun bool "None" 146*4882a593Smuzhiyun select BR2_PACKAGE_SKELETON_INIT_NONE if BR2_ROOTFS_SKELETON_DEFAULT 147*4882a593Smuzhiyun help 148*4882a593Smuzhiyun Buildroot will not install any init system. You will 149*4882a593Smuzhiyun have to provide your own, either with a new package 150*4882a593Smuzhiyun or with a rootfs-overlay. 151*4882a593Smuzhiyun 152*4882a593Smuzhiyun# Init systems from br2-external trees, if any 153*4882a593Smuzhiyunsource "$BR2_BASE_DIR/.br2-external.in.init" 154*4882a593Smuzhiyun 155*4882a593Smuzhiyunendchoice 156*4882a593Smuzhiyun 157*4882a593Smuzhiyunconfig BR2_PACKAGE_SYSTEMD_DEFAULT_TARGET 158*4882a593Smuzhiyun string "The default unit systemd starts at bootup" 159*4882a593Smuzhiyun default "multi-user.target" 160*4882a593Smuzhiyun depends on BR2_INIT_SYSTEMD 161*4882a593Smuzhiyun help 162*4882a593Smuzhiyun Specify the name of the unit configuration file to be started 163*4882a593Smuzhiyun at bootup by systemd. Should end in ".target". 164*4882a593Smuzhiyun ex: multi-user.target 165*4882a593Smuzhiyun 166*4882a593Smuzhiyun https://www.freedesktop.org/software/systemd/man/systemd.special.html#default.target 167*4882a593Smuzhiyun 168*4882a593Smuzhiyunchoice 169*4882a593Smuzhiyun prompt "/dev management" if !BR2_INIT_SYSTEMD 170*4882a593Smuzhiyun default BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS 171*4882a593Smuzhiyun 172*4882a593Smuzhiyunconfig BR2_ROOTFS_DEVICE_CREATION_STATIC 173*4882a593Smuzhiyun bool "Static using device table" 174*4882a593Smuzhiyun 175*4882a593Smuzhiyunconfig BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS 176*4882a593Smuzhiyun bool "Dynamic using devtmpfs only" 177*4882a593Smuzhiyun 178*4882a593Smuzhiyunconfig BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV 179*4882a593Smuzhiyun bool "Dynamic using devtmpfs + mdev" 180*4882a593Smuzhiyun select BR2_PACKAGE_BUSYBOX 181*4882a593Smuzhiyun 182*4882a593Smuzhiyunconfig BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV 183*4882a593Smuzhiyun bool "Dynamic using devtmpfs + eudev" 184*4882a593Smuzhiyun depends on BR2_USE_WCHAR # eudev 185*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS 186*4882a593Smuzhiyun depends on BR2_USE_MMU # eudev 187*4882a593Smuzhiyun select BR2_PACKAGE_EUDEV 188*4882a593Smuzhiyun 189*4882a593Smuzhiyuncomment "eudev needs a toolchain w/ wchar, dynamic library" 190*4882a593Smuzhiyun depends on BR2_USE_MMU 191*4882a593Smuzhiyun depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS 192*4882a593Smuzhiyun 193*4882a593Smuzhiyunendchoice 194*4882a593Smuzhiyun 195*4882a593Smuzhiyuncomment "/dev management using udev (from systemd)" 196*4882a593Smuzhiyun depends on BR2_INIT_SYSTEMD 197*4882a593Smuzhiyun 198*4882a593Smuzhiyunconfig BR2_ROOTFS_DEVICE_TABLE 199*4882a593Smuzhiyun string "Path to the permission tables" 200*4882a593Smuzhiyun default "system/device_table.txt" 201*4882a593Smuzhiyun help 202*4882a593Smuzhiyun Specify a space-separated list of permission table locations, 203*4882a593Smuzhiyun that will be passed to the makedevs utility to assign 204*4882a593Smuzhiyun correct owners and permissions on various files in the 205*4882a593Smuzhiyun target filesystem. 206*4882a593Smuzhiyun 207*4882a593Smuzhiyun See package/makedevs/README for details on the usage and 208*4882a593Smuzhiyun syntax of these files. 209*4882a593Smuzhiyun 210*4882a593Smuzhiyunconfig BR2_ROOTFS_STATIC_DEVICE_TABLE 211*4882a593Smuzhiyun string "Path to the device tables" 212*4882a593Smuzhiyun default "system/device_table_dev.txt" 213*4882a593Smuzhiyun depends on BR2_ROOTFS_DEVICE_CREATION_STATIC 214*4882a593Smuzhiyun help 215*4882a593Smuzhiyun Specify a space-separated list of device table locations, 216*4882a593Smuzhiyun that will be passed to the makedevs utility to create all 217*4882a593Smuzhiyun the special device files under /dev. 218*4882a593Smuzhiyun 219*4882a593Smuzhiyun See package/makedevs/README for details on the usage and 220*4882a593Smuzhiyun syntax of these files. 221*4882a593Smuzhiyun 222*4882a593Smuzhiyunconfig BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES 223*4882a593Smuzhiyun bool "support extended attributes in device tables" 224*4882a593Smuzhiyun help 225*4882a593Smuzhiyun Support extended attributes handling in device tables 226*4882a593Smuzhiyun 227*4882a593Smuzhiyunconfig BR2_ROOTFS_MERGED_USR 228*4882a593Smuzhiyun bool "Use symlinks to /usr for /bin, /sbin and /lib" 229*4882a593Smuzhiyun help 230*4882a593Smuzhiyun If you say 'n' here, then /bin, /sbin and /lib and their 231*4882a593Smuzhiyun counterparts in /usr will be separate directories. This 232*4882a593Smuzhiyun is the historical UNIX way. In this case, /usr can be a 233*4882a593Smuzhiyun filesystem on a partition separate from / . 234*4882a593Smuzhiyun 235*4882a593Smuzhiyun If you say 'y' here, then /bin, /sbin and /lib will be 236*4882a593Smuzhiyun symlinks to their counterparts in /usr. In this case, /usr can 237*4882a593Smuzhiyun not be a separate filesystem. 238*4882a593Smuzhiyun 239*4882a593Smuzhiyunif BR2_ROOTFS_SKELETON_DEFAULT 240*4882a593Smuzhiyun 241*4882a593Smuzhiyunconfig BR2_TARGET_ENABLE_ROOT_LOGIN 242*4882a593Smuzhiyun bool "Enable root login with password" 243*4882a593Smuzhiyun default y 244*4882a593Smuzhiyun select BR2_PACKAGE_HOST_MKPASSWD if BR2_TARGET_GENERIC_ROOT_PASSWD != "" 245*4882a593Smuzhiyun help 246*4882a593Smuzhiyun Allow root to log in with a password. 247*4882a593Smuzhiyun 248*4882a593Smuzhiyun If not enabled, root will not be able to log in with a 249*4882a593Smuzhiyun password. However, if you have an ssh server and you add an 250*4882a593Smuzhiyun ssh key, you can still allow root to log in. Alternatively, 251*4882a593Smuzhiyun you can use sudo to become root. 252*4882a593Smuzhiyun 253*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_ROOT_PASSWD 254*4882a593Smuzhiyun string "Root password" 255*4882a593Smuzhiyun default "" 256*4882a593Smuzhiyun depends on BR2_TARGET_ENABLE_ROOT_LOGIN 257*4882a593Smuzhiyun help 258*4882a593Smuzhiyun Set the initial root password. 259*4882a593Smuzhiyun 260*4882a593Smuzhiyun If set to empty (the default), then no root password will be 261*4882a593Smuzhiyun set, and root will need no password to log in. 262*4882a593Smuzhiyun 263*4882a593Smuzhiyun If the password starts with any of $1$, $5$ or $6$, it is 264*4882a593Smuzhiyun considered to be already crypt-encoded with respectively md5, 265*4882a593Smuzhiyun sha256 or sha512. Any other value is taken to be a clear-text 266*4882a593Smuzhiyun value, and is crypt-encoded as per the "Passwords encoding" 267*4882a593Smuzhiyun scheme, above. 268*4882a593Smuzhiyun 269*4882a593Smuzhiyun Note: "$" signs in the hashed password must be doubled. For 270*4882a593Smuzhiyun example, if the hashed password is 271*4882a593Smuzhiyun "$1$longsalt$v35DIIeMo4yUfI23yditq0", then you must enter it 272*4882a593Smuzhiyun as "$$1$$longsalt$$v35DIIeMo4yUfI23yditq0" (this is necessary 273*4882a593Smuzhiyun otherwise make would attempt to interpret the $ as a variable 274*4882a593Smuzhiyun expansion). 275*4882a593Smuzhiyun 276*4882a593Smuzhiyun WARNING! WARNING! 277*4882a593Smuzhiyun The password appears as-is in the .config file, and may appear 278*4882a593Smuzhiyun in the build log! Avoid using a valuable password if either 279*4882a593Smuzhiyun the .config file or the build log may be distributed, or at 280*4882a593Smuzhiyun the very least use a strong cryptographic hash for your 281*4882a593Smuzhiyun password! 282*4882a593Smuzhiyun 283*4882a593Smuzhiyunchoice 284*4882a593Smuzhiyun bool "/bin/sh" 285*4882a593Smuzhiyun default BR2_SYSTEM_BIN_SH_DASH if !BR2_PACKAGE_BUSYBOX 286*4882a593Smuzhiyun help 287*4882a593Smuzhiyun Select which shell will provide /bin/sh. 288*4882a593Smuzhiyun 289*4882a593Smuzhiyunconfig BR2_SYSTEM_BIN_SH_BASH 290*4882a593Smuzhiyun bool "bash" 291*4882a593Smuzhiyun depends on BR2_USE_MMU # bash 292*4882a593Smuzhiyun depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS 293*4882a593Smuzhiyun select BR2_PACKAGE_BASH 294*4882a593Smuzhiyun 295*4882a593Smuzhiyun# busybox has shells that work on noMMU 296*4882a593Smuzhiyunconfig BR2_SYSTEM_BIN_SH_BUSYBOX 297*4882a593Smuzhiyun bool "busybox' default shell" 298*4882a593Smuzhiyun depends on BR2_PACKAGE_BUSYBOX 299*4882a593Smuzhiyun 300*4882a593Smuzhiyunconfig BR2_SYSTEM_BIN_SH_DASH 301*4882a593Smuzhiyun bool "dash" 302*4882a593Smuzhiyun depends on BR2_USE_MMU # dash 303*4882a593Smuzhiyun depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS 304*4882a593Smuzhiyun select BR2_PACKAGE_DASH 305*4882a593Smuzhiyun 306*4882a593Smuzhiyunconfig BR2_SYSTEM_BIN_SH_MKSH 307*4882a593Smuzhiyun bool "mksh" 308*4882a593Smuzhiyun depends on BR2_USE_MMU # mksh 309*4882a593Smuzhiyun depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS 310*4882a593Smuzhiyun select BR2_PACKAGE_MKSH 311*4882a593Smuzhiyun 312*4882a593Smuzhiyunconfig BR2_SYSTEM_BIN_SH_ZSH 313*4882a593Smuzhiyun bool "zsh" 314*4882a593Smuzhiyun depends on BR2_USE_MMU # zsh 315*4882a593Smuzhiyun depends on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS 316*4882a593Smuzhiyun select BR2_PACKAGE_ZSH 317*4882a593Smuzhiyun 318*4882a593Smuzhiyuncomment "bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS" 319*4882a593Smuzhiyun depends on !BR2_PACKAGE_BUSYBOX_SHOW_OTHERS && BR2_PACKAGE_BUSYBOX 320*4882a593Smuzhiyun 321*4882a593Smuzhiyunconfig BR2_SYSTEM_BIN_SH_NONE 322*4882a593Smuzhiyun bool "none" 323*4882a593Smuzhiyun 324*4882a593Smuzhiyunendchoice # /bin/sh 325*4882a593Smuzhiyun 326*4882a593Smuzhiyunconfig BR2_SYSTEM_BIN_SH 327*4882a593Smuzhiyun string 328*4882a593Smuzhiyun default "bash" if BR2_SYSTEM_BIN_SH_BASH 329*4882a593Smuzhiyun default "dash" if BR2_SYSTEM_BIN_SH_DASH 330*4882a593Smuzhiyun default "mksh" if BR2_SYSTEM_BIN_SH_MKSH 331*4882a593Smuzhiyun default "zsh" if BR2_SYSTEM_BIN_SH_ZSH 332*4882a593Smuzhiyun 333*4882a593Smuzhiyunchoice 334*4882a593Smuzhiyun prompt "Run a shell on serial console after boot" 335*4882a593Smuzhiyun default BR2_TARGET_SERIAL_SHELL_SH if BR2_PACKAGE_ROCKCHIP 336*4882a593Smuzhiyun help 337*4882a593Smuzhiyun Select a shell to use. 338*4882a593Smuzhiyun 339*4882a593Smuzhiyunconfig BR2_TARGET_SERIAL_SHELL_GETTY 340*4882a593Smuzhiyun bool "/sbin/getty (login prompt)" 341*4882a593Smuzhiyun select BR2_TARGET_GENERIC_GETTY 342*4882a593Smuzhiyun 343*4882a593Smuzhiyunconfig BR2_TARGET_SERIAL_SHELL_SH 344*4882a593Smuzhiyun bool "/bin/sh" 345*4882a593Smuzhiyun 346*4882a593Smuzhiyunconfig BR2_TARGET_SERIAL_SHELL_LOGIN 347*4882a593Smuzhiyun bool "/bin/login" 348*4882a593Smuzhiyun 349*4882a593Smuzhiyunconfig BR2_TARGET_SERIAL_SHELL_NONE 350*4882a593Smuzhiyun bool "none" 351*4882a593Smuzhiyun 352*4882a593Smuzhiyunendchoice 353*4882a593Smuzhiyun 354*4882a593Smuzhiyunmenuconfig BR2_TARGET_GENERIC_GETTY 355*4882a593Smuzhiyun bool "Run a getty (login prompt) after boot" 356*4882a593Smuzhiyun depends on BR2_TARGET_SERIAL_SHELL_GETTY 357*4882a593Smuzhiyun 358*4882a593Smuzhiyunif BR2_TARGET_GENERIC_GETTY 359*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_PORT 360*4882a593Smuzhiyun string "TTY port" 361*4882a593Smuzhiyun default "console" 362*4882a593Smuzhiyun help 363*4882a593Smuzhiyun Specify a port to run a getty on. 364*4882a593Smuzhiyun 365*4882a593Smuzhiyunchoice 366*4882a593Smuzhiyun prompt "Baudrate" 367*4882a593Smuzhiyun default BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP 368*4882a593Smuzhiyun help 369*4882a593Smuzhiyun Select a baudrate to use. 370*4882a593Smuzhiyun 371*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP 372*4882a593Smuzhiyun bool "keep kernel default" 373*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 374*4882a593Smuzhiyun bool "9600" 375*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 376*4882a593Smuzhiyun bool "19200" 377*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 378*4882a593Smuzhiyun bool "38400" 379*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 380*4882a593Smuzhiyun bool "57600" 381*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 382*4882a593Smuzhiyun bool "115200" 383*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE_1500000 384*4882a593Smuzhiyun bool "1500000" 385*4882a593Smuzhiyunendchoice 386*4882a593Smuzhiyun 387*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_BAUDRATE 388*4882a593Smuzhiyun string 389*4882a593Smuzhiyun default "0" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP 390*4882a593Smuzhiyun default "9600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 391*4882a593Smuzhiyun default "19200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 392*4882a593Smuzhiyun default "38400" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 393*4882a593Smuzhiyun default "57600" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 394*4882a593Smuzhiyun default "115200" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 395*4882a593Smuzhiyun default "1500000" if BR2_TARGET_GENERIC_GETTY_BAUDRATE_1500000 396*4882a593Smuzhiyun 397*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_TERM 398*4882a593Smuzhiyun string "TERM environment variable" 399*4882a593Smuzhiyun default "vt100" 400*4882a593Smuzhiyun # currently observed by all but systemd 401*4882a593Smuzhiyun depends on !BR2_INIT_SYSTEMD 402*4882a593Smuzhiyun help 403*4882a593Smuzhiyun Specify a TERM type. 404*4882a593Smuzhiyun 405*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_GETTY_OPTIONS 406*4882a593Smuzhiyun string "other options to pass to getty" 407*4882a593Smuzhiyun default "" 408*4882a593Smuzhiyun # currently observed by all but systemd 409*4882a593Smuzhiyun depends on !BR2_INIT_SYSTEMD 410*4882a593Smuzhiyun help 411*4882a593Smuzhiyun Any other flags you want to pass to getty, 412*4882a593Smuzhiyun Refer to getty --help for details. 413*4882a593Smuzhiyunendif 414*4882a593Smuzhiyun 415*4882a593Smuzhiyunconfig BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW 416*4882a593Smuzhiyun bool "remount root filesystem read-write during boot" 417*4882a593Smuzhiyun default y 418*4882a593Smuzhiyun help 419*4882a593Smuzhiyun The root filesystem is typically mounted read-only at boot. 420*4882a593Smuzhiyun By default, buildroot remounts it in read-write mode early 421*4882a593Smuzhiyun during the boot process. 422*4882a593Smuzhiyun Say no here if you would rather like your root filesystem to 423*4882a593Smuzhiyun remain read-only. 424*4882a593Smuzhiyun If unsure, say Y. 425*4882a593Smuzhiyun 426*4882a593Smuzhiyunconfig BR2_SYSTEM_DHCP 427*4882a593Smuzhiyun string "Network interface to configure through DHCP" 428*4882a593Smuzhiyun default "" 429*4882a593Smuzhiyun depends on BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || \ 430*4882a593Smuzhiyun BR2_PACKAGE_SYSTEMD_NETWORKD || BR2_PACKAGE_NETIFRC 431*4882a593Smuzhiyun help 432*4882a593Smuzhiyun Enter here the name of the network interface (E.G. eth0) to 433*4882a593Smuzhiyun automatically configure through DHCP at bootup. 434*4882a593Smuzhiyun 435*4882a593Smuzhiyun If left empty, no automatic DHCP requests will take place. 436*4882a593Smuzhiyun 437*4882a593Smuzhiyun For more complicated network setups use an overlay to 438*4882a593Smuzhiyun overwrite /etc/network/interfaces or add a networkd 439*4882a593Smuzhiyun configuration file. 440*4882a593Smuzhiyun 441*4882a593Smuzhiyuncomment "automatic network configuration via DHCP needs ifupdown or busybox or networkd or netifrc" 442*4882a593Smuzhiyun depends on !(BR2_PACKAGE_BUSYBOX || BR2_PACKAGE_IFUPDOWN || \ 443*4882a593Smuzhiyun BR2_PACKAGE_SYSTEMD_NETWORKD || BR2_PACKAGE_NETIFRC) 444*4882a593Smuzhiyun 445*4882a593Smuzhiyunendif # BR2_ROOTFS_SKELETON_DEFAULT 446*4882a593Smuzhiyun 447*4882a593Smuzhiyunconfig BR2_SYSTEM_DEFAULT_PATH 448*4882a593Smuzhiyun string "Set the system's default PATH" 449*4882a593Smuzhiyun default "/usr/bin:/usr/sbin" if BR2_ROOTFS_MERGED_USR 450*4882a593Smuzhiyun default "/bin:/sbin:/usr/bin:/usr/sbin" if !BR2_ROOTFS_MERGED_USR 451*4882a593Smuzhiyun help 452*4882a593Smuzhiyun Sets the system's default PATH. It is being used in 453*4882a593Smuzhiyun /etc/profile in the skeleton-init-common package and by some 454*4882a593Smuzhiyun daemons. 455*4882a593Smuzhiyun 456*4882a593Smuzhiyun The default should work in most cases. 457*4882a593Smuzhiyun 458*4882a593Smuzhiyunconfig BR2_ENABLE_LOCALE_PURGE 459*4882a593Smuzhiyun bool "Purge unwanted locales" 460*4882a593Smuzhiyun default y 461*4882a593Smuzhiyun help 462*4882a593Smuzhiyun Explicitly specify what locales to install on target. If N 463*4882a593Smuzhiyun then all locales supported by packages are installed. 464*4882a593Smuzhiyun 465*4882a593Smuzhiyunconfig BR2_ENABLE_LOCALE_WHITELIST 466*4882a593Smuzhiyun string "Locales to keep" 467*4882a593Smuzhiyun default "C en_US" 468*4882a593Smuzhiyun depends on BR2_ENABLE_LOCALE_PURGE 469*4882a593Smuzhiyun help 470*4882a593Smuzhiyun Whitespace seperated list of locales to allow on target. 471*4882a593Smuzhiyun Locales not listed here will be removed from the target. 472*4882a593Smuzhiyun See 'locale -a' on your host for a list of locales available 473*4882a593Smuzhiyun on your build host, or have a look in /usr/share/locale in 474*4882a593Smuzhiyun the target file system for available locales. 475*4882a593Smuzhiyun 476*4882a593Smuzhiyun Notice that listing a locale here doesn't guarantee that it 477*4882a593Smuzhiyun will be available on the target - That purely depends on the 478*4882a593Smuzhiyun support for that locale in the selected packages. 479*4882a593Smuzhiyun 480*4882a593Smuzhiyunconfig BR2_GENERATE_LOCALE 481*4882a593Smuzhiyun string "Generate locale data" 482*4882a593Smuzhiyun default "" 483*4882a593Smuzhiyun depends on \ 484*4882a593Smuzhiyun (BR2_TOOLCHAIN_BUILDROOT_UCLIBC && BR2_ENABLE_LOCALE) || \ 485*4882a593Smuzhiyun BR2_TOOLCHAIN_USES_GLIBC 486*4882a593Smuzhiyun help 487*4882a593Smuzhiyun Generate support for a list of locales. Locales can be 488*4882a593Smuzhiyun specified with or without encoding, when no encoding is 489*4882a593Smuzhiyun specified, UTF-8 is assumed. Examples of locales: en_US, 490*4882a593Smuzhiyun fr_FR.UTF-8. 491*4882a593Smuzhiyun 492*4882a593Smuzhiyunconfig BR2_SYSTEM_ENABLE_NLS 493*4882a593Smuzhiyun bool "Enable Native Language Support (NLS)" 494*4882a593Smuzhiyun depends on BR2_USE_WCHAR 495*4882a593Smuzhiyun # - glibc has built-in NLS support, but anyway doesn't 496*4882a593Smuzhiyun # support static linking 497*4882a593Smuzhiyun # - musl and uclibc support static linking, but they don't 498*4882a593Smuzhiyun # have built-in NLS support, which is provided by the 499*4882a593Smuzhiyun # libintl library from gettext. The fact that it is a 500*4882a593Smuzhiyun # separate library causes too many problems for static 501*4882a593Smuzhiyun # linking. 502*4882a593Smuzhiyun depends on !BR2_STATIC_LIBS 503*4882a593Smuzhiyun select BR2_PACKAGE_GETTEXT if !BR2_TOOLCHAIN_HAS_FULL_GETTEXT 504*4882a593Smuzhiyun help 505*4882a593Smuzhiyun This option will enable Native Language Support, which will 506*4882a593Smuzhiyun allow software packages to support translations. 507*4882a593Smuzhiyun 508*4882a593Smuzhiyuncomment "NLS support needs a toolchain w/ wchar, dynamic library" 509*4882a593Smuzhiyun depends on !BR2_USE_WCHAR || BR2_STATIC_LIBS 510*4882a593Smuzhiyun 511*4882a593Smuzhiyunconfig BR2_TARGET_TZ_INFO 512*4882a593Smuzhiyun bool "Install timezone info" 513*4882a593Smuzhiyun select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_GLIBC 514*4882a593Smuzhiyun select BR2_PACKAGE_TZDATA if BR2_TOOLCHAIN_USES_MUSL 515*4882a593Smuzhiyun select BR2_PACKAGE_TZ if BR2_TOOLCHAIN_USES_UCLIBC 516*4882a593Smuzhiyun help 517*4882a593Smuzhiyun Say 'y' here to install timezone info. 518*4882a593Smuzhiyun 519*4882a593Smuzhiyunif BR2_TARGET_TZ_INFO 520*4882a593Smuzhiyun 521*4882a593Smuzhiyunconfig BR2_TARGET_TZ_ZONELIST 522*4882a593Smuzhiyun string "timezone list" 523*4882a593Smuzhiyun default "default" 524*4882a593Smuzhiyun help 525*4882a593Smuzhiyun Space-separated list of time zones to compile. 526*4882a593Smuzhiyun 527*4882a593Smuzhiyun The value "default" includes all commonly used time zones. 528*4882a593Smuzhiyun Note that this set consumes around 5.5M for glibc and 2.1M for 529*4882a593Smuzhiyun uClibc. 530*4882a593Smuzhiyun 531*4882a593Smuzhiyun The full list is the list of files in the time zone database 532*4882a593Smuzhiyun source, not including the build and .tab files. 533*4882a593Smuzhiyun 534*4882a593Smuzhiyunconfig BR2_TARGET_LOCALTIME 535*4882a593Smuzhiyun string "default local time" 536*4882a593Smuzhiyun default "Etc/UTC" 537*4882a593Smuzhiyun help 538*4882a593Smuzhiyun The time zone to install as the default local time, expressed 539*4882a593Smuzhiyun as a tzdata location, such as: 540*4882a593Smuzhiyun Etc/UTC (the default) 541*4882a593Smuzhiyun GMT 542*4882a593Smuzhiyun Europe/Paris 543*4882a593Smuzhiyun America/New_York 544*4882a593Smuzhiyun Pacific/Wallis 545*4882a593Smuzhiyun ... 546*4882a593Smuzhiyun 547*4882a593Smuzhiyun Set to empty to not install a default time zone. 548*4882a593Smuzhiyun 549*4882a593Smuzhiyunendif # BR2_TARGET_TZ_INFO 550*4882a593Smuzhiyun 551*4882a593Smuzhiyunconfig BR2_ROOTFS_USERS_TABLES 552*4882a593Smuzhiyun string "Path to the users tables" 553*4882a593Smuzhiyun help 554*4882a593Smuzhiyun Specify a space-separated list of users table locations, 555*4882a593Smuzhiyun that will be passed to the mkusers utility to create 556*4882a593Smuzhiyun users on the system, with home directory, password, etc. 557*4882a593Smuzhiyun 558*4882a593Smuzhiyun See manual for details on the usage and syntax of these files. 559*4882a593Smuzhiyun 560*4882a593Smuzhiyunconfig BR2_ROOTFS_OVERLAY 561*4882a593Smuzhiyun string "Root filesystem overlay directories" 562*4882a593Smuzhiyun default "" 563*4882a593Smuzhiyun help 564*4882a593Smuzhiyun Specify a list of directories that are copied over the target 565*4882a593Smuzhiyun root filesystem after the build has finished and before it is 566*4882a593Smuzhiyun packed into the selected filesystem images. 567*4882a593Smuzhiyun 568*4882a593Smuzhiyun They are copied as-is into the rootfs, excluding files ending 569*4882a593Smuzhiyun with ~ and .git, .svn and .hg directories. 570*4882a593Smuzhiyun 571*4882a593Smuzhiyunconfig BR2_ROOTFS_POST_BUILD_SCRIPT 572*4882a593Smuzhiyun string "Custom scripts to run before creating filesystem images" 573*4882a593Smuzhiyun default "" 574*4882a593Smuzhiyun help 575*4882a593Smuzhiyun Specify a space-separated list of scripts to be run after the 576*4882a593Smuzhiyun build has finished and before Buildroot starts packing the 577*4882a593Smuzhiyun files into selected filesystem images. 578*4882a593Smuzhiyun 579*4882a593Smuzhiyun This gives users the opportunity to do board-specific 580*4882a593Smuzhiyun cleanups, add-ons and the like, so the generated files can be 581*4882a593Smuzhiyun used directly without further processing. 582*4882a593Smuzhiyun 583*4882a593Smuzhiyun These scripts are called with the target directory name as 584*4882a593Smuzhiyun first argument. Make sure the exit code of those scripts are 585*4882a593Smuzhiyun 0, otherwise make will stop after calling them. 586*4882a593Smuzhiyun 587*4882a593Smuzhiyunconfig BR2_ROOTFS_POST_FAKEROOT_SCRIPT 588*4882a593Smuzhiyun string "Custom scripts to run inside the fakeroot environment" 589*4882a593Smuzhiyun default "" 590*4882a593Smuzhiyun help 591*4882a593Smuzhiyun Specify a space-separated list of scripts to be run at the end 592*4882a593Smuzhiyun of the fakeroot script right before the image(s) are actually 593*4882a593Smuzhiyun generated. 594*4882a593Smuzhiyun 595*4882a593Smuzhiyun This gives users the opportunity to do customisations of the 596*4882a593Smuzhiyun content of the rootfs, which would otherwise require root 597*4882a593Smuzhiyun rights. 598*4882a593Smuzhiyun 599*4882a593Smuzhiyun These scripts are called with the target directory name as 600*4882a593Smuzhiyun first argument. The build will fail on the first scripts that 601*4882a593Smuzhiyun exits with a non-zero exit code. 602*4882a593Smuzhiyun 603*4882a593Smuzhiyun Note that Buildroot already provides mechanisms to customise 604*4882a593Smuzhiyun the content of the rootfs: 605*4882a593Smuzhiyun 606*4882a593Smuzhiyun - BR2_ROOTFS_STATIC_DEVICE_TABLE 607*4882a593Smuzhiyun to create arbitrary entries statically in /dev 608*4882a593Smuzhiyun 609*4882a593Smuzhiyun - BR2_ROOTFS_DEVICE_TABLE 610*4882a593Smuzhiyun to set arbitrary permissions as well as extended 611*4882a593Smuzhiyun attributes (such as capabilities) on files and 612*4882a593Smuzhiyun directories, 613*4882a593Smuzhiyun 614*4882a593Smuzhiyun - BR2_ROOTFS_USERS_TABLES: 615*4882a593Smuzhiyun to create arbitrary users and their home directories 616*4882a593Smuzhiyun 617*4882a593Smuzhiyun It is highly recommended to use those mechanisms if possible, 618*4882a593Smuzhiyun rather than using custom fakeroot scripts. 619*4882a593Smuzhiyun 620*4882a593Smuzhiyunconfig BR2_ROOTFS_POST_IMAGE_SCRIPT 621*4882a593Smuzhiyun string "Custom scripts to run after creating filesystem images" 622*4882a593Smuzhiyun default "" 623*4882a593Smuzhiyun help 624*4882a593Smuzhiyun Specify a space-separated list of scripts to be run after 625*4882a593Smuzhiyun the build has finished and after Buildroot has packed the 626*4882a593Smuzhiyun files into selected filesystem images. 627*4882a593Smuzhiyun 628*4882a593Smuzhiyun This can for example be used to call a tool building a 629*4882a593Smuzhiyun firmware image from different images generated by Buildroot, 630*4882a593Smuzhiyun or automatically extract the tarball root filesystem image 631*4882a593Smuzhiyun into some location exported by NFS, or any other custom 632*4882a593Smuzhiyun action. 633*4882a593Smuzhiyun 634*4882a593Smuzhiyun These scripts are called with the images directory name as 635*4882a593Smuzhiyun first argument. The script is executed from the main Buildroot 636*4882a593Smuzhiyun source directory as the current directory. 637*4882a593Smuzhiyun 638*4882a593Smuzhiyunconfig BR2_ROOTFS_POST_SCRIPT_ARGS 639*4882a593Smuzhiyun string "Extra arguments passed to custom scripts" 640*4882a593Smuzhiyun depends on BR2_ROOTFS_POST_BUILD_SCRIPT != "" \ 641*4882a593Smuzhiyun || BR2_ROOTFS_POST_FAKEROOT_SCRIPT != "" \ 642*4882a593Smuzhiyun || BR2_ROOTFS_POST_IMAGE_SCRIPT != "" 643*4882a593Smuzhiyun help 644*4882a593Smuzhiyun Pass these additional arguments to each post-build or 645*4882a593Smuzhiyun post-image scripts. 646*4882a593Smuzhiyun 647*4882a593Smuzhiyun Note that all the post-build and post-image scripts will be 648*4882a593Smuzhiyun passed the same set of arguments, you can not pass different 649*4882a593Smuzhiyun arguments to each script. 650*4882a593Smuzhiyun 651*4882a593Smuzhiyun Note also, as stated in their respective help text, that the 652*4882a593Smuzhiyun first argument to each post-build or post-image script is the 653*4882a593Smuzhiyun target directory / images directory. The arguments in this 654*4882a593Smuzhiyun option will be passed *after* those. 655*4882a593Smuzhiyun 656*4882a593Smuzhiyunendmenu 657