├── .dockerignore ├── .gitignore ├── scripts ├── ci ├── build ├── download ├── patch ├── entry └── package ├── package ├── conntrack-tools │ ├── conntrack-tools.hash │ ├── 0100-static.patch │ ├── conntrack-tools.mk │ └── Config.in ├── fuse-overlayfs │ └── Config.in ├── fakeroot │ └── 0100-fixup.patch ├── ipset │ └── 0001-ipset-Fix-implicit-declaration-of-function-basename.patch └── busybox │ ├── 0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch │ ├── 0001-networking-libiproute-use-linux-if_packet.h-instead-.patch │ └── busybox.config ├── patches ├── 0100-package-linux-headers-install.patch ├── 0100-package-nfs-utils-fixup.patch ├── 0100-package-libfuse3-static.patch ├── 0100-package-iptables-static.patch ├── 0100-package-libtirpc-fixup.patch ├── 0100-package-iproute2-fixup.patch └── 0100-package-libcap-fixup.patch ├── Makefile ├── Dockerfile.dapper ├── iptables-detect ├── README.md ├── xtables-set-mode.sh └── iptables-detect.sh ├── README.md ├── Vagrantfile ├── .drone.yml └── LICENSE /.dockerignore: -------------------------------------------------------------------------------- 1 | ./build 2 | ./dist 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /dist 2 | /artifacts 3 | /build 4 | /.dapper 5 | .bashrc 6 | .bash_history 7 | .bash_profile 8 | .less* 9 | .subversion 10 | .vim/ 11 | .viminfo 12 | .wget* 13 | -------------------------------------------------------------------------------- /scripts/ci: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eux 4 | 5 | cd "$(dirname "$0")" 6 | 7 | echo "Buildarch is $BUILDARCH" 8 | 9 | ./download 10 | ./patch 11 | ./build 12 | ./package 13 | -------------------------------------------------------------------------------- /scripts/build: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eux 4 | 5 | pushd /usr/src/buildroot 6 | 7 | V="${VERBOSE:=0}" 8 | 9 | unset VERBOSE 10 | 11 | make -s V="${V}" olddefconfig 12 | make -s V="${V}" 13 | 14 | popd 15 | -------------------------------------------------------------------------------- /package/conntrack-tools/conntrack-tools.hash: -------------------------------------------------------------------------------- 1 | # Hashes from: http://www.netfilter.org/projects/conntrack-tools/files/conntrack-tools-1.4.7.tar.bz2.sha256sum 2 | sha256 099debcf57e81690ced57f516b493588a73518f48c14d656f823b29b4fc24b5d conntrack-tools-1.4.7.tar.bz2 3 | -------------------------------------------------------------------------------- /scripts/download: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eux -o pipefail 4 | 5 | : "${BUILDROOT_VERSION:=2025.02.5}" 6 | export BUILDROOT_VERSION 7 | 8 | mkdir -p /usr/src/buildroot 9 | 10 | curl -sfL https://github.com/buildroot/buildroot/archive/refs/tags/${BUILDROOT_VERSION}.tar.gz | tar xz -C /usr/src/buildroot --strip-components=1 11 | -------------------------------------------------------------------------------- /scripts/patch: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eux 4 | 5 | shopt -s nullglob 6 | 7 | rsync -amv /source/package/ /usr/src/buildroot/package/ 8 | 9 | pushd /usr/src/buildroot 10 | for PATCH in /source/patches/*.patch; do 11 | patch -t -p1 -i "${PATCH}" 12 | done 13 | popd 14 | 15 | cat /source/buildroot/{"${BUILDARCH}config",config} > /usr/src/buildroot/.config 16 | -------------------------------------------------------------------------------- /package/conntrack-tools/0100-static.patch: -------------------------------------------------------------------------------- 1 | --- a/src/read_config_yy.y 2018-05-01 09:34:20.409429996 +0000 2 | +++ b/src/read_config_yy.y 2019-01-05 02:15:40.926362996 +0000 3 | @@ -31,7 +31,6 @@ 4 | #include "helper.h" 5 | #include "stack.h" 6 | #include 7 | -#include 8 | #include 9 | #include 10 | 11 | -------------------------------------------------------------------------------- /patches/0100-package-linux-headers-install.patch: -------------------------------------------------------------------------------- 1 | --- buildroot.orig/package/linux-headers/linux-headers.mk 2 | +++ buildroot/package/linux-headers/linux-headers.mk 3 | @@ -159,4 +159,9 @@ 4 | LINUX_HEADERS_POST_INSTALL_STAGING_HOOKS += LINUX_HEADERS_CHECK_VERSION 5 | endif 6 | 7 | +define LINUX_HEADERS_OVERLAY 8 | + rsync -am --relative $(STAGING_DIR)/./usr/include / 9 | +endef 10 | +LINUX_HEADERS_POST_INSTALL_STAGING_HOOKS += LINUX_HEADERS_OVERLAY 11 | + 12 | $(eval $(generic-package)) 13 | -------------------------------------------------------------------------------- /scripts/entry: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | shopt -qs extglob 5 | 6 | # VERBOSE truthiness is kinda ... verbose 7 | : "${VERBOSE:=1}" 8 | VERBOSE="${VERBOSE,,}" 9 | VERBOSE="${VERBOSE:0:4}" 10 | VERBOSE="${VERBOSE/@(true|yes|[1-9])/1}" 11 | VERBOSE="${VERBOSE}${#VERBOSE}" 12 | VERBOSE="${VERBOSE/y1/1}" 13 | VERBOSE="${VERBOSE:0:1}" 14 | VERBOSE="${VERBOSE/[a-z]/0}" 15 | 16 | set -x 17 | 18 | if [ -e ./scripts/"$1" ]; then 19 | ./scripts/"$@" 20 | else 21 | exec "$@" 22 | fi 23 | 24 | if [ "$DAPPER_UID" -ne "-1" ]; then 25 | chown -R $DAPPER_UID:$DAPPER_GID . 26 | fi 27 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | ARCH ?= amd64 2 | ALL_ARCH = amd64 arm64 arm ppc64le s390x riscv64 3 | 4 | export BUILDARCH = $(ARCH) 5 | export VERBOSE ?= 1 6 | 7 | TARGETS := $(shell ls scripts) 8 | 9 | .dapper: 10 | @echo Downloading dapper 11 | @curl -sL https://releases.rancher.com/dapper/latest/dapper-$$(uname -s)-$$(uname -m) > .dapper.tmp 12 | @@chmod +x .dapper.tmp 13 | @./.dapper.tmp -v 14 | @mv .dapper.tmp .dapper 15 | 16 | $(TARGETS): .dapper 17 | ./.dapper $@ 18 | 19 | all-build: $(addprefix sub-build-,$(ALL_ARCH)) 20 | 21 | sub-build-%: 22 | $(MAKE) ARCH=$* ci 23 | 24 | .DEFAULT_GOAL := ci 25 | 26 | .PHONY: $(TARGETS) 27 | -------------------------------------------------------------------------------- /patches/0100-package-nfs-utils-fixup.patch: -------------------------------------------------------------------------------- 1 | diff --git a/package/nfs-utils/nfs-utils.mk b/package/nfs-utils/nfs-utils.mk 2 | index ed205a26b1..73561dff3a 100644 3 | --- a/package/nfs-utils/nfs-utils.mk 4 | +++ b/package/nfs-utils/nfs-utils.mk 5 | @@ -14,6 +14,9 @@ NFS_UTILS_CPE_ID_VENDOR = linux-nfs 6 | NFS_UTILS_AUTORECONF = YES 7 | 8 | NFS_UTILS_CONF_ENV = knfsd_cv_bsd_signals=no 9 | +# getrpcby{number,name} are only provided if 'GQ' is defined 10 | +NFS_UTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DGQ" 11 | +HOST_NFS_UTILS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DGQ" 12 | 13 | NFS_UTILS_CONF_OPTS = \ 14 | --enable-tirpc \ 15 | -------------------------------------------------------------------------------- /package/fuse-overlayfs/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_FUSE_OVERLAYFS 2 | bool "fuse-overlayfs" 3 | depends on BR2_USE_MMU # libfuse3 4 | depends on BR2_TOOLCHAIN_HAS_THREADS # libfuse3 5 | depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 6 | select BR2_PACKAGE_LIBFUSE3 7 | help 8 | FUSE-overlayfs is an implementation of overlay+shiftfs in 9 | FUSE, intended to be used for rootless containers. 10 | 11 | http://github.com/containers/fuse-overlayfs 12 | 13 | comment "fuse-overlayfs needs a toolchain w/ threads, headers >= 3.15" 14 | depends on BR2_USE_MMU 15 | depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 16 | -------------------------------------------------------------------------------- /patches/0100-package-libfuse3-static.patch: -------------------------------------------------------------------------------- 1 | --- buildroot.orig/package/libfuse3/Config.in 2 | +++ buildroot/package/libfuse3/Config.in 3 | @@ -1,6 +1,5 @@ 4 | config BR2_PACKAGE_LIBFUSE3 5 | bool "libfuse3" 6 | - depends on !BR2_STATIC_LIBS 7 | depends on BR2_TOOLCHAIN_HAS_THREADS 8 | depends on BR2_USE_MMU # fork() 9 | help 10 | @@ -9,6 +8,6 @@ 11 | 12 | https://github.com/libfuse/libfuse 13 | 14 | -comment "libfuse3 needs a toolchain w/ threads, dynamic library" 15 | +comment "libfuse3 needs a toolchain w/ threads" 16 | depends on BR2_USE_MMU 17 | - depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS 18 | + depends on !BR2_TOOLCHAIN_HAS_THREADS 19 | -------------------------------------------------------------------------------- /patches/0100-package-iptables-static.patch: -------------------------------------------------------------------------------- 1 | --- buildroot.orig/package/iptables/Config.in 2020-12-27 14:23:34.000000000 +0000 2 | +++ buildroot/package/iptables/Config.in 2021-02-17 23:46:17.941771567 +0000 3 | @@ -16,7 +16,6 @@ 4 | config BR2_PACKAGE_IPTABLES_NFTABLES 5 | bool "nftables compat" 6 | # uses dlfcn 7 | - depends on !BR2_STATIC_LIBS 8 | depends on BR2_USE_WCHAR 9 | depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 10 | select BR2_PACKAGE_LIBMNL 11 | @@ -26,6 +25,6 @@ 12 | 13 | comment "nftables compat needs a toolchain w/ wchar, dynamic library, headers >= 3.12" 14 | depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \ 15 | - !BR2_USE_WCHAR || BR2_STATIC_LIBS 16 | + !BR2_USE_WCHAR 17 | 18 | endif 19 | -------------------------------------------------------------------------------- /package/fakeroot/0100-fixup.patch: -------------------------------------------------------------------------------- 1 | https://gitlab.alpinelinux.org/alpine/aports/-/raw/v3.14.2/main/fakeroot/fakeroot-no64.patch 2 | --- a/libfakeroot.c 3 | +++ b/libfakeroot.c 4 | @@ -81,12 +81,14 @@ 5 | #define SEND_STAT64(a,b,c) send_stat64(a,b,c) 6 | #define SEND_GET_STAT(a,b) send_get_stat(a,b) 7 | #define SEND_GET_STAT64(a,b) send_get_stat64(a,b) 8 | +#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b,c) 9 | #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b,c) 10 | #else 11 | #define SEND_STAT(a,b,c) send_stat(a,b) 12 | #define SEND_STAT64(a,b,c) send_stat64(a,b) 13 | #define SEND_GET_STAT(a,b) send_get_stat(a) 14 | #define SEND_GET_STAT64(a,b) send_get_stat64(a) 15 | +#define SEND_GET_XATTR(a,b,c) send_get_xattr(a,b) 16 | #define SEND_GET_XATTR64(a,b,c) send_get_xattr64(a,b) 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /package/conntrack-tools/conntrack-tools.mk: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # conntrack-tools 4 | # 5 | ################################################################################ 6 | 7 | CONNTRACK_TOOLS_VERSION = 1.4.7 8 | CONNTRACK_TOOLS_SOURCE = conntrack-tools-$(CONNTRACK_TOOLS_VERSION).tar.bz2 9 | CONNTRACK_TOOLS_SITE = http://www.netfilter.org/projects/conntrack-tools/files 10 | CONNTRACK_TOOLS_DEPENDENCIES = host-pkgconf \ 11 | libnetfilter_conntrack libnetfilter_cthelper libnetfilter_cttimeout \ 12 | libnetfilter_queue host-bison host-flex 13 | CONNTRACK_TOOLS_LICENSE = GPL-2.0+ 14 | CONNTRACK_TOOLS_LICENSE_FILES = COPYING 15 | 16 | ifeq ($(BR2_PACKAGE_LIBTIRPC),y) 17 | CONNTRACK_TOOLS_DEPENDENCIES += libtirpc 18 | endif 19 | 20 | CONNTRACK_TOOLS_CONF_OPTS = "--disable-cthelper" 21 | 22 | $(eval $(autotools-package)) 23 | -------------------------------------------------------------------------------- /patches/0100-package-libtirpc-fixup.patch: -------------------------------------------------------------------------------- 1 | diff --git a/package/libtirpc/libtirpc.mk b/package/libtirpc/libtirpc.mk 2 | index 179adc97d0..4cf5c92ede 100644 3 | --- a/package/libtirpc/libtirpc.mk 4 | +++ b/package/libtirpc/libtirpc.mk 5 | @@ -12,9 +12,13 @@ LIBTIRPC_LICENSE_FILES = COPYING 6 | LIBTIRPC_CPE_ID_VENDOR = libtirpc_project 7 | 8 | LIBTIRPC_INSTALL_STAGING = YES 9 | +LIBTIRPC_INSTALL_TARGET = NO 10 | + 11 | +LIBTIRPC_DEPENDENCIES = host-libtirpc host-pkgconf 12 | +HOST_LIBTIRPC_DEPENDENCIES = host-pkgconf libcap 13 | 14 | # getrpcby{number,name} are only provided if 'GQ' is defined 15 | -LIBTIRPC_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -DGQ" 16 | +LIBTIRPC_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -I$(wildcard $(CONFIG_DIR)/output/per-package/libcap/host/*/sysroot/usr/include) -DGQ" 17 | 18 | ifeq ($(BR2_PACKAGE_LIBTIRPC_GSS),y) 19 | LIBTIRPC_CONF_ENV += KRB5_CONFIG=$(STAGING_DIR)/usr/bin/krb5-config 20 | -------------------------------------------------------------------------------- /package/conntrack-tools/Config.in: -------------------------------------------------------------------------------- 1 | config BR2_PACKAGE_CONNTRACK_TOOLS 2 | bool "conntrack-tools" 3 | depends on BR2_USE_MMU # fork() 4 | depends on BR2_TOOLCHAIN_HAS_NATIVE_RPC || BR2_TOOLCHAIN_HAS_THREADS # libtirpc 5 | select BR2_PACKAGE_LIBNETFILTER_CONNTRACK 6 | select BR2_PACKAGE_LIBNETFILTER_CTHELPER 7 | select BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT 8 | select BR2_PACKAGE_LIBNETFILTER_QUEUE 9 | select BR2_PACKAGE_LIBTIRPC if !BR2_TOOLCHAIN_HAS_NATIVE_RPC 10 | help 11 | The conntrack-tools are a set of tools targeted at 12 | system administrators. 13 | They are conntrack, the userspace command line interface, 14 | and conntrackd, the userspace daemon. 15 | 16 | http://www.netfilter.org/projects/conntrack-tools/ 17 | 18 | comment "conntrack-tools needs a toolchain w/ threads, dynamic library" 19 | depends on BR2_USE_MMU 20 | depends on !(BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_HAS_NATIVE_RPC) 21 | -------------------------------------------------------------------------------- /patches/0100-package-iproute2-fixup.patch: -------------------------------------------------------------------------------- 1 | --- buildroot.orig/package/iproute2/iproute2.mk 2 | +++ buildroot/package/iproute2/iproute2.mk 3 | @@ -45,6 +45,8 @@ 4 | IPROUTE2_CONFIGURE_OPTS += --libbpf_force off 5 | endif 6 | 7 | +export LINUX_HEADERS="$(wildcard $(CONFIG_DIR)/output/per-package/linux-headers/host/*/sysroot/usr/include)" 8 | + 9 | define IPROUTE2_CONFIGURE_CMDS 10 | cd $(@D) && $(TARGET_CONFIGURE_OPTS) ./configure \ 11 | $(IPROUTE2_CONFIGURE_OPTS) 12 | @@ -57,7 +59,7 @@ 13 | define IPROUTE2_BUILD_CMDS 14 | $(TARGET_MAKE_ENV) LDFLAGS="$(TARGET_LDFLAGS)" \ 15 | CFLAGS="$(IPROUTE2_CFLAGS) -DXT_LIB_DIR=\\\"/usr/lib/xtables\\\"" \ 16 | - CBUILD_CFLAGS="$(HOST_CFLAGS)" $(MAKE) V=1 LIBDB_LIBS=-lpthread \ 17 | + CBUILD_CFLAGS="$(HOST_CFLAGS) -I$(LINUX_HEADERS)" $(MAKE) V=1 LIBDB_LIBS=-lpthread \ 18 | DBM_INCLUDE="$(STAGING_DIR)/usr/include" \ 19 | SHARED_LIBS="$(if $(BR2_STATIC_LIBS),n,y)" -C $(@D) 20 | endef 21 | -------------------------------------------------------------------------------- /patches/0100-package-libcap-fixup.patch: -------------------------------------------------------------------------------- 1 | diff --git a/package/libcap/libcap.mk b/package/libcap/libcap.mk 2 | index 91e02638e2..62de6e9b77 100644 3 | --- a/package/libcap/libcap.mk 4 | +++ b/package/libcap/libcap.mk 5 | @@ -11,10 +11,10 @@ LIBCAP_LICENSE = GPL-2.0 or BSD-3-Clause 6 | LIBCAP_LICENSE_FILES = License 7 | LIBCAP_CPE_ID_VENDOR = libcap_project 8 | 9 | -LIBCAP_DEPENDENCIES = host-gperf 10 | +LIBCAP_DEPENDENCIES = host-gperf linux-headers 11 | LIBCAP_INSTALL_STAGING = YES 12 | 13 | -HOST_LIBCAP_DEPENDENCIES = host-gperf 14 | +HOST_LIBCAP_DEPENDENCIES = host-gperf linux-headers 15 | 16 | LIBCAP_MAKE_FLAGS = \ 17 | CROSS_COMPILE="$(TARGET_CROSS)" \ 18 | @@ -60,7 +60,8 @@ HOST_LIBCAP_MAKE_FLAGS = \ 19 | RAISE_SETFCAP=no 20 | 21 | define HOST_LIBCAP_BUILD_CMDS 22 | - $(HOST_MAKE_ENV) $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ 23 | + $(HOST_MAKE_ENV) IPATH="-I$(wildcard $(CONFIG_DIR)/output/per-package/linux-headers/host/*/sysroot/usr/include)" \ 24 | + $(HOST_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ 25 | $(HOST_LIBCAP_MAKE_FLAGS) 26 | endef 27 | 28 | -------------------------------------------------------------------------------- /package/ipset/0001-ipset-Fix-implicit-declaration-of-function-basename.patch: -------------------------------------------------------------------------------- 1 | From 316f592ddc547c28388da4e7cb7c5c8f89cd3591 Mon Sep 17 00:00:00 2001 2 | From: Mike Pagano 3 | Date: Fri, 30 Aug 2024 11:31:19 -0400 4 | Subject: [PATCH] ipset: Fix implicit declaration of function basename 5 | 6 | basename(3) is defined in libgen.h in MUSL. 7 | Include libgen.h where basename(3) is used. 8 | 9 | Signed-off-by: Mike Pagano 10 | Acked-by: Phil Sutter 11 | Signed-off-by: Jozsef Kadlecsik 12 | Signed-off-by: Brad Davidson 13 | --- 14 | src/ipset.c | 1 + 15 | 1 file changed, 1 insertion(+) 16 | 17 | diff --git a/src/ipset.c b/src/ipset.c 18 | index 162f477..d7733bf 100644 19 | --- a/src/ipset.c 20 | +++ b/src/ipset.c 21 | @@ -15,6 +15,7 @@ 22 | #include 23 | #include /* ipset library */ 24 | #include /* translate to nftables */ 25 | +#include 26 | 27 | int 28 | main(int argc, char *argv[]) 29 | -- 30 | 2.43.0 31 | 32 | -------------------------------------------------------------------------------- /Dockerfile.dapper: -------------------------------------------------------------------------------- 1 | FROM registry.suse.com/suse/sle15:15.7 2 | RUN zypper remove -y container-suseconnect && \ 3 | zypper install -y -t pattern devel_basis && \ 4 | zypper remove -y gcc-7 && \ 5 | zypper install -y \ 6 | bc \ 7 | bzip2 \ 8 | ccache \ 9 | cmake \ 10 | gawk \ 11 | gcc14 \ 12 | gcc14-c++ \ 13 | git \ 14 | gzip \ 15 | hostname \ 16 | lz4 \ 17 | mercurial \ 18 | ninja \ 19 | python3 \ 20 | rpcgen \ 21 | rsync \ 22 | subversion \ 23 | unzip \ 24 | wget \ 25 | zstd && \ 26 | ln -sf /usr/bin/gcc-14 /usr/bin/gcc && \ 27 | ln -sf /usr/bin/g++-14 /usr/bin/g++ 28 | 29 | ENV DAPPER_SOURCE /source 30 | ENV DAPPER_OUTPUT ./artifacts ./dist 31 | ENV DAPPER_ENV BUILDARCH BUILDROOT_VERSION VERBOSE 32 | ENV DAPPER_RUN_ARGS -v k3s-root-cache:/var/cache/dl --security-opt seccomp=unconfined 33 | ENV BR2_DL_DIR /var/cache/dl 34 | # Required to build as root, even in Docker 35 | ENV FORCE_UNSAFE_CONFIGURE 1 36 | ENV HOME ${DAPPER_SOURCE} 37 | WORKDIR ${DAPPER_SOURCE} 38 | 39 | ENTRYPOINT ["./scripts/entry"] 40 | CMD ["ci"] 41 | -------------------------------------------------------------------------------- /iptables-detect/README.md: -------------------------------------------------------------------------------- 1 | # iptables-detect 2 | 3 | This is a set of scripts designed to interoperate with the upstream netfilter/iptables 1.8.3 project. The intention of using these scripts is the following: 4 | 5 | ### Requirements: 6 | 1. `xtables-nft-multi` and `xtables-legacy-multi` binaries exist and are in the same folder as the `.sh` scripts 7 | 2. Initially, symlinks are set up for `iptables-detect.sh` from `iptables` `ip6tables` `iptables-restore` `ip6tables-restore` `iptables-save` `ip6tables-save` 8 | 9 | ### Expectations: 10 | When `iptables-detect.sh` is invoked without a symlink in place, it will simply spit out what it detects via what mode. This can be useful for debugging. 11 | 12 | ### More Info 13 | The `iptables-detect.sh` script started out as the base `debian-iptables` script from https://github.com/kubernetes/kubernetes/blob/master/build/debian-iptables/iptables-wrapper but was modified to call a designated script called `xtables-set-mode.sh`. This is due to the fact that the original intention of usage of this script was for `k3s-root`, and we should not be updating system level alternatives. In addition, due to the multi-platform nature of K3s, there was no guarantee that `update-alternatives` would even exist on the underlying host system (let alone `/etc/alternatives`) and as such, we only use system-level alternatives to attempt to detect version. -------------------------------------------------------------------------------- /package/busybox/0002-Makefile.flags-strip-non-l-arguments-returned-by-pkg.patch: -------------------------------------------------------------------------------- 1 | From 59daea82e7b5abcdb42a4f97a0109f14d5a774ea Mon Sep 17 00:00:00 2001 2 | From: Thomas Petazzoni 3 | Date: Mon, 25 Nov 2013 22:51:53 +0100 4 | Subject: [PATCH] Makefile.flags: strip non -l arguments returned by 5 | pkg-config 6 | 7 | Signed-off-by: Thomas Petazzoni 8 | [yann.morin.1998@free.fr: refresh for 1.29.0] 9 | [petr.vorel@gmail.com: refresh for 1.32.0] 10 | Signed-off-by: "Yann E. MORIN" 11 | Signed-off-by: Petr Vorel 12 | --- 13 | Makefile.flags | 4 +++- 14 | 1 file changed, 3 insertions(+), 1 deletion(-) 15 | 16 | diff --git a/Makefile.flags b/Makefile.flags 17 | index 667481983..88d76efec 100644 18 | --- a/Makefile.flags 19 | +++ b/Makefile.flags 20 | @@ -180,7 +180,9 @@ ifeq ($(CONFIG_SELINUX),y) 21 | SELINUX_PC_MODULES = libselinux libsepol 22 | $(eval $(call pkg_check_modules,SELINUX,$(SELINUX_PC_MODULES))) 23 | CPPFLAGS += $(SELINUX_CFLAGS) 24 | -LDLIBS += $(if $(SELINUX_LIBS),$(SELINUX_LIBS:-l%=%),$(SELINUX_PC_MODULES:lib%=%)) 25 | +LDLIBS += $(if $(SELINUX_LIBS),\ 26 | + $(patsubst -l%,%,$(filter -l%,$(SELINUX_LIBS))),\ 27 | + $(SELINUX_PC_MODULES:lib%=%)) 28 | endif 29 | 30 | ifeq ($(CONFIG_FEATURE_NSLOOKUP_BIG),y) 31 | -- 32 | 2.33.0 33 | 34 | -------------------------------------------------------------------------------- /package/busybox/0001-networking-libiproute-use-linux-if_packet.h-instead-.patch: -------------------------------------------------------------------------------- 1 | From 60da1d0763224698008d847eb8ad8d4d8c6f54ff Mon Sep 17 00:00:00 2001 2 | From: Thomas Petazzoni 3 | Date: Sat, 5 Oct 2013 15:55:06 +0200 4 | Subject: [PATCH] networking/libiproute: use instead of 5 | 6 | 7 | The musl C library doesn't provide the since the 8 | corresponding kernel headers already provides the 9 | necessary definitions. Replacing by 10 | also removes the need to include 11 | 12 | 13 | This commit fixes the build of iplink with the musl C library. 14 | 15 | Signed-off-by: Thomas Petazzoni 16 | [Gustavo: update for busybox 1.22.0] 17 | Signed-off-by: Petr Vorel 18 | --- 19 | networking/libiproute/iplink.c | 2 +- 20 | 1 file changed, 1 insertion(+), 1 deletion(-) 21 | 22 | diff --git a/networking/libiproute/iplink.c b/networking/libiproute/iplink.c 23 | index 1a1064bdc..a4c3ad307 100644 24 | --- a/networking/libiproute/iplink.c 25 | +++ b/networking/libiproute/iplink.c 26 | @@ -7,7 +7,7 @@ 27 | */ 28 | #include 29 | /*#include - not needed? */ 30 | -#include 31 | +#include 32 | #include 33 | 34 | #include 35 | -- 36 | 2.33.0 37 | 38 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # k3s-root 2 | ========== 3 | 4 | `k3s-root` is based on https://github.com/buildroot/buildroot and provides the userspace binaries for `rancher/k3s` 5 | 6 | ## Building 7 | 8 | `k3s-root` is dapper powered, which means you should be able to simply `make` on your machine to compile. By default, `make` will compile for `amd64`. If you want to compile for other architectures, you can run commands like: 9 | ``` 10 | make ARCH=arm64 11 | ``` 12 | 13 | or alternatively, if you want to compile all architectures at once, you can run: 14 | ``` 15 | make all-build 16 | ``` 17 | 18 | If it is not the first time you build, delete the directories artifacts/ and dist/ to avoid problems when creating the symbolic link in the package step 19 | 20 | ``` 21 | sudo rm -r artifacts/ dist/ 22 | ``` 23 | 24 | The default way of building this project is through container using dapper. If you want to tinker and have more control over the build process, it is more practical to use Vagrant with the existing Vagrantfile 25 | 26 | ## Upgrading to new buildroot version 27 | 28 | To upgrade to a new buildroot version: 29 | 30 | 1. Check out a new branch for your work: `git checkout -B bump-buildroot origin/master` 31 | 1. Modify the `BUILDROOT_VERSION` in scripts/download 32 | 2. Run `make download` to prepare a Docker image for further work 33 | 4. For each target architecture: 34 | 1. Start a shell in the resulting image: `docker run --rm -it -e BUILDARCH= k3s-root:bump_buildroot /bin/bash` 35 | 2. Run `./scripts/download && ./scripts/patch` 36 | 3. Run `cd /usr/src/buildroot && make olddefconfig` 37 | 4. Outside the container, split changes to the buildroot `.config` into `buildroot/config` and `buildroot/config` 38 | 5. Run `make BUILDARCH=` 39 | 6. Verify if the upgrade worked correctly by comparing the old tarball and the new one. If the same files are there, then you are set. 40 | If the build failed, or some files are missing, you may need to remove or adapt patches or config for the new buildroot version. 41 | -------------------------------------------------------------------------------- /scripts/package: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -eux -o pipefail 4 | 5 | mkdir -p \ 6 | /source/dist \ 7 | /source/artifacts/"${BUILDARCH}"/{bin,etc,xtables-bin} \ 8 | /source/artifacts/"${BUILDARCH}"/bin/aux 9 | 10 | pushd /usr/src 11 | 12 | # copy binaries 13 | cp -d buildroot/output/target/usr/sbin/*tables* "/source/artifacts/${BUILDARCH}/bin/" 14 | cp buildroot/output/target/usr/sbin/{conntrack,ethtool,ipset} "/source/artifacts/${BUILDARCH}/bin/" 15 | cp buildroot/output/target/usr/bin/{coreutils,find,fuse-overlayfs,nsenter,pigz,slirp4netns,xargs} "/source/artifacts/${BUILDARCH}/bin/" 16 | cp buildroot/output/target/sbin/{blkid,ip,losetup} "/source/artifacts/${BUILDARCH}/bin/" 17 | cp buildroot/output/target/bin/busybox "/source/artifacts/${BUILDARCH}/bin/" 18 | cp buildroot/output/target/usr/sbin/nft "/source/artifacts/${BUILDARCH}/bin/aux/" 19 | 20 | cp -r /source/iptables-detect/*.sh "/source/artifacts/${BUILDARCH}/xtables-bin/" 21 | 22 | # setup links 23 | link() { \ 24 | for l in $(find -L buildroot/output/target/ -samefile buildroot/output/target/$1/$2 | xargs -n 1 basename | sort -u | grep -v "^$2\$"); do \ 25 | ln -s "$2" "/source/artifacts/${BUILDARCH}/bin/$l"; \ 26 | done; \ 27 | }; 28 | 29 | link bin busybox; 30 | link usr/bin coreutils; 31 | 32 | ln -sf pigz "/source/artifacts/${BUILDARCH}/bin/unpigz" 33 | rm -f "/source/artifacts/${BUILDARCH}/bin/mount" 34 | rm -f "/source/artifacts/${BUILDARCH}/bin/modprobe" 35 | 36 | ln -sf ../busybox "/source/artifacts/${BUILDARCH}/bin/aux/mount" 37 | ln -sf ../busybox "/source/artifacts/${BUILDARCH}/bin/aux/modprobe" 38 | 39 | mv /source/artifacts/"${BUILDARCH}"/bin/*tables* "/source/artifacts/${BUILDARCH}/xtables-bin/" 40 | for target in iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore; do 41 | ln -sf iptables-detect.sh "/source/artifacts/${BUILDARCH}/xtables-bin/$target" 42 | done 43 | cp -rp /source/artifacts/"${BUILDARCH}"/xtables-bin/* "/source/artifacts/${BUILDARCH}/bin/aux" 44 | 45 | tar cf - -C "/source/artifacts/${BUILDARCH}" ./bin ./etc > "/source/dist/k3s-root-${BUILDARCH}.tar" 46 | tar cf - -C "/source/artifacts/${BUILDARCH}" --transform s/xtables-bin/bin/ ./xtables-bin > "/source/dist/k3s-root-xtables-${BUILDARCH}.tar" 47 | tar -vtf "/source/dist/k3s-root-${BUILDARCH}.tar" 48 | 49 | popd 50 | -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # 3 | # Vagrantfile 4 | # 5 | ################################################################################ 6 | 7 | ### Change here for more memory/cores ### 8 | VM_MEMORY=4096 9 | VM_CORES=4 10 | 11 | PROJECT_DIR="/vbox" 12 | ARCH="amd64" 13 | 14 | plugin_installed = false 15 | required_plugins = %w( vagrant-vbguest ) 16 | 17 | required_plugins.each do |plugin| 18 | unless Vagrant.has_plugin?(plugin) 19 | system "vagrant plugin install #{plugin}" 20 | plugin_installed = true 21 | end 22 | end 23 | 24 | if plugin_installed === true 25 | exec "vagrant #{ARGV.join' '}" 26 | end 27 | 28 | Vagrant.configure('2') do |config| 29 | config.vm.box = 'ubuntu/bionic64' 30 | 31 | config.vm.provider :vmware_fusion do |v, override| 32 | v.vmx['memsize'] = VM_MEMORY 33 | v.vmx['numvcpus'] = VM_CORES 34 | end 35 | 36 | config.vm.synced_folder ".", PROJECT_DIR 37 | 38 | config.vm.provider :virtualbox do |v, override| 39 | v.memory = VM_MEMORY 40 | v.cpus = VM_CORES 41 | end 42 | 43 | config.vm.provision 'shell', privileged: true, inline: 44 | " 45 | sed -i 's|deb http://us.archive.ubuntu.com/ubuntu/|deb mirror://mirrors.ubuntu.com/mirrors.txt|g' /etc/apt/sources.list 46 | dpkg --add-architecture i386 47 | apt-get -q update 48 | apt-get purge -q -y snapd lxcfs lxd ubuntu-core-launcher snap-confine 49 | UCF_FORCE_CONFOLD=1 \ 50 | DEBIAN_FRONTEND=noninteractive \ 51 | apt-get -o 'Dpkg::Options::=--force-confdef' -o 'Dpkg::Options::=--force-confold' -qq -y install \ 52 | build-essential \ 53 | libncurses5-dev \ 54 | git \ 55 | bzr \ 56 | cvs \ 57 | mercurial \ 58 | subversion \ 59 | libc6:i386 \ 60 | unzip \ 61 | bc \ 62 | ccache \ 63 | gcc \ 64 | g++ \ 65 | rsync \ 66 | wget \ 67 | curl \ 68 | ca-certificates \ 69 | ncurses-dev \ 70 | python \ 71 | 72 | apt-get -q -y autoremove 73 | apt-get -q -y clean 74 | update-locale LC_ALL=C 75 | " 76 | 77 | config.vm.provision 'shell', privileged: false, inline: 78 | " 79 | BUILDROOT_VERSION=$(grep BUILDROOT_VERSION #{PROJECT_DIR}/scripts/download | cut -f2 -d=) 80 | echo 'Downloading and extracting buildroot' ${BUILDROOT_VERSION} 81 | sudo mkdir -m 777 -p /usr/src/buildroot 82 | curl -sL https://buildroot.org/downloads/buildroot-${BUILDROOT_VERSION}.tar.bz2 | tar xvjf - -C /usr/src/buildroot --strip-components=1 83 | " 84 | 85 | config.vm.provision 'shell', privileged: false, inline: 86 | " 87 | set -e -x 88 | cd /usr/src/buildroot/ 89 | cat #{PROJECT_DIR}/buildroot/config #{PROJECT_DIR}/buildroot/#{ARCH}config >.config 90 | cp -a #{PROJECT_DIR}/package/. package/ 91 | 92 | # make oldconfig 93 | " 94 | 95 | end 96 | -------------------------------------------------------------------------------- /iptables-detect/xtables-set-mode.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright 2020 Rancher Labs 4 | # 5 | # Licensed under the Apache License, Version 2.0 (the "License"); 6 | # you may not use this file except in compliance with the License. 7 | # You may obtain a copy of the License at 8 | # 9 | # http://www.apache.org/licenses/LICENSE-2.0 10 | # 11 | # Unless required by applicable law or agreed to in writing, software 12 | # distributed under the License is distributed on an "AS IS" BASIS, 13 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | # See the License for the specific language governing permissions and 15 | # limitations under the License. 16 | 17 | # --- helper functions for logs --- 18 | info() { 19 | echo '[INFO] ' "$@" 20 | } 21 | warn() { 22 | echo '[WARN] ' "$@" >&2 23 | } 24 | fatal() { 25 | echo '[ERROR] ' "$@" >&2 26 | exit 1 27 | } 28 | 29 | script_name=xtables-set-mode.sh 30 | 31 | # Validate that we are in the correct k3s-root path 32 | validate() { 33 | # The existence of the iptables-set-mode.sh in the path indicates the directory we should be calling from. 34 | # Don't put this script in your path unless you want this script to overwrite your iptables links. 35 | if [ "${force}" = 0 ]; then 36 | if ! which $script_name >/dev/null; then 37 | fatal "$script_name was not found in PATH" 38 | fi 39 | fi 40 | } 41 | 42 | set_nft() { 43 | base_path=$(dirname $(which $script_name)) 44 | 45 | for i in iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore; do ln -sf "xtables-nft-multi" "$base_path/$i"; done 46 | 47 | exit 48 | } 49 | 50 | set_legacy() { 51 | base_path=$(dirname $(which $script_name)) 52 | 53 | for i in iptables iptables-save iptables-restore ip6tables ip6tables-save ip6tables-restore; do ln -sf "xtables-legacy-multi" "$base_path/$i"; done 54 | 55 | exit 56 | } 57 | 58 | usage() { 59 | echo "usage: $script_name [[--mode nft|legacy] [--force] | [--help]]" 60 | } 61 | 62 | force=0 63 | 64 | if [ -z "$1" ]; then 65 | usage 66 | exit 1 67 | fi 68 | 69 | while [ "$1" != "" ]; do 70 | case $1 in 71 | -m | --mode) 72 | shift 73 | mode=$1 74 | ;; 75 | -f | --force) 76 | force=1 77 | ;; 78 | -h | --help) 79 | usage 80 | exit 81 | ;; 82 | *) 83 | usage 84 | exit 1 85 | ;; 86 | esac 87 | shift 88 | done 89 | 90 | validate 91 | 92 | case $mode in 93 | nft) 94 | set_nft 95 | exit 96 | ;; 97 | legacy) 98 | set_legacy 99 | exit 100 | ;; 101 | *) 102 | usage 103 | exit 1 104 | ;; 105 | esac 106 | -------------------------------------------------------------------------------- /.drone.yml: -------------------------------------------------------------------------------- 1 | --- 2 | kind: pipeline 3 | type: docker 4 | name: k3s-root-linux 5 | 6 | platform: 7 | os: linux 8 | arch: amd64 9 | 10 | steps: 11 | - name: build-amd64 12 | image: rancher/dapper:v0.5.0 13 | resources: 14 | cpu: 8000 15 | memory: 8Gi 16 | commands: 17 | - dapper ci 18 | environment: 19 | BUILDARCH: amd64 20 | VERBOSE: "0" 21 | volumes: 22 | - name: docker 23 | path: /var/run/docker.sock 24 | 25 | - name: fossa-amd64 26 | depends_on: 27 | - build-amd64 28 | image: registry.suse.com/suse/sle15:15.6 29 | failure: ignore 30 | environment: 31 | FOSSA_API_KEY: 32 | from_secret: FOSSA_API_KEY 33 | commands: 34 | - zypper -n install curl unzip 35 | - "curl -H 'Cache-Control: no-cache' https://raw.githubusercontent.com/fossas/spectrometer/master/install.sh | sh" 36 | - fossa analyze 37 | - fossa test 38 | when: 39 | instance: 40 | - drone-publish.k3s.io 41 | ref: 42 | include: 43 | - "refs/heads/master" 44 | event: 45 | - push 46 | - tag 47 | 48 | - name: github-amd64-binary-release 49 | depends_on: 50 | - fossa-amd64 51 | image: plugins/github-release 52 | settings: 53 | api_key: 54 | from_secret: github_token 55 | checksum: 56 | - sha256 57 | checksum_file: CHECKSUMsum-amd64.txt 58 | checksum_flatten: true 59 | files: 60 | - dist/k3s-*amd64.tar 61 | prerelease: true 62 | when: 63 | event: 64 | - tag 65 | instance: 66 | - drone-publish.k3s.io 67 | ref: 68 | - refs/head/master 69 | - refs/tags/* 70 | 71 | - name: build-riscv64 72 | image: rancher/dapper:v0.5.0 73 | resources: 74 | cpu: 8000 75 | memory: 8Gi 76 | commands: 77 | - dapper ci 78 | environment: 79 | BUILDARCH: riscv64 80 | VERBOSE: "0" 81 | volumes: 82 | - name: docker 83 | path: /var/run/docker.sock 84 | 85 | - name: github-riscv64-binary-release 86 | depends_on: 87 | - build-riscv64 88 | image: plugins/github-release 89 | settings: 90 | api_key: 91 | from_secret: github_token 92 | checksum: 93 | - sha256 94 | checksum_file: CHECKSUMsum-riscv64.txt 95 | checksum_flatten: true 96 | files: 97 | - dist/k3s-*riscv64.tar 98 | prerelease: true 99 | when: 100 | event: 101 | - tag 102 | instance: 103 | - drone-publish.k3s.io 104 | ref: 105 | - refs/head/master 106 | - refs/tags/* 107 | 108 | volumes: 109 | - name: docker 110 | host: 111 | path: /var/run/docker.sock 112 | 113 | --- 114 | kind: pipeline 115 | type: docker 116 | name: k3s-root-linux-arm 117 | 118 | platform: 119 | os: linux 120 | arch: arm64 121 | 122 | steps: 123 | - name: build-arm64 124 | image: rancher/dapper:v0.5.0 125 | commands: 126 | - dapper ci 127 | environment: 128 | BUILDARCH: arm64 129 | VERBOSE: "0" 130 | volumes: 131 | - name: docker 132 | path: /var/run/docker.sock 133 | 134 | - name: github-arm64-binary-release 135 | depends_on: 136 | - build-arm64 137 | image: plugins/github-release 138 | settings: 139 | api_key: 140 | from_secret: github_token 141 | checksum: 142 | - sha256 143 | checksum_file: CHECKSUMsum-arm64.txt 144 | checksum_flatten: true 145 | files: 146 | - dist/k3s-*arm64.tar 147 | prerelease: true 148 | when: 149 | event: 150 | - tag 151 | instance: 152 | - drone-publish.k3s.io 153 | ref: 154 | - refs/head/master 155 | - refs/tags/* 156 | 157 | - name: build-arm 158 | image: rancher/dapper:v0.5.0 159 | commands: 160 | - dapper ci 161 | environment: 162 | BUILDARCH: arm 163 | VERBOSE: "0" 164 | volumes: 165 | - name: docker 166 | path: /var/run/docker.sock 167 | 168 | - name: github-arm-binary-release 169 | depends_on: 170 | - build-arm 171 | image: plugins/github-release 172 | settings: 173 | api_key: 174 | from_secret: github_token 175 | checksum: 176 | - sha256 177 | checksum_file: CHECKSUMsum-arm.txt 178 | checksum_flatten: true 179 | files: 180 | - dist/k3s-*arm.tar 181 | prerelease: true 182 | when: 183 | event: 184 | - tag 185 | instance: 186 | - drone-publish.k3s.io 187 | ref: 188 | - refs/head/master 189 | - refs/tags/* 190 | 191 | volumes: 192 | - name: docker 193 | host: 194 | path: /var/run/docker.sock -------------------------------------------------------------------------------- /iptables-detect/iptables-detect.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # Copyright 2019 The Kubernetes Authors. 4 | # Copyright 2020 Rancher Labs 5 | # 6 | # Licensed under the Apache License, Version 2.0 (the "License"); 7 | # you may not use this file except in compliance with the License. 8 | # You may obtain a copy of the License at 9 | # 10 | # http://www.apache.org/licenses/LICENSE-2.0 11 | # 12 | # Unless required by applicable law or agreed to in writing, software 13 | # distributed under the License is distributed on an "AS IS" BASIS, 14 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 15 | # See the License for the specific language governing permissions and 16 | # limitations under the License. 17 | 18 | # This script is only meant for use when operating in a non-containerized 19 | # environment but using non-host binaries (i.e. K3s with k3s-root), but 20 | # will fall back to operating in a containerized environment if necessary. 21 | # It relies on the underlying host system not having cgroups set up for PID 22 | # 1, as this is how it detects whether it is operating in a containerized 23 | # environment or not. 24 | 25 | # Four step process to inspect for which version of iptables we're operating 26 | # with. 27 | # 1. Detect whether we are operating in a containerized environment by inspecting cgroups for PID 1. 28 | # 2. Run iptables-nft-save and iptables-legacy-save to inspect for rules. If 29 | # no rules are found from either binaries, then 30 | # 3. Check /etc/alternatives/iptables on the host to see if there is a symlink 31 | # pointing towards the iptables binary we are using, if there is, run the 32 | # binary and grep it's output for version higher than 1.8 and "legacy" to see 33 | # if we are operating in legacy 34 | # 4. Last chance is to do a rough check of the operating system, to make an 35 | # educated guess at which mode we can operate in. 36 | 37 | # Bugs in iptables-nft 1.8.3 may cause it to get stuck in a loop in 38 | # some circumstances, so we have to run the nft check in a timeout. To 39 | # avoid hitting that timeout, we only bother to even check nft if 40 | # legacy iptables was empty / mostly empty. 41 | 42 | mode=unknown 43 | 44 | detected_via=unknown 45 | 46 | containerized=false 47 | 48 | # Check to see if the nf_tables kernel module is loaded, if it is, we should operate in nft mode, else just fall back to legacy. This should only be run when in a container, ideally the klipper-lb container. 49 | 50 | nft_module_check() { 51 | lsmod | grep "nf_tables" 2> /dev/null 52 | if [ $? = 0 ]; then 53 | detected_via=modules 54 | mode=nft 55 | else 56 | detected_via=modules 57 | mode=legacy 58 | fi 59 | } 60 | 61 | # Check to see if we are containerized -- essentially look at the cgroup for PID 1 and check for things at the end of the "/" which indicates we are in a container (PID 1 shouldn't necessarily have a cgroup) 62 | 63 | # there are two cases when we are containerized -- k3d and things that aren't k3s 64 | is_containerized() { 65 | CGT=$(cat /proc/1/cgroup | grep "cpuset" | awk -F: '{print $3}' | sed 's/\///g'); 66 | if [ -z $CGT ]; then 67 | containerized=false 68 | else 69 | containerized=true 70 | fi 71 | } 72 | 73 | rule_check() { 74 | num_legacy_lines=$( ( 75 | iptables-legacy-save || true 76 | ip6tables-legacy-save || true 77 | ) 2>/dev/null | grep '^-' | wc -l) 78 | if [ "${num_legacy_lines}" -ge 10 ]; then 79 | detected_via=rules 80 | mode=legacy 81 | else 82 | num_nft_lines=$( (timeout 5 sh -c "iptables-nft-save; ip6tables-nft-save" || true) 2>/dev/null | grep '^-' | wc -l) 83 | if [ "${num_legacy_lines}" -gt "${num_nft_lines}" ]; then 84 | detected_via=rules 85 | mode=legacy 86 | elif [ "${num_nft_lines}" = 0 ]; then 87 | mode=unknown 88 | else 89 | detected_via=rules 90 | mode=nft 91 | fi 92 | fi 93 | } 94 | 95 | alternatives_check() { 96 | readlink /etc/alternatives/iptables >/dev/null 97 | 98 | if [ $? = 0 ]; then 99 | readlink /etc/alternatives/iptables | grep -q "nft" 100 | if [ $? = 0 ]; then 101 | detected_via=alternatives 102 | mode=nft 103 | else 104 | detected_via=alternatives 105 | mode=legacy 106 | fi 107 | fi 108 | } 109 | 110 | # we should not run os-detect if we're being run inside of a container 111 | os_detect() { 112 | # perform some very rudimentary platform detection 113 | lsb_dist='' 114 | dist_version='' 115 | if [ -z "$lsb_dist" ] && [ -r /etc/lsb-release ]; then 116 | lsb_dist="$(. /etc/lsb-release && echo "$DISTRIB_ID")" 117 | fi 118 | if [ -z "$lsb_dist" ] && [ -r /etc/debian_version ]; then 119 | lsb_dist='debian' 120 | fi 121 | if [ -z "$lsb_dist" ] && [ -r /etc/fedora-release ]; then 122 | lsb_dist='fedora' 123 | fi 124 | if [ -z "$lsb_dist" ] && [ -r /etc/oracle-release ]; then 125 | lsb_dist='oracleserver' 126 | fi 127 | if [ -z "$lsb_dist" ] && [ -r /etc/centos-release ]; then 128 | lsb_dist='centos' 129 | fi 130 | if [ -z "$lsb_dist" ] && [ -r /etc/redhat-release ]; then 131 | lsb_dist='redhat' 132 | fi 133 | if [ -z "$lsb_dist" ] && [ -r /etc/os-release ]; then 134 | lsb_dist="$(. /etc/os-release && echo "$ID")" 135 | fi 136 | 137 | lsb_dist="$(echo "$lsb_dist" | tr '[:upper:]' '[:lower:]')" 138 | 139 | # Special case redhatenterpriseserver 140 | if [ "${lsb_dist}" = "redhatenterpriseserver" ]; then 141 | # Set it to redhat, it will be changed to centos below anyways 142 | lsb_dist='redhat' 143 | fi 144 | 145 | case "$lsb_dist" in 146 | 147 | alpine) 148 | # Alpine is using iptables-legacy by default when you apk add iptables. There exists a iptables-nft subset of commands but they are not 149 | # used by default. 150 | detected_via=os 151 | mode=legacy 152 | ;; 153 | 154 | ubuntu) 155 | # By default, Ubuntu is using iptables in legacy mode. Ideally, this should have been already caught by the alternatives check. 156 | detected_via=os 157 | mode=legacy 158 | ;; 159 | 160 | debian | raspbian) 161 | dist_version="$(cat /etc/debian_version | sed 's/\/.*//' | sed 's/\..*//')" 162 | # If Debian >= 10 (Buster is 10), then NFT. otherwise, assume it is legacy 163 | if [ "$dist_version" -ge 10 ]; then 164 | detected_via=os 165 | mode=nft 166 | else 167 | detected_via=os 168 | mode=legacy 169 | fi 170 | ;; 171 | 172 | oracleserver) 173 | dist_version="$(. /etc/os-release && echo "$VERSION_ID")" 174 | maj_ver=$(echo $dist_version | sed -E -e "s/^([0-9]+)\.?[0-9]*$/\1/") 175 | if [ "$maj_ver" -ge 8 ]; then 176 | detected_via=os 177 | mode=nft 178 | else 179 | detected_via=os 180 | mode=legacy 181 | fi 182 | ;; 183 | 184 | fedora) 185 | # As of 05/15/2020, all Fedora packages appeared to be still `legacy` by default although there is a `iptables-nft` package that installs the nft iptables, so look for that package. 186 | rpm -qa | grep -q "iptables-nft" 187 | if [ $? = 0 ]; then 188 | detected_via=os 189 | mode=nft 190 | else 191 | detected_via=os 192 | mode=legacy 193 | fi 194 | ;; 195 | 196 | centos | redhat) 197 | dist_version="$(. /etc/os-release && echo "$VERSION_ID")" 198 | maj_ver=$(echo $dist_version | sed -E -e "s/^([0-9]+)\.?[0-9]*$/\1/") 199 | if [ "$maj_ver" -ge 8 ]; then 200 | detected_via=os 201 | mode=nft 202 | else 203 | detected_via=os 204 | mode=legacy 205 | fi 206 | ;; 207 | 208 | # We are running an operating system we don't know, default to nf_tables. 209 | *) 210 | detected_via=unknownos 211 | mode=nft 212 | ;; 213 | 214 | esac 215 | 216 | } 217 | 218 | if [ ! -z "$IPTABLES_MODE" ]; then 219 | mode=${IPTABLES_MODE} 220 | else 221 | rule_check 222 | if [ "${mode}" = "unknown" ]; then 223 | is_containerized 224 | # If we're containerized, then just fall back to legacy, in hopes `ip_tables` is loaded. 225 | if [ "${containerized}" = "true" ]; then 226 | mode=legacy 227 | else 228 | alternatives_check 229 | if [ "${mode}" = "unknown" ]; then 230 | os_detect 231 | fi 232 | fi 233 | fi 234 | fi 235 | 236 | if [ "${mode}" = "unknown" ]; then 237 | exit 1 238 | fi 239 | 240 | if [ "$(basename $0)" = "iptables-detect.sh" ]; then 241 | echo mode is $mode detected via $detected_via and containerized is $containerized 242 | exit 0 243 | fi 244 | 245 | xtables-set-mode.sh -m ${mode} >/dev/null 246 | 247 | if [ $? = 0 ]; then 248 | exec "$0" "$@" 249 | else 250 | exit 1 251 | fi 252 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | Apache License 3 | Version 2.0, January 2004 4 | http://www.apache.org/licenses/ 5 | 6 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 7 | 8 | 1. Definitions. 9 | 10 | "License" shall mean the terms and conditions for use, reproduction, 11 | and distribution as defined by Sections 1 through 9 of this document. 12 | 13 | "Licensor" shall mean the copyright owner or entity authorized by 14 | the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all 17 | other entities that control, are controlled by, or are under common 18 | control with that entity. For the purposes of this definition, 19 | "control" means (i) the power, direct or indirect, to cause the 20 | direction or management of such entity, whether by contract or 21 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 22 | outstanding shares, or (iii) beneficial ownership of such entity. 23 | 24 | "You" (or "Your") shall mean an individual or Legal Entity 25 | exercising permissions granted by this License. 26 | 27 | "Source" form shall mean the preferred form for making modifications, 28 | including but not limited to software source code, documentation 29 | source, and configuration files. 30 | 31 | "Object" form shall mean any form resulting from mechanical 32 | transformation or translation of a Source form, including but 33 | not limited to compiled object code, generated documentation, 34 | and conversions to other media types. 35 | 36 | "Work" shall mean the work of authorship, whether in Source or 37 | Object form, made available under the License, as indicated by a 38 | copyright notice that is included in or attached to the work 39 | (an example is provided in the Appendix below). 40 | 41 | "Derivative Works" shall mean any work, whether in Source or Object 42 | form, that is based on (or derived from) the Work and for which the 43 | editorial revisions, annotations, elaborations, or other modifications 44 | represent, as a whole, an original work of authorship. For the purposes 45 | of this License, Derivative Works shall not include works that remain 46 | separable from, or merely link (or bind by name) to the interfaces of, 47 | the Work and Derivative Works thereof. 48 | 49 | "Contribution" shall mean any work of authorship, including 50 | the original version of the Work and any modifications or additions 51 | to that Work or Derivative Works thereof, that is intentionally 52 | submitted to Licensor for inclusion in the Work by the copyright owner 53 | or by an individual or Legal Entity authorized to submit on behalf of 54 | the copyright owner. For the purposes of this definition, "submitted" 55 | means any form of electronic, verbal, or written communication sent 56 | to the Licensor or its representatives, including but not limited to 57 | communication on electronic mailing lists, source code control systems, 58 | and issue tracking systems that are managed by, or on behalf of, the 59 | Licensor for the purpose of discussing and improving the Work, but 60 | excluding communication that is conspicuously marked or otherwise 61 | designated in writing by the copyright owner as "Not a Contribution." 62 | 63 | "Contributor" shall mean Licensor and any individual or Legal Entity 64 | on behalf of whom a Contribution has been received by Licensor and 65 | subsequently incorporated within the Work. 66 | 67 | 2. Grant of Copyright License. Subject to the terms and conditions of 68 | this License, each Contributor hereby grants to You a perpetual, 69 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 70 | copyright license to reproduce, prepare Derivative Works of, 71 | publicly display, publicly perform, sublicense, and distribute the 72 | Work and such Derivative Works in Source or Object form. 73 | 74 | 3. Grant of Patent License. Subject to the terms and conditions of 75 | this License, each Contributor hereby grants to You a perpetual, 76 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 77 | (except as stated in this section) patent license to make, have made, 78 | use, offer to sell, sell, import, and otherwise transfer the Work, 79 | where such license applies only to those patent claims licensable 80 | by such Contributor that are necessarily infringed by their 81 | Contribution(s) alone or by combination of their Contribution(s) 82 | with the Work to which such Contribution(s) was submitted. If You 83 | institute patent litigation against any entity (including a 84 | cross-claim or counterclaim in a lawsuit) alleging that the Work 85 | or a Contribution incorporated within the Work constitutes direct 86 | or contributory patent infringement, then any patent licenses 87 | granted to You under this License for that Work shall terminate 88 | as of the date such litigation is filed. 89 | 90 | 4. Redistribution. You may reproduce and distribute copies of the 91 | Work or Derivative Works thereof in any medium, with or without 92 | modifications, and in Source or Object form, provided that You 93 | meet the following conditions: 94 | 95 | (a) You must give any other recipients of the Work or 96 | Derivative Works a copy of this License; and 97 | 98 | (b) You must cause any modified files to carry prominent notices 99 | stating that You changed the files; and 100 | 101 | (c) You must retain, in the Source form of any Derivative Works 102 | that You distribute, all copyright, patent, trademark, and 103 | attribution notices from the Source form of the Work, 104 | excluding those notices that do not pertain to any part of 105 | the Derivative Works; and 106 | 107 | (d) If the Work includes a "NOTICE" text file as part of its 108 | distribution, then any Derivative Works that You distribute must 109 | include a readable copy of the attribution notices contained 110 | within such NOTICE file, excluding those notices that do not 111 | pertain to any part of the Derivative Works, in at least one 112 | of the following places: within a NOTICE text file distributed 113 | as part of the Derivative Works; within the Source form or 114 | documentation, if provided along with the Derivative Works; or, 115 | within a display generated by the Derivative Works, if and 116 | wherever such third-party notices normally appear. The contents 117 | of the NOTICE file are for informational purposes only and 118 | do not modify the License. You may add Your own attribution 119 | notices within Derivative Works that You distribute, alongside 120 | or as an addendum to the NOTICE text from the Work, provided 121 | that such additional attribution notices cannot be construed 122 | as modifying the License. 123 | 124 | You may add Your own copyright statement to Your modifications and 125 | may provide additional or different license terms and conditions 126 | for use, reproduction, or distribution of Your modifications, or 127 | for any such Derivative Works as a whole, provided Your use, 128 | reproduction, and distribution of the Work otherwise complies with 129 | the conditions stated in this License. 130 | 131 | 5. Submission of Contributions. Unless You explicitly state otherwise, 132 | any Contribution intentionally submitted for inclusion in the Work 133 | by You to the Licensor shall be under the terms and conditions of 134 | this License, without any additional terms or conditions. 135 | Notwithstanding the above, nothing herein shall supersede or modify 136 | the terms of any separate license agreement you may have executed 137 | with Licensor regarding such Contributions. 138 | 139 | 6. Trademarks. This License does not grant permission to use the trade 140 | names, trademarks, service marks, or product names of the Licensor, 141 | except as required for reasonable and customary use in describing the 142 | origin of the Work and reproducing the content of the NOTICE file. 143 | 144 | 7. Disclaimer of Warranty. Unless required by applicable law or 145 | agreed to in writing, Licensor provides the Work (and each 146 | Contributor provides its Contributions) on an "AS IS" BASIS, 147 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 148 | implied, including, without limitation, any warranties or conditions 149 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 150 | PARTICULAR PURPOSE. You are solely responsible for determining the 151 | appropriateness of using or redistributing the Work and assume any 152 | risks associated with Your exercise of permissions under this License. 153 | 154 | 8. Limitation of Liability. In no event and under no legal theory, 155 | whether in tort (including negligence), contract, or otherwise, 156 | unless required by applicable law (such as deliberate and grossly 157 | negligent acts) or agreed to in writing, shall any Contributor be 158 | liable to You for damages, including any direct, indirect, special, 159 | incidental, or consequential damages of any character arising as a 160 | result of this License or out of the use or inability to use the 161 | Work (including but not limited to damages for loss of goodwill, 162 | work stoppage, computer failure or malfunction, or any and all 163 | other commercial damages or losses), even if such Contributor 164 | has been advised of the possibility of such damages. 165 | 166 | 9. Accepting Warranty or Additional Liability. While redistributing 167 | the Work or Derivative Works thereof, You may choose to offer, 168 | and charge a fee for, acceptance of support, warranty, indemnity, 169 | or other liability obligations and/or rights consistent with this 170 | License. However, in accepting such obligations, You may act only 171 | on Your own behalf and on Your sole responsibility, not on behalf 172 | of any other Contributor, and only if You agree to indemnify, 173 | defend, and hold each Contributor harmless for any liability 174 | incurred by, or claims asserted against, such Contributor by reason 175 | of your accepting any such warranty or additional liability. 176 | 177 | END OF TERMS AND CONDITIONS 178 | 179 | -------------------------------------------------------------------------------- /package/busybox/busybox.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated make config: don't edit 3 | # Busybox version: 1.36.1 4 | # Tue Jul 9 02:15:09 2024 5 | # 6 | CONFIG_HAVE_DOT_CONFIG=y 7 | 8 | # 9 | # Settings 10 | # 11 | CONFIG_DESKTOP=y 12 | # CONFIG_EXTRA_COMPAT is not set 13 | # CONFIG_FEDORA_COMPAT is not set 14 | CONFIG_INCLUDE_SUSv2=y 15 | CONFIG_LONG_OPTS=y 16 | CONFIG_SHOW_USAGE=y 17 | CONFIG_FEATURE_VERBOSE_USAGE=y 18 | # CONFIG_FEATURE_COMPRESS_USAGE is not set 19 | CONFIG_LFS=y 20 | # CONFIG_PAM is not set 21 | CONFIG_FEATURE_DEVPTS=y 22 | CONFIG_FEATURE_UTMP=y 23 | CONFIG_FEATURE_WTMP=y 24 | # CONFIG_FEATURE_PIDFILE is not set 25 | CONFIG_PID_FILE_PATH="" 26 | CONFIG_BUSYBOX=y 27 | CONFIG_FEATURE_SHOW_SCRIPT=y 28 | CONFIG_FEATURE_INSTALLER=y 29 | # CONFIG_INSTALL_NO_USR is not set 30 | CONFIG_FEATURE_SUID=y 31 | # CONFIG_FEATURE_SUID_CONFIG is not set 32 | # CONFIG_FEATURE_SUID_CONFIG_QUIET is not set 33 | # CONFIG_FEATURE_PREFER_APPLETS is not set 34 | CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" 35 | # CONFIG_SELINUX is not set 36 | # CONFIG_FEATURE_CLEAN_UP is not set 37 | CONFIG_FEATURE_SYSLOG_INFO=y 38 | CONFIG_FEATURE_SYSLOG=y 39 | 40 | # 41 | # Build Options 42 | # 43 | # CONFIG_STATIC is not set 44 | # CONFIG_PIE is not set 45 | # CONFIG_NOMMU is not set 46 | # CONFIG_BUILD_LIBBUSYBOX is not set 47 | # CONFIG_FEATURE_LIBBUSYBOX_STATIC is not set 48 | # CONFIG_FEATURE_INDIVIDUAL is not set 49 | # CONFIG_FEATURE_SHARED_BUSYBOX is not set 50 | CONFIG_CROSS_COMPILER_PREFIX="" 51 | CONFIG_SYSROOT="" 52 | CONFIG_EXTRA_CFLAGS="" 53 | CONFIG_EXTRA_LDFLAGS="" 54 | CONFIG_EXTRA_LDLIBS="" 55 | # CONFIG_USE_PORTABLE_CODE is not set 56 | CONFIG_STACK_OPTIMIZATION_386=y 57 | CONFIG_STATIC_LIBGCC=y 58 | 59 | # 60 | # Installation Options ("make install" behavior) 61 | # 62 | CONFIG_INSTALL_APPLET_SYMLINKS=y 63 | # CONFIG_INSTALL_APPLET_HARDLINKS is not set 64 | # CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set 65 | # CONFIG_INSTALL_APPLET_DONT is not set 66 | # CONFIG_INSTALL_SH_APPLET_SYMLINK is not set 67 | # CONFIG_INSTALL_SH_APPLET_HARDLINK is not set 68 | # CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set 69 | CONFIG_PREFIX="./_install" 70 | 71 | # 72 | # Debugging Options 73 | # 74 | # CONFIG_DEBUG is not set 75 | # CONFIG_DEBUG_PESSIMIZE is not set 76 | # CONFIG_DEBUG_SANITIZE is not set 77 | # CONFIG_UNIT_TEST is not set 78 | # CONFIG_WERROR is not set 79 | # CONFIG_WARN_SIMPLE_MSG is not set 80 | CONFIG_NO_DEBUG_LIB=y 81 | # CONFIG_DMALLOC is not set 82 | # CONFIG_EFENCE is not set 83 | 84 | # 85 | # Library Tuning 86 | # 87 | # CONFIG_FEATURE_USE_BSS_TAIL is not set 88 | CONFIG_FLOAT_DURATION=y 89 | CONFIG_FEATURE_RTMINMAX=y 90 | CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS=y 91 | CONFIG_FEATURE_BUFFERS_USE_MALLOC=y 92 | # CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set 93 | # CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set 94 | CONFIG_PASSWORD_MINLEN=6 95 | CONFIG_MD5_SMALL=1 96 | CONFIG_SHA1_SMALL=3 97 | CONFIG_SHA1_HWACCEL=y 98 | CONFIG_SHA256_HWACCEL=y 99 | CONFIG_SHA3_SMALL=1 100 | CONFIG_FEATURE_NON_POSIX_CP=y 101 | # CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set 102 | CONFIG_FEATURE_USE_SENDFILE=y 103 | CONFIG_FEATURE_COPYBUF_KB=4 104 | CONFIG_MONOTONIC_SYSCALL=y 105 | CONFIG_IOCTL_HEX2STR_ERROR=y 106 | CONFIG_FEATURE_EDITING=y 107 | CONFIG_FEATURE_EDITING_MAX_LEN=1024 108 | CONFIG_FEATURE_EDITING_VI=y 109 | CONFIG_FEATURE_EDITING_HISTORY=999 110 | CONFIG_FEATURE_EDITING_SAVEHISTORY=y 111 | # CONFIG_FEATURE_EDITING_SAVE_ON_EXIT is not set 112 | CONFIG_FEATURE_REVERSE_SEARCH=y 113 | CONFIG_FEATURE_TAB_COMPLETION=y 114 | # CONFIG_FEATURE_USERNAME_COMPLETION is not set 115 | CONFIG_FEATURE_EDITING_FANCY_PROMPT=y 116 | CONFIG_FEATURE_EDITING_WINCH=y 117 | # CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set 118 | # CONFIG_LOCALE_SUPPORT is not set 119 | # CONFIG_UNICODE_SUPPORT is not set 120 | # CONFIG_UNICODE_USING_LOCALE is not set 121 | # CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set 122 | CONFIG_SUBST_WCHAR=0 123 | CONFIG_LAST_SUPPORTED_WCHAR=0 124 | # CONFIG_UNICODE_COMBINING_WCHARS is not set 125 | # CONFIG_UNICODE_WIDE_WCHARS is not set 126 | # CONFIG_UNICODE_BIDI_SUPPORT is not set 127 | # CONFIG_UNICODE_NEUTRAL_TABLE is not set 128 | # CONFIG_UNICODE_PRESERVE_BROKEN is not set 129 | # CONFIG_LOOP_CONFIGURE is not set 130 | # CONFIG_NO_LOOP_CONFIGURE is not set 131 | CONFIG_TRY_LOOP_CONFIGURE=y 132 | 133 | # 134 | # Applets 135 | # 136 | 137 | # 138 | # Archival Utilities 139 | # 140 | CONFIG_FEATURE_SEAMLESS_XZ=y 141 | CONFIG_FEATURE_SEAMLESS_LZMA=y 142 | CONFIG_FEATURE_SEAMLESS_BZ2=y 143 | CONFIG_FEATURE_SEAMLESS_GZ=y 144 | CONFIG_FEATURE_SEAMLESS_Z=y 145 | CONFIG_AR=y 146 | # CONFIG_FEATURE_AR_LONG_FILENAMES is not set 147 | CONFIG_FEATURE_AR_CREATE=y 148 | # CONFIG_UNCOMPRESS is not set 149 | CONFIG_GUNZIP=y 150 | CONFIG_ZCAT=y 151 | CONFIG_FEATURE_GUNZIP_LONG_OPTIONS=y 152 | CONFIG_BUNZIP2=y 153 | CONFIG_BZCAT=y 154 | CONFIG_UNLZMA=y 155 | CONFIG_LZCAT=y 156 | CONFIG_LZMA=y 157 | CONFIG_UNXZ=y 158 | CONFIG_XZCAT=y 159 | CONFIG_XZ=y 160 | # CONFIG_BZIP2 is not set 161 | CONFIG_BZIP2_SMALL=0 162 | CONFIG_FEATURE_BZIP2_DECOMPRESS=y 163 | CONFIG_CPIO=y 164 | # CONFIG_FEATURE_CPIO_O is not set 165 | # CONFIG_FEATURE_CPIO_P is not set 166 | # CONFIG_FEATURE_CPIO_IGNORE_DEVNO is not set 167 | # CONFIG_FEATURE_CPIO_RENUMBER_INODES is not set 168 | # CONFIG_DPKG is not set 169 | # CONFIG_DPKG_DEB is not set 170 | CONFIG_GZIP=y 171 | # CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set 172 | CONFIG_GZIP_FAST=0 173 | # CONFIG_FEATURE_GZIP_LEVELS is not set 174 | CONFIG_FEATURE_GZIP_DECOMPRESS=y 175 | # CONFIG_LZOP is not set 176 | CONFIG_UNLZOP=y 177 | CONFIG_LZOPCAT=y 178 | # CONFIG_LZOP_COMPR_HIGH is not set 179 | # CONFIG_RPM is not set 180 | # CONFIG_RPM2CPIO is not set 181 | CONFIG_TAR=y 182 | CONFIG_FEATURE_TAR_LONG_OPTIONS=y 183 | CONFIG_FEATURE_TAR_CREATE=y 184 | # CONFIG_FEATURE_TAR_AUTODETECT is not set 185 | CONFIG_FEATURE_TAR_FROM=y 186 | # CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set 187 | # CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set 188 | CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y 189 | CONFIG_FEATURE_TAR_TO_COMMAND=y 190 | # CONFIG_FEATURE_TAR_UNAME_GNAME is not set 191 | # CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set 192 | # CONFIG_FEATURE_TAR_SELINUX is not set 193 | CONFIG_UNZIP=y 194 | CONFIG_FEATURE_UNZIP_CDF=y 195 | CONFIG_FEATURE_UNZIP_BZIP2=y 196 | CONFIG_FEATURE_UNZIP_LZMA=y 197 | CONFIG_FEATURE_UNZIP_XZ=y 198 | # CONFIG_FEATURE_LZMA_FAST is not set 199 | 200 | # 201 | # Coreutils 202 | # 203 | CONFIG_FEATURE_VERBOSE=y 204 | 205 | # 206 | # Common options for date and touch 207 | # 208 | CONFIG_FEATURE_TIMEZONE=y 209 | 210 | # 211 | # Common options for cp and mv 212 | # 213 | CONFIG_FEATURE_PRESERVE_HARDLINKS=y 214 | 215 | # 216 | # Common options for df, du, ls 217 | # 218 | CONFIG_FEATURE_HUMAN_READABLE=y 219 | CONFIG_BASENAME=y 220 | CONFIG_CAT=y 221 | CONFIG_FEATURE_CATN=y 222 | CONFIG_FEATURE_CATV=y 223 | CONFIG_CHGRP=y 224 | CONFIG_CHMOD=y 225 | CONFIG_CHOWN=y 226 | # CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set 227 | CONFIG_CHROOT=y 228 | CONFIG_CKSUM=y 229 | # CONFIG_CRC32 is not set 230 | # CONFIG_COMM is not set 231 | CONFIG_CP=y 232 | # CONFIG_FEATURE_CP_LONG_OPTIONS is not set 233 | # CONFIG_FEATURE_CP_REFLINK is not set 234 | CONFIG_CUT=y 235 | CONFIG_FEATURE_CUT_REGEX=y 236 | CONFIG_DATE=y 237 | CONFIG_FEATURE_DATE_ISOFMT=y 238 | # CONFIG_FEATURE_DATE_NANO is not set 239 | CONFIG_FEATURE_DATE_COMPAT=y 240 | CONFIG_DD=y 241 | CONFIG_FEATURE_DD_SIGNAL_HANDLING=y 242 | # CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set 243 | CONFIG_FEATURE_DD_IBS_OBS=y 244 | CONFIG_FEATURE_DD_STATUS=y 245 | CONFIG_DF=y 246 | # CONFIG_FEATURE_DF_FANCY is not set 247 | CONFIG_FEATURE_SKIP_ROOTFS=y 248 | CONFIG_DIRNAME=y 249 | CONFIG_DOS2UNIX=y 250 | CONFIG_UNIX2DOS=y 251 | CONFIG_DU=y 252 | CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y 253 | CONFIG_ECHO=y 254 | CONFIG_FEATURE_FANCY_ECHO=y 255 | CONFIG_ENV=y 256 | # CONFIG_EXPAND is not set 257 | # CONFIG_UNEXPAND is not set 258 | CONFIG_EXPR=y 259 | CONFIG_EXPR_MATH_SUPPORT_64=y 260 | CONFIG_FACTOR=y 261 | CONFIG_FALSE=y 262 | CONFIG_FOLD=y 263 | CONFIG_HEAD=y 264 | CONFIG_FEATURE_FANCY_HEAD=y 265 | CONFIG_HOSTID=y 266 | CONFIG_ID=y 267 | # CONFIG_GROUPS is not set 268 | CONFIG_INSTALL=y 269 | CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y 270 | CONFIG_LINK=y 271 | CONFIG_LN=y 272 | CONFIG_LOGNAME=y 273 | CONFIG_LS=y 274 | CONFIG_FEATURE_LS_FILETYPES=y 275 | CONFIG_FEATURE_LS_FOLLOWLINKS=y 276 | CONFIG_FEATURE_LS_RECURSIVE=y 277 | CONFIG_FEATURE_LS_WIDTH=y 278 | CONFIG_FEATURE_LS_SORTFILES=y 279 | CONFIG_FEATURE_LS_TIMESTAMPS=y 280 | CONFIG_FEATURE_LS_USERNAME=y 281 | CONFIG_FEATURE_LS_COLOR=y 282 | CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y 283 | CONFIG_MD5SUM=y 284 | CONFIG_SHA1SUM=y 285 | CONFIG_SHA256SUM=y 286 | CONFIG_SHA512SUM=y 287 | CONFIG_SHA3SUM=y 288 | 289 | # 290 | # Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum 291 | # 292 | CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y 293 | CONFIG_MKDIR=y 294 | CONFIG_MKFIFO=y 295 | CONFIG_MKNOD=y 296 | CONFIG_MKTEMP=y 297 | CONFIG_MV=y 298 | CONFIG_NICE=y 299 | CONFIG_NL=y 300 | CONFIG_NOHUP=y 301 | CONFIG_NPROC=y 302 | CONFIG_OD=y 303 | CONFIG_PASTE=y 304 | CONFIG_PRINTENV=y 305 | CONFIG_PRINTF=y 306 | CONFIG_PWD=y 307 | CONFIG_READLINK=y 308 | CONFIG_FEATURE_READLINK_FOLLOW=y 309 | CONFIG_REALPATH=y 310 | CONFIG_RM=y 311 | CONFIG_RMDIR=y 312 | CONFIG_SEQ=y 313 | CONFIG_SHRED=y 314 | # CONFIG_SHUF is not set 315 | CONFIG_SLEEP=y 316 | CONFIG_FEATURE_FANCY_SLEEP=y 317 | CONFIG_SORT=y 318 | CONFIG_FEATURE_SORT_BIG=y 319 | # CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY is not set 320 | # CONFIG_SPLIT is not set 321 | # CONFIG_FEATURE_SPLIT_FANCY is not set 322 | # CONFIG_STAT is not set 323 | # CONFIG_FEATURE_STAT_FORMAT is not set 324 | # CONFIG_FEATURE_STAT_FILESYSTEM is not set 325 | CONFIG_STTY=y 326 | # CONFIG_SUM is not set 327 | CONFIG_SYNC=y 328 | # CONFIG_FEATURE_SYNC_FANCY is not set 329 | # CONFIG_FSYNC is not set 330 | # CONFIG_TAC is not set 331 | CONFIG_TAIL=y 332 | CONFIG_FEATURE_FANCY_TAIL=y 333 | CONFIG_TEE=y 334 | CONFIG_FEATURE_TEE_USE_BLOCK_IO=y 335 | CONFIG_TEST=y 336 | CONFIG_TEST1=y 337 | CONFIG_TEST2=y 338 | CONFIG_FEATURE_TEST_64=y 339 | # CONFIG_TIMEOUT is not set 340 | CONFIG_TOUCH=y 341 | CONFIG_FEATURE_TOUCH_SUSV3=y 342 | CONFIG_TR=y 343 | CONFIG_FEATURE_TR_CLASSES=y 344 | CONFIG_FEATURE_TR_EQUIV=y 345 | CONFIG_TRUE=y 346 | CONFIG_TRUNCATE=y 347 | # CONFIG_TSORT is not set 348 | CONFIG_TTY=y 349 | CONFIG_UNAME=y 350 | CONFIG_UNAME_OSNAME="GNU/Linux" 351 | CONFIG_BB_ARCH=y 352 | CONFIG_UNIQ=y 353 | CONFIG_UNLINK=y 354 | CONFIG_USLEEP=y 355 | CONFIG_UUDECODE=y 356 | # CONFIG_BASE32 is not set 357 | # CONFIG_BASE64 is not set 358 | CONFIG_UUENCODE=y 359 | CONFIG_WC=y 360 | # CONFIG_FEATURE_WC_LARGE is not set 361 | CONFIG_WHO=y 362 | CONFIG_W=y 363 | # CONFIG_USERS is not set 364 | CONFIG_WHOAMI=y 365 | CONFIG_YES=y 366 | 367 | # 368 | # Console Utilities 369 | # 370 | CONFIG_CHVT=y 371 | CONFIG_CLEAR=y 372 | CONFIG_DEALLOCVT=y 373 | CONFIG_DUMPKMAP=y 374 | # CONFIG_FGCONSOLE is not set 375 | # CONFIG_KBD_MODE is not set 376 | CONFIG_LOADFONT=y 377 | # CONFIG_SETFONT is not set 378 | # CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set 379 | CONFIG_DEFAULT_SETFONT_DIR="" 380 | 381 | # 382 | # Common options for loadfont and setfont 383 | # 384 | CONFIG_FEATURE_LOADFONT_PSF2=y 385 | CONFIG_FEATURE_LOADFONT_RAW=y 386 | CONFIG_LOADKMAP=y 387 | CONFIG_OPENVT=y 388 | CONFIG_RESET=y 389 | CONFIG_RESIZE=y 390 | CONFIG_FEATURE_RESIZE_PRINT=y 391 | CONFIG_SETCONSOLE=y 392 | # CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set 393 | CONFIG_SETKEYCODES=y 394 | CONFIG_SETLOGCONS=y 395 | # CONFIG_SHOWKEY is not set 396 | 397 | # 398 | # Debian Utilities 399 | # 400 | CONFIG_PIPE_PROGRESS=y 401 | CONFIG_RUN_PARTS=y 402 | CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y 403 | # CONFIG_FEATURE_RUN_PARTS_FANCY is not set 404 | CONFIG_START_STOP_DAEMON=y 405 | CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y 406 | CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y 407 | CONFIG_WHICH=y 408 | 409 | # 410 | # klibc-utils 411 | # 412 | # CONFIG_MINIPS is not set 413 | CONFIG_NUKE=y 414 | CONFIG_RESUME=y 415 | CONFIG_RUN_INIT=y 416 | 417 | # 418 | # Editors 419 | # 420 | CONFIG_AWK=y 421 | # CONFIG_FEATURE_AWK_LIBM is not set 422 | CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y 423 | CONFIG_CMP=y 424 | CONFIG_DIFF=y 425 | # CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set 426 | CONFIG_FEATURE_DIFF_DIR=y 427 | # CONFIG_ED is not set 428 | CONFIG_PATCH=y 429 | CONFIG_SED=y 430 | CONFIG_VI=y 431 | CONFIG_FEATURE_VI_MAX_LEN=4096 432 | CONFIG_FEATURE_VI_8BIT=y 433 | CONFIG_FEATURE_VI_COLON=y 434 | CONFIG_FEATURE_VI_COLON_EXPAND=y 435 | CONFIG_FEATURE_VI_YANKMARK=y 436 | CONFIG_FEATURE_VI_SEARCH=y 437 | # CONFIG_FEATURE_VI_REGEX_SEARCH is not set 438 | CONFIG_FEATURE_VI_USE_SIGNALS=y 439 | CONFIG_FEATURE_VI_DOT_CMD=y 440 | CONFIG_FEATURE_VI_READONLY=y 441 | CONFIG_FEATURE_VI_SETOPTS=y 442 | CONFIG_FEATURE_VI_SET=y 443 | CONFIG_FEATURE_VI_WIN_RESIZE=y 444 | CONFIG_FEATURE_VI_ASK_TERMINAL=y 445 | CONFIG_FEATURE_VI_UNDO=y 446 | CONFIG_FEATURE_VI_UNDO_QUEUE=y 447 | CONFIG_FEATURE_VI_UNDO_QUEUE_MAX=256 448 | CONFIG_FEATURE_VI_VERBOSE_STATUS=y 449 | CONFIG_FEATURE_ALLOW_EXEC=y 450 | 451 | # 452 | # Finding Utilities 453 | # 454 | CONFIG_FIND=y 455 | CONFIG_FEATURE_FIND_PRINT0=y 456 | CONFIG_FEATURE_FIND_MTIME=y 457 | CONFIG_FEATURE_FIND_ATIME=y 458 | CONFIG_FEATURE_FIND_CTIME=y 459 | CONFIG_FEATURE_FIND_MMIN=y 460 | CONFIG_FEATURE_FIND_AMIN=y 461 | CONFIG_FEATURE_FIND_CMIN=y 462 | CONFIG_FEATURE_FIND_PERM=y 463 | CONFIG_FEATURE_FIND_TYPE=y 464 | CONFIG_FEATURE_FIND_EXECUTABLE=y 465 | CONFIG_FEATURE_FIND_XDEV=y 466 | CONFIG_FEATURE_FIND_MAXDEPTH=y 467 | CONFIG_FEATURE_FIND_NEWER=y 468 | # CONFIG_FEATURE_FIND_INUM is not set 469 | CONFIG_FEATURE_FIND_SAMEFILE=y 470 | CONFIG_FEATURE_FIND_EXEC=y 471 | CONFIG_FEATURE_FIND_EXEC_PLUS=y 472 | CONFIG_FEATURE_FIND_USER=y 473 | CONFIG_FEATURE_FIND_GROUP=y 474 | CONFIG_FEATURE_FIND_NOT=y 475 | CONFIG_FEATURE_FIND_DEPTH=y 476 | CONFIG_FEATURE_FIND_PAREN=y 477 | CONFIG_FEATURE_FIND_SIZE=y 478 | CONFIG_FEATURE_FIND_PRUNE=y 479 | CONFIG_FEATURE_FIND_QUIT=y 480 | # CONFIG_FEATURE_FIND_DELETE is not set 481 | CONFIG_FEATURE_FIND_EMPTY=y 482 | CONFIG_FEATURE_FIND_PATH=y 483 | CONFIG_FEATURE_FIND_REGEX=y 484 | # CONFIG_FEATURE_FIND_CONTEXT is not set 485 | # CONFIG_FEATURE_FIND_LINKS is not set 486 | CONFIG_GREP=y 487 | CONFIG_EGREP=y 488 | CONFIG_FGREP=y 489 | CONFIG_FEATURE_GREP_CONTEXT=y 490 | # CONFIG_XARGS is not set 491 | # CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set 492 | # CONFIG_FEATURE_XARGS_SUPPORT_QUOTES is not set 493 | # CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT is not set 494 | # CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM is not set 495 | # CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR is not set 496 | # CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL is not set 497 | # CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE is not set 498 | 499 | # 500 | # Init Utilities 501 | # 502 | # CONFIG_BOOTCHARTD is not set 503 | # CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set 504 | # CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set 505 | CONFIG_HALT=y 506 | CONFIG_POWEROFF=y 507 | CONFIG_REBOOT=y 508 | CONFIG_FEATURE_WAIT_FOR_INIT=y 509 | # CONFIG_FEATURE_CALL_TELINIT is not set 510 | CONFIG_TELINIT_PATH="" 511 | CONFIG_INIT=y 512 | CONFIG_LINUXRC=y 513 | CONFIG_FEATURE_USE_INITTAB=y 514 | CONFIG_FEATURE_KILL_REMOVED=y 515 | CONFIG_FEATURE_KILL_DELAY=0 516 | CONFIG_FEATURE_INIT_SCTTY=y 517 | CONFIG_FEATURE_INIT_SYSLOG=y 518 | CONFIG_FEATURE_INIT_QUIET=y 519 | # CONFIG_FEATURE_INIT_COREDUMPS is not set 520 | CONFIG_INIT_TERMINAL_TYPE="linux" 521 | CONFIG_FEATURE_INIT_MODIFY_CMDLINE=y 522 | 523 | # 524 | # Login/Password Management Utilities 525 | # 526 | CONFIG_FEATURE_SHADOWPASSWDS=y 527 | # CONFIG_USE_BB_PWD_GRP is not set 528 | # CONFIG_USE_BB_SHADOW is not set 529 | CONFIG_USE_BB_CRYPT=y 530 | # CONFIG_USE_BB_CRYPT_SHA is not set 531 | # CONFIG_ADD_SHELL is not set 532 | # CONFIG_REMOVE_SHELL is not set 533 | CONFIG_ADDGROUP=y 534 | # CONFIG_FEATURE_ADDUSER_TO_GROUP is not set 535 | CONFIG_ADDUSER=y 536 | # CONFIG_FEATURE_CHECK_NAMES is not set 537 | CONFIG_LAST_ID=60000 538 | CONFIG_FIRST_SYSTEM_ID=100 539 | CONFIG_LAST_SYSTEM_ID=999 540 | # CONFIG_CHPASSWD is not set 541 | CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="md5" 542 | # CONFIG_CRYPTPW is not set 543 | CONFIG_MKPASSWD=y 544 | CONFIG_DELUSER=y 545 | CONFIG_DELGROUP=y 546 | # CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set 547 | CONFIG_GETTY=y 548 | CONFIG_LOGIN=y 549 | # CONFIG_LOGIN_SESSION_AS_CHILD is not set 550 | # CONFIG_LOGIN_SCRIPTS is not set 551 | CONFIG_FEATURE_NOLOGIN=y 552 | CONFIG_FEATURE_SECURETTY=y 553 | CONFIG_PASSWD=y 554 | CONFIG_FEATURE_PASSWD_WEAK_CHECK=y 555 | CONFIG_SU=y 556 | CONFIG_FEATURE_SU_SYSLOG=y 557 | CONFIG_FEATURE_SU_CHECKS_SHELLS=y 558 | # CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY is not set 559 | CONFIG_SULOGIN=y 560 | CONFIG_VLOCK=y 561 | 562 | # 563 | # Linux Ext2 FS Progs 564 | # 565 | CONFIG_CHATTR=y 566 | CONFIG_FSCK=y 567 | CONFIG_LSATTR=y 568 | # CONFIG_TUNE2FS is not set 569 | 570 | # 571 | # Linux Module Utilities 572 | # 573 | # CONFIG_MODPROBE_SMALL is not set 574 | # CONFIG_DEPMOD is not set 575 | CONFIG_INSMOD=y 576 | CONFIG_LSMOD=y 577 | CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y 578 | # CONFIG_MODINFO is not set 579 | CONFIG_MODPROBE=y 580 | # CONFIG_FEATURE_MODPROBE_BLACKLIST is not set 581 | CONFIG_RMMOD=y 582 | 583 | # 584 | # Options common to multiple modutils 585 | # 586 | CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS=y 587 | # CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set 588 | # CONFIG_FEATURE_2_4_MODULES is not set 589 | # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set 590 | # CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set 591 | # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set 592 | # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set 593 | # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set 594 | CONFIG_FEATURE_CHECK_TAINTED_MODULE=y 595 | # CONFIG_FEATURE_INSMOD_TRY_MMAP is not set 596 | CONFIG_FEATURE_MODUTILS_ALIAS=y 597 | CONFIG_FEATURE_MODUTILS_SYMBOLS=y 598 | CONFIG_DEFAULT_MODULES_DIR="/lib/modules" 599 | CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" 600 | 601 | # 602 | # Linux System Utilities 603 | # 604 | # CONFIG_ACPID is not set 605 | # CONFIG_FEATURE_ACPID_COMPAT is not set 606 | # CONFIG_BLKDISCARD is not set 607 | # CONFIG_BLKID is not set 608 | # CONFIG_FEATURE_BLKID_TYPE is not set 609 | # CONFIG_BLOCKDEV is not set 610 | # CONFIG_CAL is not set 611 | CONFIG_CHRT=y 612 | CONFIG_DMESG=y 613 | CONFIG_FEATURE_DMESG_PRETTY=y 614 | CONFIG_EJECT=y 615 | # CONFIG_FEATURE_EJECT_SCSI is not set 616 | CONFIG_FALLOCATE=y 617 | # CONFIG_FATATTR is not set 618 | CONFIG_FBSET=y 619 | CONFIG_FEATURE_FBSET_FANCY=y 620 | CONFIG_FEATURE_FBSET_READMODE=y 621 | CONFIG_FDFORMAT=y 622 | CONFIG_FDISK=y 623 | # CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set 624 | CONFIG_FEATURE_FDISK_WRITABLE=y 625 | # CONFIG_FEATURE_AIX_LABEL is not set 626 | # CONFIG_FEATURE_SGI_LABEL is not set 627 | # CONFIG_FEATURE_SUN_LABEL is not set 628 | # CONFIG_FEATURE_OSF_LABEL is not set 629 | CONFIG_FEATURE_GPT_LABEL=y 630 | CONFIG_FEATURE_FDISK_ADVANCED=y 631 | # CONFIG_FINDFS is not set 632 | CONFIG_FLOCK=y 633 | CONFIG_FDFLUSH=y 634 | CONFIG_FREERAMDISK=y 635 | # CONFIG_FSCK_MINIX is not set 636 | CONFIG_FSFREEZE=y 637 | CONFIG_FSTRIM=y 638 | CONFIG_GETOPT=y 639 | CONFIG_FEATURE_GETOPT_LONG=y 640 | CONFIG_HEXDUMP=y 641 | # CONFIG_HD is not set 642 | CONFIG_XXD=y 643 | CONFIG_HWCLOCK=y 644 | CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y 645 | # CONFIG_IONICE is not set 646 | CONFIG_IPCRM=y 647 | CONFIG_IPCS=y 648 | CONFIG_LAST=y 649 | # CONFIG_FEATURE_LAST_FANCY is not set 650 | CONFIG_LOSETUP=y 651 | CONFIG_LSPCI=y 652 | CONFIG_LSUSB=y 653 | CONFIG_MDEV=y 654 | CONFIG_FEATURE_MDEV_CONF=y 655 | CONFIG_FEATURE_MDEV_RENAME=y 656 | # CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set 657 | CONFIG_FEATURE_MDEV_EXEC=y 658 | # CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set 659 | CONFIG_FEATURE_MDEV_DAEMON=y 660 | CONFIG_MESG=y 661 | CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y 662 | CONFIG_MKE2FS=y 663 | # CONFIG_MKFS_EXT2 is not set 664 | # CONFIG_MKFS_MINIX is not set 665 | # CONFIG_FEATURE_MINIX2 is not set 666 | # CONFIG_MKFS_REISER is not set 667 | CONFIG_MKDOSFS=y 668 | # CONFIG_MKFS_VFAT is not set 669 | CONFIG_MKSWAP=y 670 | # CONFIG_FEATURE_MKSWAP_UUID is not set 671 | CONFIG_MORE=y 672 | CONFIG_MOUNT=y 673 | # CONFIG_FEATURE_MOUNT_FAKE is not set 674 | # CONFIG_FEATURE_MOUNT_VERBOSE is not set 675 | # CONFIG_FEATURE_MOUNT_HELPERS is not set 676 | # CONFIG_FEATURE_MOUNT_LABEL is not set 677 | # CONFIG_FEATURE_MOUNT_NFS is not set 678 | CONFIG_FEATURE_MOUNT_CIFS=y 679 | CONFIG_FEATURE_MOUNT_FLAGS=y 680 | CONFIG_FEATURE_MOUNT_FSTAB=y 681 | CONFIG_FEATURE_MOUNT_OTHERTAB=y 682 | CONFIG_MOUNTPOINT=y 683 | CONFIG_NOLOGIN=y 684 | # CONFIG_NOLOGIN_DEPENDENCIES is not set 685 | CONFIG_NSENTER=y 686 | CONFIG_PIVOT_ROOT=y 687 | CONFIG_RDATE=y 688 | # CONFIG_RDEV is not set 689 | CONFIG_READPROFILE=y 690 | CONFIG_RENICE=y 691 | # CONFIG_REV is not set 692 | # CONFIG_RTCWAKE is not set 693 | # CONFIG_SCRIPT is not set 694 | # CONFIG_SCRIPTREPLAY is not set 695 | CONFIG_SETARCH=y 696 | CONFIG_LINUX32=y 697 | CONFIG_LINUX64=y 698 | CONFIG_SETPRIV=y 699 | CONFIG_FEATURE_SETPRIV_DUMP=y 700 | CONFIG_FEATURE_SETPRIV_CAPABILITIES=y 701 | CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES=y 702 | CONFIG_SETSID=y 703 | CONFIG_SWAPON=y 704 | # CONFIG_FEATURE_SWAPON_DISCARD is not set 705 | # CONFIG_FEATURE_SWAPON_PRI is not set 706 | CONFIG_SWAPOFF=y 707 | CONFIG_FEATURE_SWAPONOFF_LABEL=y 708 | CONFIG_SWITCH_ROOT=y 709 | # CONFIG_TASKSET is not set 710 | # CONFIG_FEATURE_TASKSET_FANCY is not set 711 | # CONFIG_FEATURE_TASKSET_CPULIST is not set 712 | CONFIG_UEVENT=y 713 | CONFIG_UMOUNT=y 714 | CONFIG_FEATURE_UMOUNT_ALL=y 715 | # CONFIG_UNSHARE is not set 716 | # CONFIG_WALL is not set 717 | 718 | # 719 | # Common options for mount/umount 720 | # 721 | CONFIG_FEATURE_MOUNT_LOOP=y 722 | CONFIG_FEATURE_MOUNT_LOOP_CREATE=y 723 | # CONFIG_FEATURE_MTAB_SUPPORT is not set 724 | CONFIG_VOLUMEID=y 725 | 726 | # 727 | # Filesystem/Volume identification 728 | # 729 | # CONFIG_FEATURE_VOLUMEID_BCACHE is not set 730 | # CONFIG_FEATURE_VOLUMEID_BTRFS is not set 731 | # CONFIG_FEATURE_VOLUMEID_CRAMFS is not set 732 | CONFIG_FEATURE_VOLUMEID_EROFS=y 733 | CONFIG_FEATURE_VOLUMEID_EXFAT=y 734 | CONFIG_FEATURE_VOLUMEID_EXT=y 735 | CONFIG_FEATURE_VOLUMEID_F2FS=y 736 | CONFIG_FEATURE_VOLUMEID_FAT=y 737 | # CONFIG_FEATURE_VOLUMEID_HFS is not set 738 | # CONFIG_FEATURE_VOLUMEID_ISO9660 is not set 739 | # CONFIG_FEATURE_VOLUMEID_JFS is not set 740 | # CONFIG_FEATURE_VOLUMEID_LFS is not set 741 | # CONFIG_FEATURE_VOLUMEID_LINUXRAID is not set 742 | # CONFIG_FEATURE_VOLUMEID_LINUXSWAP is not set 743 | # CONFIG_FEATURE_VOLUMEID_LUKS is not set 744 | CONFIG_FEATURE_VOLUMEID_MINIX=y 745 | # CONFIG_FEATURE_VOLUMEID_NILFS is not set 746 | # CONFIG_FEATURE_VOLUMEID_NTFS is not set 747 | # CONFIG_FEATURE_VOLUMEID_OCFS2 is not set 748 | # CONFIG_FEATURE_VOLUMEID_REISERFS is not set 749 | # CONFIG_FEATURE_VOLUMEID_ROMFS is not set 750 | # CONFIG_FEATURE_VOLUMEID_SQUASHFS is not set 751 | # CONFIG_FEATURE_VOLUMEID_SYSV is not set 752 | CONFIG_FEATURE_VOLUMEID_UBIFS=y 753 | # CONFIG_FEATURE_VOLUMEID_UDF is not set 754 | # CONFIG_FEATURE_VOLUMEID_XFS is not set 755 | 756 | # 757 | # Miscellaneous Utilities 758 | # 759 | # CONFIG_ADJTIMEX is not set 760 | # CONFIG_ASCII is not set 761 | # CONFIG_BBCONFIG is not set 762 | # CONFIG_FEATURE_COMPRESS_BBCONFIG is not set 763 | CONFIG_BC=y 764 | CONFIG_DC=y 765 | CONFIG_FEATURE_DC_BIG=y 766 | # CONFIG_FEATURE_DC_LIBM is not set 767 | CONFIG_FEATURE_BC_INTERACTIVE=y 768 | CONFIG_FEATURE_BC_LONG_OPTIONS=y 769 | # CONFIG_BEEP is not set 770 | CONFIG_FEATURE_BEEP_FREQ=0 771 | CONFIG_FEATURE_BEEP_LENGTH_MS=0 772 | # CONFIG_CHAT is not set 773 | # CONFIG_FEATURE_CHAT_NOFAIL is not set 774 | # CONFIG_FEATURE_CHAT_TTY_HIFI is not set 775 | # CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set 776 | # CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set 777 | # CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set 778 | # CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set 779 | # CONFIG_FEATURE_CHAT_CLR_ABORT is not set 780 | # CONFIG_CONSPY is not set 781 | CONFIG_CROND=y 782 | # CONFIG_FEATURE_CROND_D is not set 783 | # CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set 784 | CONFIG_FEATURE_CROND_SPECIAL_TIMES=y 785 | CONFIG_FEATURE_CROND_DIR="/var/spool/cron" 786 | CONFIG_CRONTAB=y 787 | # CONFIG_DEVFSD is not set 788 | # CONFIG_DEVFSD_MODLOAD is not set 789 | # CONFIG_DEVFSD_FG_NP is not set 790 | # CONFIG_DEVFSD_VERBOSE is not set 791 | # CONFIG_FEATURE_DEVFS is not set 792 | CONFIG_DEVMEM=y 793 | # CONFIG_FBSPLASH is not set 794 | # CONFIG_FLASH_ERASEALL is not set 795 | # CONFIG_FLASH_LOCK is not set 796 | # CONFIG_FLASH_UNLOCK is not set 797 | # CONFIG_FLASHCP is not set 798 | CONFIG_HDPARM=y 799 | CONFIG_FEATURE_HDPARM_GET_IDENTITY=y 800 | # CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set 801 | # CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set 802 | # CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set 803 | # CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set 804 | # CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set 805 | CONFIG_HEXEDIT=y 806 | CONFIG_I2CGET=y 807 | CONFIG_I2CSET=y 808 | CONFIG_I2CDUMP=y 809 | CONFIG_I2CDETECT=y 810 | CONFIG_I2CTRANSFER=y 811 | # CONFIG_INOTIFYD is not set 812 | CONFIG_LESS=y 813 | CONFIG_FEATURE_LESS_MAXLINES=9999999 814 | CONFIG_FEATURE_LESS_BRACKETS=y 815 | CONFIG_FEATURE_LESS_FLAGS=y 816 | CONFIG_FEATURE_LESS_TRUNCATE=y 817 | # CONFIG_FEATURE_LESS_MARKS is not set 818 | CONFIG_FEATURE_LESS_REGEXP=y 819 | # CONFIG_FEATURE_LESS_WINCH is not set 820 | # CONFIG_FEATURE_LESS_ASK_TERMINAL is not set 821 | # CONFIG_FEATURE_LESS_DASHCMD is not set 822 | # CONFIG_FEATURE_LESS_LINENUMS is not set 823 | # CONFIG_FEATURE_LESS_RAW is not set 824 | # CONFIG_FEATURE_LESS_ENV is not set 825 | CONFIG_LSSCSI=y 826 | CONFIG_MAKEDEVS=y 827 | # CONFIG_FEATURE_MAKEDEVS_LEAF is not set 828 | CONFIG_FEATURE_MAKEDEVS_TABLE=y 829 | # CONFIG_MAN is not set 830 | CONFIG_MICROCOM=y 831 | CONFIG_MIM=y 832 | CONFIG_MT=y 833 | # CONFIG_NANDWRITE is not set 834 | # CONFIG_NANDDUMP is not set 835 | CONFIG_PARTPROBE=y 836 | # CONFIG_RAIDAUTORUN is not set 837 | # CONFIG_READAHEAD is not set 838 | # CONFIG_RFKILL is not set 839 | CONFIG_RUNLEVEL=y 840 | # CONFIG_RX is not set 841 | # CONFIG_SEEDRNG is not set 842 | CONFIG_SETFATTR=y 843 | CONFIG_SETSERIAL=y 844 | CONFIG_STRINGS=y 845 | CONFIG_TIME=y 846 | # CONFIG_TREE is not set 847 | CONFIG_TS=y 848 | # CONFIG_TTYSIZE is not set 849 | # CONFIG_UBIATTACH is not set 850 | # CONFIG_UBIDETACH is not set 851 | # CONFIG_UBIMKVOL is not set 852 | # CONFIG_UBIRMVOL is not set 853 | # CONFIG_UBIRSVOL is not set 854 | # CONFIG_UBIUPDATEVOL is not set 855 | CONFIG_UBIRENAME=y 856 | # CONFIG_VOLNAME is not set 857 | CONFIG_WATCHDOG=y 858 | # CONFIG_FEATURE_WATCHDOG_OPEN_TWICE is not set 859 | 860 | # 861 | # Networking Utilities 862 | # 863 | CONFIG_FEATURE_IPV6=y 864 | # CONFIG_FEATURE_UNIX_LOCAL is not set 865 | CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y 866 | # CONFIG_VERBOSE_RESOLUTION_ERRORS is not set 867 | # CONFIG_FEATURE_ETC_NETWORKS is not set 868 | # CONFIG_FEATURE_ETC_SERVICES is not set 869 | CONFIG_FEATURE_HWIB=y 870 | # CONFIG_FEATURE_TLS_SHA1 is not set 871 | CONFIG_ARP=y 872 | CONFIG_ARPING=y 873 | # CONFIG_BRCTL is not set 874 | # CONFIG_FEATURE_BRCTL_FANCY is not set 875 | # CONFIG_FEATURE_BRCTL_SHOW is not set 876 | CONFIG_DNSD=y 877 | CONFIG_ETHER_WAKE=y 878 | # CONFIG_FTPD is not set 879 | # CONFIG_FEATURE_FTPD_WRITE is not set 880 | # CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set 881 | # CONFIG_FEATURE_FTPD_AUTHENTICATION is not set 882 | # CONFIG_FTPGET is not set 883 | # CONFIG_FTPPUT is not set 884 | # CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set 885 | CONFIG_HOSTNAME=y 886 | CONFIG_DNSDOMAINNAME=y 887 | # CONFIG_HTTPD is not set 888 | CONFIG_FEATURE_HTTPD_PORT_DEFAULT=0 889 | # CONFIG_FEATURE_HTTPD_RANGES is not set 890 | # CONFIG_FEATURE_HTTPD_SETUID is not set 891 | # CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set 892 | # CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set 893 | # CONFIG_FEATURE_HTTPD_CGI is not set 894 | # CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set 895 | # CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set 896 | # CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set 897 | # CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set 898 | # CONFIG_FEATURE_HTTPD_PROXY is not set 899 | # CONFIG_FEATURE_HTTPD_GZIP is not set 900 | # CONFIG_FEATURE_HTTPD_ETAG is not set 901 | # CONFIG_FEATURE_HTTPD_LAST_MODIFIED is not set 902 | # CONFIG_FEATURE_HTTPD_DATE is not set 903 | # CONFIG_FEATURE_HTTPD_ACL_IP is not set 904 | CONFIG_IFCONFIG=y 905 | CONFIG_FEATURE_IFCONFIG_STATUS=y 906 | CONFIG_FEATURE_IFCONFIG_SLIP=y 907 | CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y 908 | CONFIG_FEATURE_IFCONFIG_HW=y 909 | # CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set 910 | # CONFIG_IFENSLAVE is not set 911 | # CONFIG_IFPLUGD is not set 912 | CONFIG_IFUP=y 913 | CONFIG_IFDOWN=y 914 | CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" 915 | CONFIG_FEATURE_IFUPDOWN_IP=y 916 | CONFIG_FEATURE_IFUPDOWN_IPV4=y 917 | CONFIG_FEATURE_IFUPDOWN_IPV6=y 918 | CONFIG_FEATURE_IFUPDOWN_MAPPING=y 919 | # CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set 920 | CONFIG_INETD=y 921 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO=y 922 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD=y 923 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME=y 924 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME=y 925 | CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN=y 926 | # CONFIG_FEATURE_INETD_RPC is not set 927 | CONFIG_IP=y 928 | CONFIG_IPADDR=y 929 | CONFIG_IPLINK=y 930 | CONFIG_IPROUTE=y 931 | CONFIG_IPTUNNEL=y 932 | CONFIG_IPRULE=y 933 | CONFIG_IPNEIGH=y 934 | CONFIG_FEATURE_IP_ADDRESS=y 935 | CONFIG_FEATURE_IP_LINK=y 936 | CONFIG_FEATURE_IP_ROUTE=y 937 | CONFIG_FEATURE_IP_ROUTE_DIR="/etc/iproute2" 938 | CONFIG_FEATURE_IP_TUNNEL=y 939 | CONFIG_FEATURE_IP_RULE=y 940 | CONFIG_FEATURE_IP_NEIGH=y 941 | # CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set 942 | # CONFIG_IPCALC is not set 943 | # CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set 944 | # CONFIG_FEATURE_IPCALC_FANCY is not set 945 | # CONFIG_FAKEIDENTD is not set 946 | CONFIG_NAMEIF=y 947 | # CONFIG_FEATURE_NAMEIF_EXTENDED is not set 948 | # CONFIG_NBDCLIENT is not set 949 | # CONFIG_NC is not set 950 | # CONFIG_NETCAT is not set 951 | # CONFIG_NC_SERVER is not set 952 | # CONFIG_NC_EXTRA is not set 953 | # CONFIG_NC_110_COMPAT is not set 954 | CONFIG_NETSTAT=y 955 | # CONFIG_FEATURE_NETSTAT_WIDE is not set 956 | # CONFIG_FEATURE_NETSTAT_PRG is not set 957 | CONFIG_NSLOOKUP=y 958 | CONFIG_FEATURE_NSLOOKUP_BIG=y 959 | CONFIG_FEATURE_NSLOOKUP_LONG_OPTIONS=y 960 | # CONFIG_NTPD is not set 961 | # CONFIG_FEATURE_NTPD_SERVER is not set 962 | # CONFIG_FEATURE_NTPD_CONF is not set 963 | # CONFIG_FEATURE_NTP_AUTH is not set 964 | CONFIG_PING=y 965 | # CONFIG_PING6 is not set 966 | CONFIG_FEATURE_FANCY_PING=y 967 | # CONFIG_PSCAN is not set 968 | CONFIG_ROUTE=y 969 | # CONFIG_SLATTACH is not set 970 | # CONFIG_SSL_CLIENT is not set 971 | CONFIG_TC=y 972 | CONFIG_FEATURE_TC_INGRESS=y 973 | # CONFIG_TCPSVD is not set 974 | # CONFIG_UDPSVD is not set 975 | CONFIG_TELNET=y 976 | CONFIG_FEATURE_TELNET_TTYPE=y 977 | CONFIG_FEATURE_TELNET_AUTOLOGIN=y 978 | CONFIG_FEATURE_TELNET_WIDTH=y 979 | # CONFIG_TELNETD is not set 980 | # CONFIG_FEATURE_TELNETD_STANDALONE is not set 981 | CONFIG_FEATURE_TELNETD_PORT_DEFAULT=0 982 | # CONFIG_FEATURE_TELNETD_INETD_WAIT is not set 983 | CONFIG_TFTP=y 984 | # CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set 985 | CONFIG_FEATURE_TFTP_HPA_COMPAT=y 986 | # CONFIG_TFTPD is not set 987 | CONFIG_FEATURE_TFTP_GET=y 988 | CONFIG_FEATURE_TFTP_PUT=y 989 | CONFIG_FEATURE_TFTP_BLOCKSIZE=y 990 | # CONFIG_TFTP_DEBUG is not set 991 | # CONFIG_TLS is not set 992 | CONFIG_TRACEROUTE=y 993 | # CONFIG_TRACEROUTE6 is not set 994 | # CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set 995 | # CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set 996 | # CONFIG_TUNCTL is not set 997 | # CONFIG_FEATURE_TUNCTL_UG is not set 998 | CONFIG_VCONFIG=y 999 | CONFIG_WGET=y 1000 | CONFIG_FEATURE_WGET_LONG_OPTIONS=y 1001 | CONFIG_FEATURE_WGET_STATUSBAR=y 1002 | CONFIG_FEATURE_WGET_FTP=y 1003 | CONFIG_FEATURE_WGET_AUTHENTICATION=y 1004 | CONFIG_FEATURE_WGET_TIMEOUT=y 1005 | # CONFIG_FEATURE_WGET_HTTPS is not set 1006 | # CONFIG_FEATURE_WGET_OPENSSL is not set 1007 | # CONFIG_WHOIS is not set 1008 | # CONFIG_ZCIP is not set 1009 | # CONFIG_UDHCPD is not set 1010 | # CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set 1011 | # CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set 1012 | CONFIG_DHCPD_LEASES_FILE="" 1013 | # CONFIG_DUMPLEASES is not set 1014 | # CONFIG_DHCPRELAY is not set 1015 | CONFIG_UDHCPC=y 1016 | CONFIG_FEATURE_UDHCPC_ARPING=y 1017 | CONFIG_FEATURE_UDHCPC_SANITIZEOPT=y 1018 | CONFIG_UDHCPC_DEFAULT_SCRIPT="/usr/share/udhcpc/default.script" 1019 | CONFIG_UDHCPC6_DEFAULT_SCRIPT="" 1020 | # CONFIG_UDHCPC6 is not set 1021 | # CONFIG_FEATURE_UDHCPC6_RFC3646 is not set 1022 | # CONFIG_FEATURE_UDHCPC6_RFC4704 is not set 1023 | # CONFIG_FEATURE_UDHCPC6_RFC4833 is not set 1024 | # CONFIG_FEATURE_UDHCPC6_RFC5970 is not set 1025 | 1026 | # 1027 | # Common options for DHCP applets 1028 | # 1029 | CONFIG_UDHCPC_DEFAULT_INTERFACE="eth0" 1030 | # CONFIG_FEATURE_UDHCP_PORT is not set 1031 | CONFIG_UDHCP_DEBUG=0 1032 | CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80 1033 | # CONFIG_FEATURE_UDHCP_RFC3397 is not set 1034 | CONFIG_FEATURE_UDHCP_8021Q=y 1035 | CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="-R -n" 1036 | 1037 | # 1038 | # Print Utilities 1039 | # 1040 | # CONFIG_LPD is not set 1041 | # CONFIG_LPR is not set 1042 | # CONFIG_LPQ is not set 1043 | 1044 | # 1045 | # Mail Utilities 1046 | # 1047 | CONFIG_FEATURE_MIME_CHARSET="" 1048 | # CONFIG_MAKEMIME is not set 1049 | # CONFIG_POPMAILDIR is not set 1050 | # CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set 1051 | # CONFIG_REFORMIME is not set 1052 | # CONFIG_FEATURE_REFORMIME_COMPAT is not set 1053 | # CONFIG_SENDMAIL is not set 1054 | 1055 | # 1056 | # Process Utilities 1057 | # 1058 | # CONFIG_FEATURE_FAST_TOP is not set 1059 | # CONFIG_FEATURE_SHOW_THREADS is not set 1060 | CONFIG_FREE=y 1061 | CONFIG_FUSER=y 1062 | # CONFIG_IOSTAT is not set 1063 | CONFIG_KILL=y 1064 | CONFIG_KILLALL=y 1065 | CONFIG_KILLALL5=y 1066 | CONFIG_LSOF=y 1067 | # CONFIG_MPSTAT is not set 1068 | # CONFIG_NMETER is not set 1069 | # CONFIG_PGREP is not set 1070 | # CONFIG_PKILL is not set 1071 | CONFIG_PIDOF=y 1072 | CONFIG_FEATURE_PIDOF_SINGLE=y 1073 | CONFIG_FEATURE_PIDOF_OMIT=y 1074 | # CONFIG_PMAP is not set 1075 | # CONFIG_POWERTOP is not set 1076 | # CONFIG_FEATURE_POWERTOP_INTERACTIVE is not set 1077 | CONFIG_PS=y 1078 | # CONFIG_FEATURE_PS_WIDE is not set 1079 | # CONFIG_FEATURE_PS_LONG is not set 1080 | # CONFIG_FEATURE_PS_TIME is not set 1081 | # CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set 1082 | # CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set 1083 | # CONFIG_PSTREE is not set 1084 | # CONFIG_PWDX is not set 1085 | # CONFIG_SMEMCAP is not set 1086 | CONFIG_BB_SYSCTL=y 1087 | CONFIG_TOP=y 1088 | CONFIG_FEATURE_TOP_INTERACTIVE=y 1089 | CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y 1090 | CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y 1091 | # CONFIG_FEATURE_TOP_SMP_CPU is not set 1092 | # CONFIG_FEATURE_TOP_DECIMALS is not set 1093 | # CONFIG_FEATURE_TOP_SMP_PROCESS is not set 1094 | # CONFIG_FEATURE_TOPMEM is not set 1095 | CONFIG_UPTIME=y 1096 | # CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set 1097 | CONFIG_WATCH=y 1098 | 1099 | # 1100 | # Runit Utilities 1101 | # 1102 | # CONFIG_CHPST is not set 1103 | # CONFIG_SETUIDGID is not set 1104 | # CONFIG_ENVUIDGID is not set 1105 | # CONFIG_ENVDIR is not set 1106 | # CONFIG_SOFTLIMIT is not set 1107 | # CONFIG_RUNSV is not set 1108 | # CONFIG_RUNSVDIR is not set 1109 | # CONFIG_FEATURE_RUNSVDIR_LOG is not set 1110 | # CONFIG_SV is not set 1111 | CONFIG_SV_DEFAULT_SERVICE_DIR="" 1112 | CONFIG_SVC=y 1113 | CONFIG_SVOK=y 1114 | # CONFIG_SVLOGD is not set 1115 | # CONFIG_CHCON is not set 1116 | # CONFIG_GETENFORCE is not set 1117 | # CONFIG_GETSEBOOL is not set 1118 | # CONFIG_LOAD_POLICY is not set 1119 | # CONFIG_MATCHPATHCON is not set 1120 | # CONFIG_RUNCON is not set 1121 | # CONFIG_SELINUXENABLED is not set 1122 | # CONFIG_SESTATUS is not set 1123 | # CONFIG_SETENFORCE is not set 1124 | # CONFIG_SETFILES is not set 1125 | # CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set 1126 | # CONFIG_RESTORECON is not set 1127 | # CONFIG_SETSEBOOL is not set 1128 | 1129 | # 1130 | # Shells 1131 | # 1132 | CONFIG_SH_IS_ASH=y 1133 | # CONFIG_SH_IS_HUSH is not set 1134 | # CONFIG_SH_IS_NONE is not set 1135 | # CONFIG_BASH_IS_ASH is not set 1136 | # CONFIG_BASH_IS_HUSH is not set 1137 | CONFIG_BASH_IS_NONE=y 1138 | CONFIG_SHELL_ASH=y 1139 | CONFIG_ASH=y 1140 | CONFIG_ASH_OPTIMIZE_FOR_SIZE=y 1141 | CONFIG_ASH_INTERNAL_GLOB=y 1142 | CONFIG_ASH_BASH_COMPAT=y 1143 | # CONFIG_ASH_BASH_SOURCE_CURDIR is not set 1144 | CONFIG_ASH_BASH_NOT_FOUND_HOOK=y 1145 | CONFIG_ASH_JOB_CONTROL=y 1146 | CONFIG_ASH_ALIAS=y 1147 | CONFIG_ASH_RANDOM_SUPPORT=y 1148 | CONFIG_ASH_EXPAND_PRMT=y 1149 | CONFIG_ASH_IDLE_TIMEOUT=y 1150 | # CONFIG_ASH_MAIL is not set 1151 | CONFIG_ASH_ECHO=y 1152 | CONFIG_ASH_PRINTF=y 1153 | CONFIG_ASH_TEST=y 1154 | CONFIG_ASH_SLEEP=y 1155 | CONFIG_ASH_HELP=y 1156 | CONFIG_ASH_GETOPTS=y 1157 | CONFIG_ASH_CMDCMD=y 1158 | # CONFIG_CTTYHACK is not set 1159 | # CONFIG_HUSH is not set 1160 | # CONFIG_SHELL_HUSH is not set 1161 | # CONFIG_HUSH_BASH_COMPAT is not set 1162 | # CONFIG_HUSH_BRACE_EXPANSION is not set 1163 | # CONFIG_HUSH_BASH_SOURCE_CURDIR is not set 1164 | # CONFIG_HUSH_LINENO_VAR is not set 1165 | # CONFIG_HUSH_INTERACTIVE is not set 1166 | # CONFIG_HUSH_SAVEHISTORY is not set 1167 | # CONFIG_HUSH_JOB is not set 1168 | # CONFIG_HUSH_TICK is not set 1169 | # CONFIG_HUSH_IF is not set 1170 | # CONFIG_HUSH_LOOPS is not set 1171 | # CONFIG_HUSH_CASE is not set 1172 | # CONFIG_HUSH_FUNCTIONS is not set 1173 | # CONFIG_HUSH_LOCAL is not set 1174 | # CONFIG_HUSH_RANDOM_SUPPORT is not set 1175 | # CONFIG_HUSH_MODE_X is not set 1176 | # CONFIG_HUSH_ECHO is not set 1177 | # CONFIG_HUSH_PRINTF is not set 1178 | # CONFIG_HUSH_TEST is not set 1179 | # CONFIG_HUSH_HELP is not set 1180 | # CONFIG_HUSH_EXPORT is not set 1181 | # CONFIG_HUSH_EXPORT_N is not set 1182 | # CONFIG_HUSH_READONLY is not set 1183 | # CONFIG_HUSH_KILL is not set 1184 | # CONFIG_HUSH_WAIT is not set 1185 | # CONFIG_HUSH_COMMAND is not set 1186 | # CONFIG_HUSH_TRAP is not set 1187 | # CONFIG_HUSH_TYPE is not set 1188 | # CONFIG_HUSH_TIMES is not set 1189 | # CONFIG_HUSH_READ is not set 1190 | # CONFIG_HUSH_SET is not set 1191 | # CONFIG_HUSH_UNSET is not set 1192 | # CONFIG_HUSH_ULIMIT is not set 1193 | # CONFIG_HUSH_UMASK is not set 1194 | # CONFIG_HUSH_GETOPTS is not set 1195 | # CONFIG_HUSH_MEMLEAK is not set 1196 | 1197 | # 1198 | # Options common to all shells 1199 | # 1200 | CONFIG_FEATURE_SH_MATH=y 1201 | CONFIG_FEATURE_SH_MATH_64=y 1202 | CONFIG_FEATURE_SH_MATH_BASE=y 1203 | CONFIG_FEATURE_SH_EXTRA_QUIET=y 1204 | # CONFIG_FEATURE_SH_STANDALONE is not set 1205 | # CONFIG_FEATURE_SH_NOFORK is not set 1206 | CONFIG_FEATURE_SH_READ_FRAC=y 1207 | # CONFIG_FEATURE_SH_HISTFILESIZE is not set 1208 | CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS=y 1209 | 1210 | # 1211 | # System Logging Utilities 1212 | # 1213 | CONFIG_KLOGD=y 1214 | CONFIG_FEATURE_KLOGD_KLOGCTL=y 1215 | CONFIG_LOGGER=y 1216 | # CONFIG_LOGREAD is not set 1217 | # CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set 1218 | CONFIG_SYSLOGD=y 1219 | CONFIG_FEATURE_ROTATE_LOGFILE=y 1220 | CONFIG_FEATURE_REMOTE_LOG=y 1221 | # CONFIG_FEATURE_SYSLOGD_DUP is not set 1222 | # CONFIG_FEATURE_SYSLOGD_CFG is not set 1223 | # CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS is not set 1224 | CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 1225 | # CONFIG_FEATURE_IPC_SYSLOG is not set 1226 | CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0 1227 | # CONFIG_FEATURE_KMSG_SYSLOG is not set 1228 | --------------------------------------------------------------------------------