mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-06-26 23:38:31 +00:00
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>
60 lines
1.4 KiB
Bash
Executable File
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 "$@"
|