kata-containers/tools/packaging/static-build/busybox/build-static-busybox.sh
Zvonko Kaiser b1909e940e deploy: Add busybox target
For a minimal initrd/image build we may want to leverage busybox.
This is part number two of the NVIDIA initrd/image build

Signed-off-by: Zvonko Kaiser <zkaiser@nvidia.com>
2024-06-18 15:31:00 +00:00

60 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
#
# Copyright (c) 2024 NVIDIA Corporation
#
# SPDX-License-Identifier: Apache-2.0
set -o errexit
set -o nounset
set -o pipefail
set -x
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# shellcheck source=/dev/null
source "${script_dir}/../../scripts/lib.sh"
build_busybox_from_source()
{
echo "build busybox from source"
URL_TARBZ2="${BUSYBOX_URL:?}/busybox-${BUSYBOX_VERSION:?}.tar.bz2"
URL_SHA="${BUSYBOX_URL:?}/busybox-${BUSYBOX_VERSION:?}.tar.bz2.sha256"
URL_SIG="${BUSYBOX_URL:?}/busybox-${BUSYBOX_VERSION:?}.tar.bz2.sig"
curl -O "${URL_TARBZ2}"
curl -O "${URL_SHA}"
curl -O "${URL_SIG}"
echo "Verifying SHA256 checksum..."
sha256_file="$(basename "${URL_SHA}")"
sha256sum -c "${sha256_file}"
gpg --keyserver hkps://keyserver.ubuntu.com --recv-keys C9E9416F76E610DBD09D040F47B70C55ACC9965B
echo "Verifying GPG signature..."
tarbz_file="$(basename "${URL_TARBZ2}")"
sig_file="$(basename "${URL_SIG}")"
gpg --verify "${sig_file}" "${tarbz_file}"
tar xvf busybox-"${BUSYBOX_VERSION:?}".tar.bz2
cd busybox-"${BUSYBOX_VERSION:?}"
cp "${BUSYBOX_CONF_DIR:?}/${BUSYBOX_CONF_FILE:?}" .config
# we do not want to install to CONFIG_PREFIX="./_install"
# we want CONFIG_PREFIX="${DESTDIR}"
sed -i "s|CONFIG_PREFIX=\"./_install\"|CONFIG_PREFIX=\"${DESTDIR}\"|g" .config
make
make install
}
build_busybox_from_source "$@"