mirror of
https://github.com/kata-containers/kata-containers.git
synced 2025-08-17 15:38:00 +00:00
tools: Pass kernel version to build script
This PR passes the kernel version to the build script. Signed-off-by: Fabiano Fidêncio <fabiano.fidencio@intel.com>
This commit is contained in:
parent
e92b2e3ef1
commit
f72fe061eb
@ -40,13 +40,25 @@ cache_clh_artifacts() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cache_kernel_artifacts() {
|
cache_kernel_artifacts() {
|
||||||
local current_kernel_version=$(get_from_kata_deps "assets.kernel.version")
|
local current_kernel_version=$(get_from_kata_deps "assets.kernel.version" | cut -c2- )
|
||||||
source "${script_dir}/kernel/build.sh"
|
|
||||||
local kernel_tarball_name="linux-${cached_kernel_version}.tar.xz"
|
|
||||||
local gral_path="$(echo $script_dir | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,')"
|
local gral_path="$(echo $script_dir | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,')"
|
||||||
local kernel_config_file="${gral_path}/tools/packaging/kernel/kata_config_version"
|
local kernel_config_file="${gral_path}/tools/packaging/kernel/kata_config_version"
|
||||||
local kernel_config="$(cat $kernel_config_file)"
|
local kernel_config="$(cat ${kernel_config_file})"
|
||||||
echo "${current_kernel_version} ${kernel_config_file}" > "latest"
|
echo "${current_kernel_version} ${kernel_config}" > "latest"
|
||||||
|
local kernel_path="${gral_path}/tools/packaging/kata-deploy/local-build/build/cc-kernel/destdir/opt/confidential-containers/share/kata-containers"
|
||||||
|
local vmlinux_binary_name="vmlinux-${current_kernel_version}-${kernel_config}"
|
||||||
|
ls ${kernel_path}
|
||||||
|
local vmlinux_file="${kernel_path}/${vmlinux_binary_name}"
|
||||||
|
if [ -f "${vmlinux_file}" ]; then
|
||||||
|
cp -a "${vmlinux_file}" .
|
||||||
|
create_cache_asset "${vmlinux_binary_name}" "${current_kernel_version}"
|
||||||
|
fi
|
||||||
|
local vmlinuz_binary_name="vmlinuz-${current_kernel_version}-${kernel_config}"
|
||||||
|
local vmlinuz_file="${kernel_path}/${vmlinuz_binary_name}"
|
||||||
|
if [ -f "${vmlinuz_file}" ]; then
|
||||||
|
cp -a "${vmlinuz_file}" .
|
||||||
|
create_cache_asset "${vmlinuz_binary_name}" "${current_kernel_version}"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
create_cache_asset() {
|
create_cache_asset() {
|
||||||
|
@ -20,6 +20,9 @@ container_image="${KERNEL_CONTAINER_BUILDER:-${CC_BUILDER_REGISTRY}:kernel-$(get
|
|||||||
kernel_latest_build_url="${jenkins_url}/job/kata-containers-2.0-kernel-cc-$(uname -m)/${cached_artifacts_path}"
|
kernel_latest_build_url="${jenkins_url}/job/kata-containers-2.0-kernel-cc-$(uname -m)/${cached_artifacts_path}"
|
||||||
current_kernel_version=${kernel_version:-$(get_from_kata_deps "assets.kernel.version")}
|
current_kernel_version=${kernel_version:-$(get_from_kata_deps "assets.kernel.version")}
|
||||||
cached_path="$(echo ${script_dir} | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,')"
|
cached_path="$(echo ${script_dir} | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,' | sed 's,/*[^/]\+/*$,,')"
|
||||||
|
current_kernel_config_file="${cached_path}/tools/packaging/kernel/kata_config_version"
|
||||||
|
current_kernel_config="$(cat $current_kernel_config_file)"
|
||||||
|
kernel_version="$(echo ${current_kernel_version} | cut -c2- )"
|
||||||
|
|
||||||
build_from_source() {
|
build_from_source() {
|
||||||
sudo docker pull ${container_image} || \
|
sudo docker pull ${container_image} || \
|
||||||
@ -48,36 +51,48 @@ build_from_source() {
|
|||||||
check_cached_kernel() {
|
check_cached_kernel() {
|
||||||
local latest=$(curl -sfL "${kernel_latest_build_url}"/latest) || latest="none"
|
local latest=$(curl -sfL "${kernel_latest_build_url}"/latest) || latest="none"
|
||||||
local cached_kernel_version="$(echo ${latest} | awk '{print $1}')"
|
local cached_kernel_version="$(echo ${latest} | awk '{print $1}')"
|
||||||
info "Current kernel version: ${current_kernel_version}"
|
info "Current kernel version: ${kernel_version}"
|
||||||
info "Cached kernel version: ${cached_kernel_version}"
|
info "Cached kernel version: ${cached_kernel_version}"
|
||||||
if [ "${current_kernel_version}" == "${cached_kernel_version}" ] && [ "${ARCH}" == "x86_64" ]; then
|
if [ "${kernel_version}" == "${cached_kernel_version}" ] && [ "$(uname -m)" == "x86_64" ]; then
|
||||||
local cached_kernel_config="$(echo ${latest} | awk '{print $2}')"
|
local cached_kernel_config="$(echo ${latest} | awk '{print $2}')"
|
||||||
info "Cached kernel config: ${cached_kernel_config}"
|
info "Cached kernel config: ${cached_kernel_config}"
|
||||||
local current_kernel_config_file="${cached_path}/tools/packaging/kernel/kata_config_version"
|
|
||||||
local current_kernel_config="$(cat $current_kernel_config_file)"
|
|
||||||
info "Current kernel config: ${current_kernel_config}"
|
info "Current kernel config: ${current_kernel_config}"
|
||||||
if [ -z "${cached_kernel_config}" ]; then
|
if [ -z "${cached_kernel_config}" ]; then
|
||||||
build_from_source
|
build_from_source $*
|
||||||
else
|
else
|
||||||
install_cached_kernel
|
install_cached_kernel $*
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
build_from_source
|
build_from_source $*
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_cached_kernel() {
|
install_cached_kernel() {
|
||||||
local kernel_directory="${cached_path}/tools/packaging/kata-deploy/local-build/build/cc-kernel/builddir"
|
local kernel_directory="${cached_path}/tools/packaging/kata-deploy/local-build/build/cc-kernel/destdir/opt/confidential-containers/share/kata-containers"
|
||||||
local kernel_tarball_name="linux-${cached_kernel_version}.tar.xz"
|
local vmlinux_kernel_name="vmlinux-${cached_kernel_version}-${cached_kernel_config}"
|
||||||
|
local vmlinuz_kernel_name="vmlinuz-${cached_kernel_version}-${cached_kernel_config}"
|
||||||
mkdir -p "${kernel_directory}"
|
mkdir -p "${kernel_directory}"
|
||||||
pushd "${kernel_directory}"
|
pushd "${kernel_directory}"
|
||||||
curl -fL --progress-bar "${kernel_latest_build_url}/${kernel_tarball_name}" -o "${kernel_tarball_name}" || return 1
|
ls
|
||||||
|
local vmlinux_url="${kernel_latest_build_url}/${vmlinux_kernel_name}"
|
||||||
|
if curl --output /dev/null --silent --head --fail "${vmlinux_url}"; then
|
||||||
|
info "Installing vmlinux cached kernel"
|
||||||
|
curl -fL --progress-bar "${kernel_latest_build_url}/${vmlinux_kernel_name}" -o "${vmlinux_kernel_name}" || return 1
|
||||||
|
sudo -E ln -sf "${kernel_directory}/${vmlinux_kernel_name}" "${kernel_directory}/vmlinux.container"
|
||||||
|
fi
|
||||||
|
|
||||||
|
local vmlinuz_url="${kernel_latest_build_url}/${vmlinuz_kernel_name}"
|
||||||
|
if curl --output /dev/null --silent --head --fail "${vmlinuz_url}"; then
|
||||||
|
info "Installing vmlinuz cached kernel"
|
||||||
|
curl -fL --progress-bar "${kernel_latest_build_url}/${vmlinuz_kernel_name}" -o "${vmlinuz_kernel_name}" || return 1
|
||||||
|
sudo -E ln -sf "${kernel_directory}/${vmlinuz_kernel_name}" "${kernel_directory}/vmlinuz.container"
|
||||||
|
fi
|
||||||
popd
|
popd
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
check_cached_kernel
|
check_cached_kernel $*
|
||||||
}
|
}
|
||||||
|
|
||||||
main "$@"
|
main $*
|
||||||
|
Loading…
Reference in New Issue
Block a user