Skip to content

Commit

Permalink
update kernel configs, make kernel in integ test
Browse files Browse the repository at this point in the history
in upgrading to firecracker v1.1, we noticed some configuration options
prompted for using when `make kernel`. These options are specific to
kernel 4.14. Update KERNEL_FULL_VERSION regex to that used by
firecracker v1.1.0

This PR also updates the integ test Docker image to use a freshly built
kernel such that FUSE is enabled.

Signed-off-by: Gavin Inglis <giinglis@amazon.com>
  • Loading branch information
ginglis13 committed Jun 1, 2022
1 parent 22e72b2 commit 75bc05d
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 6 deletions.
6 changes: 3 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ $(error "Kernel version $(KERNEL_VERSION) is not supported. Supported versions a
endif

KERNEL_CONFIG=tools/kernel-configs/microvm-kernel-$(host_arch)-$(KERNEL_VERSION).config
# Copied from https://github.com/firecracker-microvm/firecracker/blob/v1.0.0/tools/devtool#L2015
# Copied from https://github.com/firecracker-microvm/firecracker/blob/v1.1.0/tools/devtool#L2082
# This allows us to specify a kernel without the patch version, but still get the correct build path to reference the kernel binary
KERNEL_FULL_VERSION=$(shell cat "$(KERNEL_CONFIG)" | grep -Po "^\# Linux\/$(kernel_config_pattern) (([0-9]+.){2}[0-9]+)" | cut -d ' ' -f 3)
KERNEL_FULL_VERSION=$(shell cat "$(KERNEL_CONFIG)" | grep -Po "^\# Linux\/$(kernel_config_pattern) (([0-9]+.)[0-9]+)" | cut -d ' ' -f 3)
KERNEL_BIN=$(FIRECRACKER_DIR)/build/kernel/linux-$(KERNEL_FULL_VERSION)/vmlinux-$(KERNEL_FULL_VERSION)-$(host_arch).bin

RUNC_DIR=$(SUBMODULES)/runc
Expand Down Expand Up @@ -190,7 +190,7 @@ test-images: test-images-stamp
test-images-stamp: | image firecracker-containerd-test-image
touch $@

firecracker-containerd-test-image: all-in-docker firecracker runc test-cni-bins cni-bins default-vmlinux
firecracker-containerd-test-image: all-in-docker firecracker runc test-cni-bins cni-bins default-vmlinux kernel
DOCKER_BUILDKIT=1 docker build \
--progress=plain \
--file tools/docker/Dockerfile.integ-test \
Expand Down
2 changes: 1 addition & 1 deletion tools/docker/Dockerfile.integ-test
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ RUN --mount=type=bind,target=/src make -C /src \
install \
install-firecracker \
install-runc \
install-default-vmlinux \
install-kernel \
install-default-rootfs \
install-default-runc-jailer-config \
install-test-cni-bins \
Expand Down
1 change: 1 addition & 0 deletions tools/kernel-configs/microvm-kernel-aarch64-4.14.config
Original file line number Diff line number Diff line change
Expand Up @@ -1123,6 +1123,7 @@ CONFIG_VIRTIO_BLK=y
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_SRAM is not set
# CONFIG_C2PORT is not set
# CONFIG_R3964 is not set

#
# EEPROM support
Expand Down
7 changes: 5 additions & 2 deletions tools/kernel-configs/microvm-kernel-x86_64-4.14.config
Original file line number Diff line number Diff line change
Expand Up @@ -1208,6 +1208,7 @@ CONFIG_VIRTIO_BLK=y
# CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_SRAM is not set
# CONFIG_C2PORT is not set
# CONFIG_R3964 is not set

#
# EEPROM support
Expand Down Expand Up @@ -2077,6 +2078,7 @@ CONFIG_DEBUG_KERNEL=y
# CONFIG_SLUB_STATS is not set
CONFIG_HAVE_DEBUG_KMEMLEAK=y
# CONFIG_DEBUG_KMEMLEAK is not set
# CONFIG_KMEMCHECK is not set
# CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_VM is not set
CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y
Expand Down Expand Up @@ -2225,8 +2227,8 @@ CONFIG_OPTIMIZE_INLINING=y
# CONFIG_DEBUG_ENTRY is not set
# CONFIG_DEBUG_NMI_SELFTEST is not set
# CONFIG_X86_DEBUG_FPU is not set
# CONFIG_UNWINDER_ORC is not set
CONFIG_UNWINDER_FRAME_POINTER=y
# CONFIG_ORC_UNWINDER is not set
CONFIG_FRAME_POINTER_UNWINDER=y

#
# Security options
Expand Down Expand Up @@ -2394,6 +2396,7 @@ CONFIG_CRYPTO_AES_TI=y
# CONFIG_CRYPTO_FCRYPT is not set
# CONFIG_CRYPTO_KHAZAD is not set
# CONFIG_CRYPTO_SALSA20 is not set
# CONFIG_CRYPTO_SALSA20_X86_64 is not set
# CONFIG_CRYPTO_CHACHA20 is not set
# CONFIG_CRYPTO_CHACHA20_X86_64 is not set
# CONFIG_CRYPTO_SEED is not set
Expand Down

0 comments on commit 75bc05d

Please sign in to comment.