b1e07d6d79
The individual binaries option of busybox allows for the applets that would usually be symlinks to be built as individual applications that link against a shared library. This feature is needed for SELinux to allow the applications to run under the correct SELinux context. The patch being added allows the individual applications to be installed and will be upstreamed to the busybox developers. The initial work for this change was done by Thomas Petazzoni <thomas.petazzoni@free-electrons.com>. Signed-off-by: Clayton Shotwell <clayton.shotwell@rockwellcollins.com> Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com> Signed-off-by: Niranjan Reddy <niranjan.reddy@rockwellcollins.com> Signed-off-by: Bryce Ferguson <bryce.ferguson@rockwellcollins.com> [Thomas: - add help text in Config.in option. - rename BUSYBOX_CONFIGURE_INDIVIDUAL_BINARIES to BUSYBOX_SET_INDIVIDUAL_BINARIES to be consistent with other variables. - call BUSYBOX_INSTALL_INDIVIDUAL_BINARIES in BUSYBOX_INSTALL_TARGET_CMDS, not in BUSYBOX_INSTALL_INIT_SYSV.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [Arnout: - revert to the "optional file" approach in makedevs; - reword Config.in comment text to match our usual pattern; - abbreviate comment about how suid applets are found a little; - all applets are optional (each one may have been unselected from the busybox config).] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> [Thomas: remove /usr/share/udhcpc/default.script from BUSYBOX_PERMISSIONS.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
108 lines
3.3 KiB
Plaintext
108 lines
3.3 KiB
Plaintext
config BR2_PACKAGE_BUSYBOX
|
|
bool "BusyBox"
|
|
default y
|
|
help
|
|
The Swiss Army Knife of embedded Linux. It slices, it dices,
|
|
it makes Julian Fries.
|
|
|
|
http://busybox.net/
|
|
|
|
Most people will answer Y.
|
|
|
|
if BR2_PACKAGE_BUSYBOX
|
|
|
|
config BR2_PACKAGE_BUSYBOX_CONFIG
|
|
string "BusyBox configuration file to use?"
|
|
default "package/busybox/busybox.config"
|
|
help
|
|
Some people may wish to use their own modified BusyBox
|
|
configuration file, and will specify their config file
|
|
location with this option.
|
|
|
|
Most people will just use the default BusyBox configuration
|
|
file.
|
|
|
|
config BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES
|
|
string "Additional BusyBox configuration fragment files"
|
|
help
|
|
A space-separated list of configuration fragment files,
|
|
that will be merged to the main BusyBox configuration file.
|
|
|
|
# This option is not an option of Busybox, it can be selected even
|
|
# if Busybox is not enabled.
|
|
config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
|
bool "Show packages that are also provided by busybox"
|
|
help
|
|
Show packages in menuconfig that are potentially also provided
|
|
by busybox.
|
|
|
|
config BR2_PACKAGE_BUSYBOX_SELINUX
|
|
bool "Enable SELinux support"
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC
|
|
depends on !BR2_arc
|
|
select BR2_PACKAGE_LIBSELINUX
|
|
help
|
|
Enable SELinux support in BusyBox. Please note that
|
|
depending on your BusyBox configuration and the SELinux
|
|
policy implementation, you may want to also enable
|
|
BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES.
|
|
|
|
For instance, if your BusyBox configuration only uses a
|
|
couple of minor BusyBox features, such as simple command
|
|
line utilities, the symlinked version of BusyBox can be used
|
|
to save space. If BusyBox provides more features, such as
|
|
crond, then individual binaries have to be enabled for the
|
|
SELinux type transitions to occur properly.
|
|
|
|
config BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES
|
|
bool "Individual binaries"
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on !BR2_bfin # libbusybox.so link issue
|
|
help
|
|
By default (i.e with this option disabled), Busybox is
|
|
installed as a single binary in /bin/busybox and all applets
|
|
are a symbolic link to /bin/busybox.
|
|
|
|
With this option enabled, each applet is a separate binary,
|
|
which is needed for proper operation with SELinux.
|
|
|
|
comment "Busybox individual binaries need a toolchain w/ dynamic library"
|
|
depends on BR2_STATIC_LIBS
|
|
depends on !BR2_bfin
|
|
|
|
config BR2_PACKAGE_BUSYBOX_WATCHDOG
|
|
bool "Install the watchdog daemon startup script"
|
|
help
|
|
Install the watchdog daemon startup script,
|
|
that just start at the boot the busybox watchdog daemon.
|
|
|
|
if BR2_PACKAGE_BUSYBOX_WATCHDOG
|
|
|
|
config BR2_PACKAGE_BUSYBOX_WATCHDOG_PERIOD
|
|
string "Delay between reset"
|
|
default "5"
|
|
help
|
|
Select the number of seconds between each
|
|
reset of the watchdog (default 5)
|
|
|
|
Use ms suffix to specify milliseconds (e.g. 500ms)
|
|
|
|
endif
|
|
|
|
endif
|
|
|
|
if !BR2_PACKAGE_BUSYBOX # kconfig doesn't support else
|
|
|
|
comment "You may need to enable other packages to get a working system"
|
|
comment "You better know what you're doing!"
|
|
|
|
# This option is not an option of Busybox, it can be selected even if
|
|
# Busybox is not enabled. This dummy option ensures that packages that
|
|
# depend on BR2_PACKAGE_BUSYBOX_SHOW_OTHERS are visible when Busybox
|
|
# is disabled.
|
|
config BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
|
|
default y
|
|
endif
|