busybox
Source
FROM stagex/bootstrap-stage3 AS build
ARG VERSION
ARG TARGETARCH
ADD fetch/busybox-${VERSION}.tar.bz2 .
WORKDIR /busybox-${VERSION}
ENV KCONFIG_NOTIMESTAMP=1
ENV ARCH=$TARGETARCH
RUN --network=none <<-EOF
set -eux
setConfs='
CONFIG_LAST_SUPPORTED_WCHAR=0
CONFIG_STATIC=y
'
unsetConfs='
CONFIG_FEATURE_SYNC_FANCY
CONFIG_FEATURE_HAVE_RPC
CONFIG_FEATURE_INETD_RPC
CONFIG_FEATURE_UTMP
CONFIG_FEATURE_WTMP
'
# Add hwaccel configs for ARM architectures
if [ "$TARGETARCH" = "arm64" ] || [ "$TARGETARCH" = "aarch64" ]; then
unsetConfs="$unsetConfs
CONFIG_SHA1_HWACCEL
CONFIG_SHA256_HWACCEL
CONFIG_MD5_HWACCEL
"
fi
make defconfig
for conf in $unsetConfs; do
sed -i \
-e "s!^$conf=.*\$!# $conf is not set!" \
.config
done
for confV in $setConfs; do
conf="${confV%=*}"
sed -i \
-e "s!^$conf=.*\$!$confV!" \
-e "s!^# $conf is not set\$!$confV!" \
.config
if ! grep -q "^$confV\$" .config; then
echo "$confV" >> .config
fi
done
make oldconfig
for conf in $unsetConfs; do
! grep -q "^$conf=" .config
done
for confV in $setConfs; do
grep -q "^$confV\$" .config
done
make -j$(nproc)
mkdir -p /rootfs/usr/bin
cp busybox /rootfs/usr/bin
cp busybox /usr/bin
cd /rootfs
/usr/bin/busybox --install -s usr/bin
EOF
FROM stagex/core-filesystem AS package
COPY --from=build /rootfs/ /
ENTRYPOINT ["/bin/sh"]Copied to clipboard!