diff --git a/build/docker/intel-fpga-initcontainer.Dockerfile b/build/docker/intel-fpga-initcontainer.Dockerfile index b5581995..42451cdb 100644 --- a/build/docker/intel-fpga-initcontainer.Dockerfile +++ b/build/docker/intel-fpga-initcontainer.Dockerfile @@ -1,73 +1,64 @@ -# CLEAR_LINUX_BASE and CLEAR_LINUX_VERSION can be used to make the build -# reproducible by choosing an image by its hash and installing an OS version -# with --version=: -# CLEAR_LINUX_BASE=clearlinux@sha256:b8e5d3b2576eb6d868f8d52e401f678c873264d349e469637f98ee2adf7b33d4 -# CLEAR_LINUX_VERSION="--version=29970" +# Copyright 2021 Intel Corporation. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# GOLANG_BASE can be used to make the build reproducible by choosing an +# image by its hash: +# GOLANG_BASE=golang@sha256:9d64369fd3c633df71d7465d67d43f63bb31192193e671742fa1c26ebc3a6210 # # This is used on release branches before tagging a stable version. -# The master branch defaults to using the latest Clear Linux. -ARG CLEAR_LINUX_BASE=clearlinux/golang:latest +# The main branch defaults to using the latest Golang base image. +ARG GOLANG_BASE=golang:1.15-buster -FROM ${CLEAR_LINUX_BASE} as builder +FROM ${GOLANG_BASE} as builder -ARG CLEAR_LINUX_VERSION= - -RUN swupd update --no-boot-update ${CLEAR_LINUX_VERSION} -RUN ldconfig ARG DIR=/intel-device-plugins-for-kubernetes ARG GO111MODULE=on +ARG BUILDFLAGS="-ldflags=-w -s" WORKDIR $DIR COPY . . -RUN mkdir /install_root \ - && swupd os-install \ - ${CLEAR_LINUX_VERSION} \ - --path /install_root \ - --statedir /swupd-state \ - --bundles=rsync \ - --no-boot-update \ - && rm -rf /install_root/var/lib/swupd/* +ARG ROOT=/install_root -# Build CRI Hook -RUN cd $DIR/cmd/fpga_crihook && \ - GO111MODULE=${GO111MODULE} go install && \ - chmod a+x /go/bin/fpga_crihook && \ - cd $DIR/cmd/fpga_tool && \ - go install && \ - chmod a+x /go/bin/fpga_tool && \ - cd $DIR && \ - install -D ${DIR}/LICENSE /install_root/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE && \ - scripts/copy-modules-licenses.sh ./cmd/fpga_crihook /install_root/usr/local/share/ && \ - scripts/copy-modules-licenses.sh ./cmd/fpga_tool /install_root/usr/local/share/ - -# Minimal result image -FROM scratch as final -COPY --from=builder /install_root / +RUN cd cmd/fpga_crihook && GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}" && \ + cd ../fpga_tool && GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}" && \ + cd ../.. && \ + install -D ${DIR}/LICENSE $ROOT/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE && \ + scripts/copy-modules-licenses.sh ./cmd/fpga_crihook $ROOT/usr/local/share/ && \ + scripts/copy-modules-licenses.sh ./cmd/fpga_tool $ROOT/usr/local/share/ ARG SRC_DIR=/usr/local/fpga-sw ARG DST_DIR=/opt/intel/fpga-sw - -# CRI hook ARG CRI_HOOK=intel-fpga-crihook -ARG FPGA_TOOL=fpgatool -ARG HOOK_CONF=$CRI_HOOK.json -ARG HOOK_CONF_SRC=$SRC_DIR/$HOOK_CONF -ARG HOOK_CONF_DST=$DST_DIR/$HOOK_CONF -COPY --from=builder /go/bin/fpga_crihook $SRC_DIR/$CRI_HOOK -COPY --from=builder /go/bin/fpga_tool $SRC_DIR/$FPGA_TOOL +RUN install -D /go/bin/fpga_crihook $ROOT/$SRC_DIR/$CRI_HOOK +RUN install -D /go/bin/fpga_tool $ROOT/$SRC_DIR/ -RUN echo -e "{\n\ +RUN echo "{\n\ \"hook\" : \"$DST_DIR/$CRI_HOOK\",\n\ \"stage\" : [ \"prestart\" ],\n\ \"annotation\": [ \"fpga.intel.com/region\" ]\n\ -}\n">>$HOOK_CONF_SRC +}\n">>$ROOT/$SRC_DIR/$CRI_HOOK.json -RUN echo -e "#!/bin/sh\n\ -rsync -a --delete $SRC_DIR/ $DST_DIR\n\ -mkdir -p /etc/containers/oci/hooks.d\n\ -ln -sf $HOOK_CONF_DST /etc/containers/oci/hooks.d/$HOOK_CONF\n\ -rm $DST_DIR/deploy.sh\n\ -">> $SRC_DIR/deploy.sh && chmod +x $SRC_DIR/deploy.sh +ARG TOYBOX_VERSION="0.8.4" +RUN apt update && apt -y install musl musl-tools musl-dev +RUN curl -SL https://github.com/landley/toybox/archive/refs/tags/$TOYBOX_VERSION.tar.gz | tar xz \ + && cd toybox-$TOYBOX_VERSION \ + && KCONFIG_CONFIG=${DIR}/build/docker/toybox-config LDFLAGS="--static" CC=musl-gcc PREFIX=$ROOT V=2 make toybox install \ + && install -D LICENSE $ROOT/usr/local/share/package-licenses/toybox \ + && cp -r /usr/share/doc/musl $ROOT/usr/local/share/package-licenses/ -ENTRYPOINT [ "/usr/local/fpga-sw/deploy.sh" ] +FROM gcr.io/distroless/static +COPY --from=builder /install_root / + +ENTRYPOINT [ "/bin/sh", "-c", "cp -a /usr/local/fpga-sw/* /opt/intel/fpga-sw/ && ln -sf /opt/intel/fpga-sw/intel-fpga-crihook.json /etc/containers/oci/hooks.d/" ] diff --git a/build/docker/intel-gpu-initcontainer.Dockerfile b/build/docker/intel-gpu-initcontainer.Dockerfile index 2e5a39df..800c3c82 100644 --- a/build/docker/intel-gpu-initcontainer.Dockerfile +++ b/build/docker/intel-gpu-initcontainer.Dockerfile @@ -1,53 +1,55 @@ -# CLEAR_LINUX_BASE and CLEAR_LINUX_VERSION can be used to make the build -# reproducible by choosing an image by its hash and installing an OS version -# with --version=: -# CLEAR_LINUX_BASE=clearlinux@sha256:b8e5d3b2576eb6d868f8d52e401f678c873264d349e469637f98ee2adf7b33d4 -# CLEAR_LINUX_VERSION="--version=29970" +# Copyright 2021 Intel Corporation. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# GOLANG_BASE can be used to make the build reproducible by choosing an +# image by its hash: +# GOLANG_BASE=golang@sha256:9d64369fd3c633df71d7465d67d43f63bb31192193e671742fa1c26ebc3a6210 # # This is used on release branches before tagging a stable version. -# The master branch defaults to using the latest Clear Linux. -ARG CLEAR_LINUX_BASE=clearlinux/golang:latest +# The main branch defaults to using the latest Golang base image. +ARG GOLANG_BASE=golang:1.15-buster -FROM ${CLEAR_LINUX_BASE} as builder +FROM ${GOLANG_BASE} as builder -ARG CLEAR_LINUX_VERSION= - -RUN swupd update --no-boot-update ${CLEAR_LINUX_VERSION} -RUN ldconfig ARG DIR=/intel-device-plugins-for-kubernetes ARG GO111MODULE=on +ARG BUILDFLAGS="-ldflags=-w -s" WORKDIR $DIR COPY . . -RUN mkdir /install_root \ - && swupd os-install \ - ${CLEAR_LINUX_VERSION} \ - --path /install_root \ - --statedir /swupd-state \ - --bundles=rsync \ - --no-boot-update \ - && rm -rf /install_root/var/lib/swupd/* +ARG ROOT=/install_root # Build NFD Feature Detector Hook -RUN cd $DIR/cmd/gpu_nfdhook && \ - GO111MODULE=${GO111MODULE} go install -ldflags="-s -w" && \ - chmod a+x /go/bin/gpu_nfdhook && \ - cd $DIR && \ - install -D ${DIR}/LICENSE /install_root/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE && \ - scripts/copy-modules-licenses.sh ./cmd/gpu_nfdhook /install_root/usr/local/share/package-licenses/ - -FROM scratch as final -COPY --from=builder /install_root / +RUN cd cmd/gpu_nfdhook && GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}" && cd -\ + install -D ${DIR}/LICENSE $ROOT/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE && \ + mkdir -p $ROOT/usr/local/share/ && \ + scripts/copy-modules-licenses.sh ./cmd/gpu_nfdhook $ROOT/usr/local/share/ ARG NFD_HOOK=intel-gpu-nfdhook ARG SRC_DIR=/usr/local/bin/gpu-sw -ARG DST_DIR=/etc/kubernetes/node-feature-discovery/source.d/ -COPY --from=builder /go/bin/gpu_nfdhook $SRC_DIR/$NFD_HOOK +RUN install -D /go/bin/gpu_nfdhook $ROOT/$SRC_DIR/$NFD_HOOK -RUN echo -e "#!/bin/sh\n\ -rsync -a $SRC_DIR/ $DST_DIR\n\ -rm $DST_DIR/deploy.sh\ -">> $SRC_DIR/deploy.sh && chmod +x $SRC_DIR/deploy.sh +ARG TOYBOX_VERSION="0.8.4" +RUN apt update && apt -y install musl musl-tools musl-dev +RUN curl -SL https://github.com/landley/toybox/archive/refs/tags/$TOYBOX_VERSION.tar.gz | tar xz \ + && cd toybox-$TOYBOX_VERSION \ + && KCONFIG_CONFIG=${DIR}/build/docker/toybox-config LDFLAGS="--static" CC=musl-gcc PREFIX=$ROOT V=2 make toybox install \ + && install -D LICENSE $ROOT/usr/local/share/package-licenses/toybox \ + && cp -r /usr/share/doc/musl $ROOT/usr/local/share/package-licenses/ -ENTRYPOINT [ "/usr/local/bin/gpu-sw/deploy.sh" ] +FROM gcr.io/distroless/static +COPY --from=builder /install_root / + +ENTRYPOINT [ "/bin/sh", "-c", "cp -a /usr/local/bin/gpu-sw/intel-gpu-nfdhook /etc/kubernetes/node-feature-discovery/source.d/" ] diff --git a/build/docker/intel-sgx-initcontainer.Dockerfile b/build/docker/intel-sgx-initcontainer.Dockerfile index 928be09f..7ad216cd 100644 --- a/build/docker/intel-sgx-initcontainer.Dockerfile +++ b/build/docker/intel-sgx-initcontainer.Dockerfile @@ -1,53 +1,55 @@ -# CLEAR_LINUX_BASE and CLEAR_LINUX_VERSION can be used to make the build -# reproducible by choosing an image by its hash and installing an OS version -# with --version=: -# CLEAR_LINUX_BASE=clearlinux@sha256:b8e5d3b2576eb6d868f8d52e401f678c873264d349e469637f98ee2adf7b33d4 -# CLEAR_LINUX_VERSION="--version=29970" +# Copyright 2021 Intel Corporation. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# GOLANG_BASE can be used to make the build reproducible by choosing an +# image by its hash: +# GOLANG_BASE=golang@sha256:9d64369fd3c633df71d7465d67d43f63bb31192193e671742fa1c26ebc3a6210 # # This is used on release branches before tagging a stable version. -# The master branch defaults to using the latest Clear Linux. -ARG CLEAR_LINUX_BASE=clearlinux/golang:latest +# The main branch defaults to using the latest Golang base image. +ARG GOLANG_BASE=golang:1.15-buster -FROM ${CLEAR_LINUX_BASE} as builder +FROM ${GOLANG_BASE} as builder -ARG CLEAR_LINUX_VERSION= - -RUN swupd update --no-boot-update ${CLEAR_LINUX_VERSION} -RUN ldconfig ARG DIR=/intel-device-plugins-for-kubernetes ARG GO111MODULE=on +ARG BUILDFLAGS="-ldflags=-w -s" WORKDIR $DIR COPY . . -RUN mkdir /install_root \ - && swupd os-install \ - ${CLEAR_LINUX_VERSION} \ - --path /install_root \ - --statedir /swupd-state \ - --bundles=rsync \ - --no-boot-update \ - && rm -rf /install_root/var/lib/swupd/* +ARG ROOT=/install_root # Build NFD Feature Detector Hook -RUN cd $DIR/cmd/sgx_epchook && \ - GO111MODULE=${GO111MODULE} go install && \ - chmod a+x /go/bin/sgx_epchook && \ - cd $DIR && \ - install -D ${DIR}/LICENSE /install_root/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE && \ - scripts/copy-modules-licenses.sh ./cmd/sgx_epchook /install_root/usr/local/share/ - -FROM scratch as final -COPY --from=builder /install_root / +RUN cd cmd/sgx_epchook && GO111MODULE=${GO111MODULE} CGO_ENABLED=0 go install "${BUILDFLAGS}" && cd -\ + install -D ${DIR}/LICENSE $ROOT/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE && \ + mkdir -p $ROOT/usr/local/share/ && \ + scripts/copy-modules-licenses.sh ./cmd/sgx_epchook $ROOT/usr/local/share/ ARG NFD_HOOK=intel-sgx-epchook ARG SRC_DIR=/usr/local/bin/sgx-sw -ARG DST_DIR=/etc/kubernetes/node-feature-discovery/source.d/ -COPY --from=builder /go/bin/sgx_epchook $SRC_DIR/$NFD_HOOK +RUN install -D /go/bin/sgx_epchook $ROOT/$SRC_DIR/$NFD_HOOK -RUN echo -e "#!/bin/sh\n\ -rsync -a $SRC_DIR/ $DST_DIR\n\ -rm $DST_DIR/deploy.sh\ -">> $SRC_DIR/deploy.sh && chmod +x $SRC_DIR/deploy.sh +ARG TOYBOX_VERSION="0.8.4" +RUN apt update && apt -y install musl musl-tools musl-dev +RUN curl -SL https://github.com/landley/toybox/archive/refs/tags/$TOYBOX_VERSION.tar.gz | tar xz \ + && cd toybox-$TOYBOX_VERSION \ + && KCONFIG_CONFIG=${DIR}/build/docker/toybox-config LDFLAGS="--static" CC=musl-gcc PREFIX=$ROOT V=2 make toybox install \ + && install -D LICENSE $ROOT/usr/local/share/package-licenses/toybox \ + && cp -r /usr/share/doc/musl $ROOT/usr/local/share/package-licenses/ -ENTRYPOINT [ "/usr/local/bin/sgx-sw/deploy.sh" ] +FROM gcr.io/distroless/static +COPY --from=builder /install_root / + +ENTRYPOINT [ "/bin/sh", "-c", "cp -a /usr/local/bin/sgx-sw/intel-sgx-epchook /etc/kubernetes/node-feature-discovery/source.d/" ] diff --git a/build/docker/intel-vpu-plugin.Dockerfile b/build/docker/intel-vpu-plugin.Dockerfile index e610a28c..da5f3e94 100644 --- a/build/docker/intel-vpu-plugin.Dockerfile +++ b/build/docker/intel-vpu-plugin.Dockerfile @@ -1,38 +1,45 @@ -# CLEAR_LINUX_BASE and CLEAR_LINUX_VERSION can be used to make the build -# reproducible by choosing an image by its hash and installing an OS version -# with --version=: -# CLEAR_LINUX_BASE=clearlinux@sha256:b8e5d3b2576eb6d868f8d52e401f678c873264d349e469637f98ee2adf7b33d4 -# CLEAR_LINUX_VERSION="--version=29970" +# Copyright 2021 Intel Corporation. All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# GOLANG_BASE can be used to make the build reproducible by choosing an +# image by its hash: +# GOLANG_BASE=golang@sha256:9d64369fd3c633df71d7465d67d43f63bb31192193e671742fa1c26ebc3a6210 # # This is used on release branches before tagging a stable version. -# The master branch defaults to using the latest Clear Linux. -ARG CLEAR_LINUX_BASE=clearlinux/golang:latest -FROM ${CLEAR_LINUX_BASE} as builder -ARG CLEAR_LINUX_VERSION= +# The main branch defaults to using the latest Golang base image. +ARG GOLANG_BASE=golang:1.15-buster -RUN swupd update --no-boot-update ${CLEAR_LINUX_VERSION} -RUN ldconfig -RUN swupd bundle-add devpkg-libusb -RUN mkdir /install_root \ - && swupd os-install \ - ${CLEAR_LINUX_VERSION} \ - --path /install_root \ - --statedir /swupd-state \ - --no-boot-update \ - && rm -rf /install_root/var/lib/swupd/* +FROM ${GOLANG_BASE} as builder ARG DIR=/intel-device-plugins-for-kubernetes ARG GO111MODULE=on +ARG BUILDFLAGS="-ldflags=-w -s" WORKDIR $DIR COPY . . -RUN cd cmd/vpu_plugin; GO111MODULE=${GO111MODULE} go install; cd - -RUN chmod a+x /go/bin/vpu_plugin \ - && install -D /go/bin/vpu_plugin /install_root/usr/local/bin/intel_vpu_device_plugin \ - && install -D ${DIR}/LICENSE /install_root/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE \ - && scripts/copy-modules-licenses.sh ./cmd/vpu_plugin /install_root/usr/local/share/ \ - && install -D /usr/share/package-licenses/libusb/* -t /install_root/usr/local/share/package-licenses/libusb \ - && install -D /lib64/libusb-1.0.so.0 /install_root/lib64 -FROM scratch as final +RUN echo "deb-src http://deb.debian.org/debian buster main" | tee -a /etc/apt/sources.list +RUN apt update && apt -y install dpkg-dev libusb-1.0-0-dev +RUN mkdir -p /install_root/usr/local/share/package-sources/libusb \ + && cd /install_root/usr/local/share/package-sources/libusb \ + && apt source libusb-1.0-0 \ + && cd - +RUN cd cmd/vpu_plugin; GO111MODULE=${GO111MODULE} CGO_ENABLED=1 go install "${BUILDFLAGS}"; cd - +RUN install -D /go/bin/vpu_plugin /install_root/usr/local/bin/intel_vpu_device_plugin \ + && install -D ${DIR}/LICENSE /install_root/usr/local/share/package-licenses/intel-device-plugins-for-kubernetes/LICENSE \ + && scripts/copy-modules-licenses.sh ./cmd/vpu_plugin /install_root/usr/local/share/ + +FROM debian:buster-slim +RUN apt update && apt -y install libusb-1.0-0 COPY --from=builder /install_root / ENTRYPOINT ["/usr/local/bin/intel_vpu_device_plugin"] diff --git a/build/docker/toybox-config b/build/docker/toybox-config new file mode 100644 index 00000000..ae0ae557 --- /dev/null +++ b/build/docker/toybox-config @@ -0,0 +1,375 @@ +# +# Automatically generated make config: don't edit +# ToyBox version: KCONFIG_VERSION +# Sat May 15 08:23:52 2021 +# +CONFIG_TOYBOX_CONTAINER=y +CONFIG_TOYBOX_FIFREEZE=y +CONFIG_TOYBOX_ICONV=y +CONFIG_TOYBOX_UTMPX=y +CONFIG_TOYBOX_SHADOW=y +# CONFIG_TOYBOX_ON_ANDROID is not set +# CONFIG_TOYBOX_ANDROID_SCHEDPOLICY is not set +CONFIG_TOYBOX_FORK=y +CONFIG_TOYBOX_PRLIMIT=y +CONFIG_TOYBOX_GETRANDOM=y +# CONFIG_TOYBOX_COPYFILERANGE is not set + +# +# Posix commands +# +# CONFIG_BASENAME is not set +# CONFIG_CAL is not set +# CONFIG_CAT is not set +# CONFIG_CAT_V is not set +# CONFIG_CATV is not set +# CONFIG_CHGRP is not set +# CONFIG_CHOWN is not set +# CONFIG_CHMOD is not set +# CONFIG_CKSUM is not set +# CONFIG_CRC32 is not set +# CONFIG_CMP is not set +# CONFIG_COMM is not set +CONFIG_CP=y +# CONFIG_MV is not set +# CONFIG_INSTALL is not set +# CONFIG_CPIO is not set +# CONFIG_CUT is not set +# CONFIG_DATE is not set +# CONFIG_DF is not set +# CONFIG_DIRNAME is not set +# CONFIG_DU is not set +# CONFIG_ECHO is not set +# CONFIG_ENV is not set +# CONFIG_EXPAND is not set +# CONFIG_FALSE is not set +# CONFIG_FILE is not set +# CONFIG_FIND is not set +# CONFIG_GETCONF is not set +# CONFIG_GREP is not set +# CONFIG_EGREP is not set +# CONFIG_FGREP is not set +# CONFIG_HEAD is not set +# CONFIG_ICONV is not set +# CONFIG_ID is not set +# CONFIG_ID_Z is not set +# CONFIG_GROUPS is not set +# CONFIG_LOGNAME is not set +# CONFIG_WHOAMI is not set +# CONFIG_KILL is not set +# CONFIG_KILLALL5 is not set +# CONFIG_LINK is not set +CONFIG_LN=y +# CONFIG_LOGGER is not set +CONFIG_LS=y +# CONFIG_MKDIR is not set +# CONFIG_MKDIR_Z is not set +# CONFIG_MKFIFO is not set +# CONFIG_MKFIFO_Z is not set +# CONFIG_NICE is not set +# CONFIG_NL is not set +# CONFIG_NOHUP is not set +# CONFIG_OD is not set +# CONFIG_PASTE is not set +# CONFIG_PATCH is not set +# CONFIG_PRINTF is not set +# CONFIG_PS is not set +# CONFIG_TOP is not set +# CONFIG_IOTOP is not set +# CONFIG_PGREP is not set +# CONFIG_PKILL is not set +# CONFIG_PWD is not set +# CONFIG_RENICE is not set +# CONFIG_RM is not set +# CONFIG_RMDIR is not set +# CONFIG_SED is not set +# CONFIG_SLEEP is not set +# CONFIG_SORT is not set +# CONFIG_SORT_FLOAT is not set +# CONFIG_SPLIT is not set +# CONFIG_STRINGS is not set +# CONFIG_TAIL is not set +# CONFIG_TAR is not set +# CONFIG_TEE is not set +# CONFIG_TEST is not set +# CONFIG_TIME is not set +# CONFIG_TOUCH is not set +# CONFIG_TRUE is not set +# CONFIG_TTY is not set +# CONFIG_ULIMIT is not set +# CONFIG_ARCH is not set +# CONFIG_UNAME is not set +# CONFIG_UNIQ is not set +# CONFIG_UNLINK is not set +# CONFIG_UUDECODE is not set +# CONFIG_UUENCODE is not set +# CONFIG_WC is not set +# CONFIG_WHO is not set +# CONFIG_XARGS is not set + +# +# pending (see toys/pending/README) +# +# CONFIG_ARP is not set +# CONFIG_ARPING is not set +# CONFIG_BC is not set +# CONFIG_BOOTCHARTD is not set +# CONFIG_BRCTL is not set +# CONFIG_CROND is not set +# CONFIG_CRONTAB is not set +# CONFIG_DD is not set +# CONFIG_DHCP6 is not set +# CONFIG_DHCP is not set +# CONFIG_DHCPD is not set +# CONFIG_DEBUG_DHCP is not set +# CONFIG_DIFF is not set +# CONFIG_DUMPLEASES is not set +# CONFIG_EXPR is not set +# CONFIG_FDISK is not set +# CONFIG_FOLD is not set +# CONFIG_FSCK is not set +# CONFIG_GETFATTR is not set +# CONFIG_GETOPT is not set +# CONFIG_GETTY is not set +# CONFIG_GROUPADD is not set +# CONFIG_GROUPDEL is not set +# CONFIG_HOST is not set +# CONFIG_INIT is not set +# CONFIG_IP is not set +# CONFIG_IPCRM is not set +# CONFIG_IPCS is not set +# CONFIG_KLOGD is not set +# CONFIG_KLOGD_SOURCE_RING_BUFFER is not set +# CONFIG_LAST is not set +# CONFIG_LSOF is not set +# CONFIG_MAN is not set +# CONFIG_MDEV is not set +# CONFIG_MDEV_CONF is not set +# CONFIG_MKE2FS is not set +# CONFIG_MKE2FS_JOURNAL is not set +# CONFIG_MKE2FS_GEN is not set +# CONFIG_MKE2FS_LABEL is not set +# CONFIG_MKE2FS_EXTENDED is not set +# CONFIG_MODPROBE is not set +# CONFIG_MORE is not set +# CONFIG_OPENVT is not set +# CONFIG_DEALLOCVT is not set +# CONFIG_READELF is not set +# CONFIG_ROUTE is not set +CONFIG_SH=y +# CONFIG_CD is not set +# CONFIG_EXIT is not set +# CONFIG_UNSET is not set +# CONFIG_EVAL is not set +# CONFIG_EXEC is not set +# CONFIG_EXPORT is not set +# CONFIG_JOBS is not set +# CONFIG_SHIFT is not set +# CONFIG_SOURCE is not set +# CONFIG_STTY is not set +# CONFIG_SULOGIN is not set +# CONFIG_SYSLOGD is not set +# CONFIG_TCPSVD is not set +# CONFIG_TELNET is not set +# CONFIG_TELNETD is not set +# CONFIG_TFTP is not set +# CONFIG_TFTPD is not set +# CONFIG_TRACEROUTE is not set +# CONFIG_TR is not set +# CONFIG_USERADD is not set +# CONFIG_USERDEL is not set +# CONFIG_VI is not set +# CONFIG_WGET is not set +# CONFIG_XZCAT is not set + +# +# Other commands +# +# CONFIG_ACPI is not set +# CONFIG_ASCII is not set +# CONFIG_BASE64 is not set +# CONFIG_BLKDISCARD is not set +# CONFIG_BLKID is not set +# CONFIG_FSTYPE is not set +# CONFIG_BLOCKDEV is not set +# CONFIG_BUNZIP2 is not set +# CONFIG_BZCAT is not set +# CONFIG_CHCON is not set +# CONFIG_CHROOT is not set +# CONFIG_CHRT is not set +# CONFIG_CHVT is not set +# CONFIG_CLEAR is not set +# CONFIG_COUNT is not set +# CONFIG_DEVMEM is not set +# CONFIG_DOS2UNIX is not set +# CONFIG_UNIX2DOS is not set +# CONFIG_EJECT is not set +# CONFIG_FACTOR is not set +# CONFIG_FALLOCATE is not set +# CONFIG_FLOCK is not set +# CONFIG_FMT is not set +# CONFIG_FREE is not set +# CONFIG_FREERAMDISK is not set +# CONFIG_FSFREEZE is not set +# CONFIG_FSYNC is not set +# CONFIG_HELP is not set +# CONFIG_HEXEDIT is not set +# CONFIG_HWCLOCK is not set +# CONFIG_I2CDETECT is not set +# CONFIG_I2CDUMP is not set +# CONFIG_I2CGET is not set +# CONFIG_I2CSET is not set +# CONFIG_INOTIFYD is not set +# CONFIG_INSMOD is not set +# CONFIG_IONICE is not set +# CONFIG_IORENICE is not set +# CONFIG_LOGIN is not set +# CONFIG_LOSETUP is not set +# CONFIG_LSATTR is not set +# CONFIG_CHATTR is not set +# CONFIG_LSMOD is not set +# CONFIG_LSPCI is not set +# CONFIG_LSPCI_TEXT is not set +# CONFIG_LSUSB is not set +# CONFIG_MAKEDEVS is not set +# CONFIG_MCOOKIE is not set +# CONFIG_MIX is not set +# CONFIG_MKPASSWD is not set +# CONFIG_MKSWAP is not set +# CONFIG_MODINFO is not set +# CONFIG_MOUNTPOINT is not set +# CONFIG_NBD_CLIENT is not set +# CONFIG_UNSHARE is not set +# CONFIG_NSENTER is not set +# CONFIG_ONEIT is not set +# CONFIG_PARTPROBE is not set +# CONFIG_PIVOT_ROOT is not set +# CONFIG_PMAP is not set +# CONFIG_PRINTENV is not set +# CONFIG_PWDX is not set +# CONFIG_READAHEAD is not set +# CONFIG_READLINK is not set +# CONFIG_REALPATH is not set +# CONFIG_REBOOT is not set +# CONFIG_RESET is not set +# CONFIG_REV is not set +# CONFIG_RMMOD is not set +# CONFIG_RTCWAKE is not set +# CONFIG_SETFATTR is not set +# CONFIG_SETSID is not set +# CONFIG_SHA3SUM is not set +# CONFIG_SHRED is not set +# CONFIG_STAT is not set +# CONFIG_SWAPOFF is not set +# CONFIG_SWAPON is not set +# CONFIG_SWITCH_ROOT is not set +# CONFIG_SYSCTL is not set +# CONFIG_TAC is not set +# CONFIG_NPROC is not set +# CONFIG_TASKSET is not set +# CONFIG_TIMEOUT is not set +# CONFIG_TRUNCATE is not set +# CONFIG_UPTIME is not set +# CONFIG_USLEEP is not set +# CONFIG_UUIDGEN is not set +# CONFIG_VCONFIG is not set +# CONFIG_VMSTAT is not set +# CONFIG_WATCH is not set +# CONFIG_WATCHDOG is not set +# CONFIG_W is not set +# CONFIG_WHICH is not set +# CONFIG_XXD is not set +# CONFIG_YES is not set + +# +# Networking +# +# CONFIG_FTPGET is not set +# CONFIG_FTPPUT is not set +# CONFIG_IFCONFIG is not set +# CONFIG_MICROCOM is not set +# CONFIG_NETCAT is not set +# CONFIG_NETCAT_LISTEN is not set +# CONFIG_NETSTAT is not set +# CONFIG_PING is not set +# CONFIG_RFKILL is not set +# CONFIG_SNTP is not set +# CONFIG_TUNCTL is not set + +# +# Linux Standard Base commands +# +# CONFIG_DMESG is not set +# CONFIG_GZIP is not set +# CONFIG_GUNZIP is not set +# CONFIG_ZCAT is not set +# CONFIG_HOSTNAME is not set +# CONFIG_DNSDOMAINNAME is not set +# CONFIG_KILLALL is not set +# CONFIG_MD5SUM is not set +# CONFIG_SHA1SUM is not set +# CONFIG_SHA224SUM is not set +# CONFIG_SHA256SUM is not set +# CONFIG_SHA384SUM is not set +# CONFIG_SHA512SUM is not set +# CONFIG_MKNOD is not set +# CONFIG_MKNOD_Z is not set +# CONFIG_MKTEMP is not set +# CONFIG_MOUNT is not set +# CONFIG_PASSWD is not set +# CONFIG_PASSWD_SAD is not set +# CONFIG_PIDOF is not set +# CONFIG_SEQ is not set +# CONFIG_SU is not set +# CONFIG_SYNC is not set +# CONFIG_UMOUNT is not set + +# +# Example commands +# +# CONFIG_DEMO_MANY_OPTIONS is not set +# CONFIG_DEMO_NUMBER is not set +# CONFIG_DEMO_SCANKEY is not set +# CONFIG_DEMO_UTF8TOWC is not set +# CONFIG_HELLO is not set +# CONFIG_HOSTID is not set +# CONFIG_LOGWRAPPER is not set +# CONFIG_SKELETON is not set +# CONFIG_SKELETON_ALIAS is not set + +# +# Android +# +# CONFIG_GETENFORCE is not set +# CONFIG_LOAD_POLICY is not set +# CONFIG_LOG is not set +# CONFIG_RESTORECON is not set +# CONFIG_RUNCON is not set +# CONFIG_SENDEVENT is not set +# CONFIG_SETENFORCE is not set + +# +# +# + +# +# Toybox global settings +# +CONFIG_TOYBOX=y +# CONFIG_TOYBOX_SUID is not set +CONFIG_TOYBOX_LSM_NONE=y +# CONFIG_TOYBOX_SELINUX is not set +# CONFIG_TOYBOX_SMACK is not set +# CONFIG_TOYBOX_LIBCRYPTO is not set +# CONFIG_TOYBOX_LIBZ is not set +# CONFIG_TOYBOX_FLOAT is not set +# CONFIG_TOYBOX_HELP is not set +# CONFIG_TOYBOX_HELP_DASHDASH is not set +# CONFIG_TOYBOX_I18N is not set +# CONFIG_TOYBOX_FREE is not set +# CONFIG_TOYBOX_NORECURSE is not set +# CONFIG_TOYBOX_DEBUG is not set +# CONFIG_TOYBOX_PEDANTIC_ARGS is not set +CONFIG_TOYBOX_UID_SYS=100 +CONFIG_TOYBOX_UID_USR=500 +# CONFIG_TOYBOX_FORCE_NOMMU is not set