build: kata-deploy kernel experimental

Allow build experimental kernel from kata-deploy.

Signed-off-by: Carlos Venegas <jose.carlos.venegas.munoz@intel.com>
This commit is contained in:
Carlos Venegas 2021-08-26 19:04:53 +00:00
parent 5d2a82fbf9
commit 1fbb73041b
4 changed files with 19 additions and 14 deletions

View File

@ -38,6 +38,10 @@ firecracker-tarball:
kernel-tarball: kernel-tarball:
${MAKE} $@-build ${MAKE} $@-build
kernel-experimental-tarball:
${MAKE} $@-build
qemu-tarball: qemu-tarball:
${MAKE} $@-build ${MAKE} $@-build

View File

@ -67,6 +67,7 @@ options:
cloud-hypervisor cloud-hypervisor
firecracker firecracker
kernel kernel
kernel-experimental
qemu qemu
rootfs-image rootfs-image
rootfs-initrd rootfs-initrd
@ -91,17 +92,16 @@ install_initrd() {
#Install kernel asset #Install kernel asset
install_kernel() { install_kernel() {
export kernel_version="$(yq r $versions_yaml assets.kernel.version)" export kernel_version="$(yq r $versions_yaml assets.kernel.version)"
DESTDIR="${destdir}" PREFIX="${prefix}" "${kernel_builder}" "${kernel_version}" DESTDIR="${destdir}" PREFIX="${prefix}" "${kernel_builder}" -f -v "${kernel_version}"
} }
#Install experimental kernel asset #Install experimental kernel asset
install_experimental_kernel() { install_experimental_kernel() {
info "build experimental kernel" info "build experimental kernel"
export kernel_version="$(yq r $versions_yaml assets.kernel-experimental.version)" export kernel_version="$(yq r $versions_yaml assets.kernel-experimental.tag)"
"${kernel_builder}" -e setup info "Kernel version ${kernel_version}"
"${kernel_builder}" -e build DESTDIR="${destdir}" PREFIX="${prefix}" "${kernel_builder}" -e -v ${kernel_version}
info "install experimental kernel"
DESTDIR="${destdir}" PREFIX="${prefix}" "${kernel_builder}" -e install
} }
# Install static qemu asset # Install static qemu asset
@ -158,7 +158,6 @@ handle_build() {
case "${build_target}" in case "${build_target}" in
all) all)
install_clh install_clh
install_experimental_kernel
install_firecracker install_firecracker
install_image install_image
install_initrd install_initrd
@ -173,6 +172,8 @@ handle_build() {
kernel) install_kernel ;; kernel) install_kernel ;;
kernel-experimental) install_experimental_kernel;;
qemu) install_qemu ;; qemu) install_qemu ;;
rootfs-image) install_image ;; rootfs-image) install_image ;;
@ -201,6 +202,7 @@ main() {
cloud-hypervisor cloud-hypervisor
firecracker firecracker
kernel kernel
kernel-experimental
qemu qemu
rootfs-image rootfs-image
rootfs-initrd rootfs-initrd

View File

@ -127,8 +127,9 @@ get_kernel() {
kernel_tarball="linux-${version}.tar.xz" kernel_tarball="linux-${version}.tar.xz"
if [ ! -f sha256sums.asc ] || ! grep -q "${kernel_tarball}" sha256sums.asc; then if [ ! -f sha256sums.asc ] || ! grep -q "${kernel_tarball}" sha256sums.asc; then
info "Download kernel checksum file: sha256sums.asc" shasum_url="https://cdn.kernel.org/pub/linux/kernel/v${major_version}.x/sha256sums.asc"
curl --fail -OL "https://cdn.kernel.org/pub/linux/kernel/v${major_version}.x/sha256sums.asc" info "Download kernel checksum file: sha256sums.asc from ${shasum_url}"
curl --fail -OL "${shasum_url}"
fi fi
grep "${kernel_tarball}" sha256sums.asc >"${kernel_tarball}.sha256" grep "${kernel_tarball}" sha256sums.asc >"${kernel_tarball}.sha256"

View File

@ -13,26 +13,24 @@ readonly repo_root_dir="$(cd "${script_dir}/../../../.." && pwd)"
readonly kernel_builder="${repo_root_dir}/tools/packaging/kernel/build-kernel.sh" readonly kernel_builder="${repo_root_dir}/tools/packaging/kernel/build-kernel.sh"
kernel_version=${1}
DESTDIR=${DESTDIR:-${PWD}} DESTDIR=${DESTDIR:-${PWD}}
PREFIX=${PREFIX:-/opt/kata} PREFIX=${PREFIX:-/opt/kata}
container_image="kata-kernel-builder" container_image="kata-kernel-builder"
sudo docker build -t "${container_image}" "${script_dir}" sudo docker build -t "${container_image}" "${script_dir}"
echo "build ${kernel_version}"
sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
-w "${PWD}" \ -w "${PWD}" \
"${container_image}" \ "${container_image}" \
bash -c "${kernel_builder} -v ${kernel_version} setup" bash -c "${kernel_builder} $* setup"
sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
-w "${PWD}" \ -w "${PWD}" \
"${container_image}" \ "${container_image}" \
bash -c "${kernel_builder} -v ${kernel_version} build" bash -c "${kernel_builder} $* build"
sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \ sudo docker run --rm -i -v "${repo_root_dir}:${repo_root_dir}" \
-w "${PWD}" \ -w "${PWD}" \
--env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \ --env DESTDIR="${DESTDIR}" --env PREFIX="${PREFIX}" \
"${container_image}" \ "${container_image}" \
bash -c "${kernel_builder} -v ${kernel_version} install" bash -c "${kernel_builder} $* install"