diff --git a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh index 70cfb19ff8..8dbebee42a 100755 --- a/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh +++ b/tools/packaging/kata-deploy/local-build/kata-deploy-binaries.sh @@ -377,10 +377,12 @@ install_qemu_snp_experimental() { # Install static firecracker asset install_firecracker() { + local firecracker_version=$(get_from_kata_deps "assets.hypervisor.firecracker.version") + install_cached_tarball_component \ "firecracker" \ "${jenkins_url}/job/kata-containers-main-firecracker-$(uname -m)/${cached_artifacts_path}" \ - "$(get_from_kata_deps "assets.hypervisor.firecracker.version")" \ + "${firecracker_version}" \ "" \ "${final_tarball_name}" \ "${final_tarball_path}" \ @@ -390,8 +392,8 @@ install_firecracker() { "${firecracker_builder}" info "Install static firecracker" mkdir -p "${destdir}/opt/kata/bin/" - sudo install -D --owner root --group root --mode 0744 firecracker/firecracker-static "${destdir}/opt/kata/bin/firecracker" - sudo install -D --owner root --group root --mode 0744 firecracker/jailer-static "${destdir}/opt/kata/bin/jailer" + sudo install -D --owner root --group root --mode 0744 release-${firecracker_version}-${ARCH}/firecracker-${firecracker_version}-${ARCH} "${destdir}/opt/kata/bin/firecracker" + sudo install -D --owner root --group root --mode 0744 release-${firecracker_version}-${ARCH}/jailer-${firecracker_version}-${ARCH} "${destdir}/opt/kata/bin/jailer" } # Install static cloud-hypervisor asset diff --git a/tools/packaging/static-build/firecracker/build-static-firecracker.sh b/tools/packaging/static-build/firecracker/build-static-firecracker.sh index 1595754105..77ffc02292 100755 --- a/tools/packaging/static-build/firecracker/build-static-firecracker.sh +++ b/tools/packaging/static-build/firecracker/build-static-firecracker.sh @@ -14,30 +14,31 @@ source "${script_dir}/../../scripts/lib.sh" config_dir="${script_dir}/../../scripts/" -firecracker_repo="${firecracker_repo:-}" +firecracker_url="${firecracker_url:-}" firecracker_dir="firecracker" firecracker_version="${firecracker_version:-}" arch=$(uname -m) -if [ -z "$firecracker_repo" ]; then - info "Get firecracker information from runtime versions.yaml" - firecracker_url=$(get_from_kata_deps "assets.hypervisor.firecracker.url") - [ -n "$firecracker_url" ] || die "failed to get firecracker url" - firecracker_repo="${firecracker_url}.git" -fi -[ -n "$firecracker_repo" ] || die "failed to get firecracker repo" +[ -n "$firecracker_url" ] ||firecracker_url=$(get_from_kata_deps "assets.hypervisor.firecracker.url") +[ -n "$firecracker_url" ] || die "failed to get firecracker url" [ -n "$firecracker_version" ] || firecracker_version=$(get_from_kata_deps "assets.hypervisor.firecracker.version") [ -n "$firecracker_version" ] || die "failed to get firecracker version" -info "Build ${firecracker_repo} version: ${firecracker_version}" +firecracker_tarball_url="${firecracker_url}/releases/download" -[ -d "${firecracker_dir}" ] || git clone ${firecracker_repo} -cd "${firecracker_dir}" -git fetch -git checkout ${firecracker_version} -sudo ./tools/devtool --unattended build --release +file_name="firecracker-${firecracker_version}-${ARCH}.tgz" +download_url="${firecracker_tarball_url}/${firecracker_version}/${file_name}" -ln -sf ./build/cargo_target/${arch}-unknown-linux-musl/release/firecracker ./firecracker-static -ln -sf ./build/cargo_target/${arch}-unknown-linux-musl/release/jailer ./jailer-static +info "Download firecracker version: ${firecracker_version} from ${download_url}" +curl -o ${file_name} -L $download_url + +sha256sum="${file_name}.sha256.txt" +sha256sum_url="${firecracker_tarball_url}/${firecracker_version}/${sha256sum}" + +info "Download firecracker ${sha256sum} from ${sha256sum_url}" +curl -o ${sha256sum} -L $sha256sum_url + +sha256sum -c ${sha256sum} +tar zxvf ${file_name}