Firecracker: Add support for firecracker packaging

Start packaging the supported version of firecracker.

Signed-off-by: Manohar Castelino <manohar.r.castelino@intel.com>
This commit is contained in:
Manohar Castelino 2019-01-09 13:27:31 -08:00
parent b3d2688762
commit 6a44bdb48b
4 changed files with 58 additions and 0 deletions

View File

@ -29,6 +29,7 @@ test-release-tools:
test-static-build:
@make -f $(MK_DIR)/static-build/qemu/Makefile
@make -f $(MK_DIR)/static-build/firecracker/Makefile
test-packaging-tools:
@$(MK_DIR)/obs-packaging/build_from_docker.sh

View File

@ -112,6 +112,16 @@ install_qemu() {
tar xf kata-qemu-static.tar.gz -C "${destdir}"
}
# Install static firecracker asset
install_firecracker() {
info "build static firecracker"
"${script_dir}/../static-build/firecracker/build-static-firecracker.sh"
info "Install static firecracker"
mkdir -p "${destdir}/opt/kata/bin/"
install -D --owner root --group root --mode 0744 firecracker-static "${destdir}/opt/kata/bin/firecracker"
}
#Install all components that are not assets
install_kata_components() {
for p in "${projects[@]}"; do

View File

@ -0,0 +1,9 @@
MK_DIR :=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
CONFIG_DIR := $(MK_DIR)/../../scripts/
build:
"$(MK_DIR)/build-static-firecracker.sh"
clean:
rm -rf "$(MK_DIR)/firecracker"
rm "$(MK_DIR)/firecracker-static"

View File

@ -0,0 +1,38 @@
#!/bin/bash
#
# Copyright (c) 2018 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
set -o errexit
set -o nounset
set -o pipefail
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "${script_dir}/../../scripts/lib.sh"
config_dir="${script_dir}/../../scripts/"
firecracker_repo="${firecracker_repo:-}"
firecracker_version="${firecracker_version:-}"
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_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}"
git clone ${firecracker_repo}
cd firecracker
git checkout ${firecracker_version}
./tools/devtool --unattended build --release -- --features vsock
ln -s ./build/release/firecracker ./firecracker-static